1. #1
    Gprb_'s Avatar
    Registered
    06/08/09
    Location
    Brugge
    Posts
    396
    iTrader
    6 (88%)
    Mentioned
    0 Post(s)
    Reputation
    0/2

    [C#] probleempje ?

    Iemand die mij verder kan helpen ?
    Het is de bedoeling van in de ene void een getal in te lezen en via een andere void dat getal om te keren .
    Ik zit momenteel al zo , redelijk dicht denk'k (?) , iemand met een idee ?
    Bij het aangeduide gedeelte zit ik met een fout , iemand raad mee ?

    Code:
    private void GGD() {
          Console.Title = "Grootste gemene deler ";
          Console.Write("Geef een van nul verschillend getal in a.u.b. ...");
          
          int GGDGetal = int.Parse(Console.ReadLine());
    
       Console.Write("De grootste gemene deler van {0} en zijn cijferomkering {1} is {2}", GGDGetal, CijferOmkering(GGDGetal));
          
          
        }
        public void CijferOmkering(int GGDGetal) {
          GGDGetal = int.Parse(Console.ReadLine());
    
          int LaatsteCijfer;
    
          while (GGDGetal > 0) {
            LaatsteCijfer = GGDGetal % 10;
            Console.Write(LaatsteCijfer);
            GGDGetal = (GGDGetal - LaatsteCijfer) / 10;
          }
    Bedankt !
    Last edited by Gprb_; 08-01-2012 at 19:10.
    why the hell you use imageshack
    no votes  

  2. #2
    forloRn_'s Avatar
    Registered
    23/11/03
    Location
    Landeurp
    Posts
    1,791
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    10/17
    Omdat CijferOmkering(GGDGetal) een void is en die kun je nogal moeilijk weergeven. Je moet iets teruggeven uit die functie he vriend.
    no votes  

  3. #3
    Gprb_'s Avatar
    Registered
    06/08/09
    Location
    Brugge
    Posts
    396
    iTrader
    6 (88%)
    Mentioned
    0 Post(s)
    Reputation
    0/2
    Quote Originally Posted by forloRn_ View Post
    This quote is hidden because you are ignoring this member. Show
    Omdat CijferOmkering(GGDGetal) een void is en die kun je nogal moeilijk weergeven. Je moet iets teruggeven uit die functie he vriend.
    Maak ik dan best een class aan voor die cijferomkering ? Want ik snap het niet helemaal
    why the hell you use imageshack
    no votes  

  4. #4
    MAXXUR's Avatar
    Registered
    18/07/03
    Location
    Limburg
    Posts
    3,733
    iTrader
    27 (100%)
    Mentioned
    0 Post(s)
    Reputation
    2/13
    Volgens mij is het de bedoeling da ge als volgt tewerk gaat:
    -declareer uw integer in main-scope
    -geef dan een REFERENTIE door naar beide functies; in de ene leest ge de geheugenplaats voor die referentie in, in de tweede past ge de inhoud wat aan
    -die aanpassingen zijn dan op main-scope evengoed "zichtbaar", en dan print ge ze maar uit

    heel het doel van "void" functies te gebruiken volgens de opgave is immers dat ge gebruik maakt van referenties (pointers)!
    no votes  

  5. #5
    Gprb_'s Avatar
    Registered
    06/08/09
    Location
    Brugge
    Posts
    396
    iTrader
    6 (88%)
    Mentioned
    0 Post(s)
    Reputation
    0/2
    Quote Originally Posted by MAXXUR View Post
    This quote is hidden because you are ignoring this member. Show
    Volgens mij is het de bedoeling da ge als volgt tewerk gaat:
    -declareer uw integer in main-scope
    -geef dan een REFERENTIE door naar beide functies; in de ene leest ge de geheugenplaats voor die referentie in, in de tweede past ge de inhoud wat aan
    -die aanpassingen zijn dan op main-scope evengoed "zichtbaar", en dan print ge ze maar uit

    heel het doel van "void" functies te gebruiken volgens de opgave is immers dat ge gebruik maakt van referenties (pointers)!
    uhu ,iemand die een voorbeeldje kan maken ?
    why the hell you use imageshack
    no votes  

  6. #6
    MAXXUR's Avatar
    Registered
    18/07/03
    Location
    Limburg
    Posts
    3,733
    iTrader
    27 (100%)
    Mentioned
    0 Post(s)
    Reputation
    2/13
    Quote Originally Posted by Gprb_ View Post
    This quote is hidden because you are ignoring this member. Show
    uhu ,iemand die een voorbeeldje kan maken ?
    Ik gaf u alle conceptuele ingrediënten om der zelf aan te beginnen. Het zijn exact zo'n dingen zelf uitzoeken en zelf tot inzicht komen wa u een goede programmeur gaat maken Ik heb in principe al teveel gezegd
    no votes  

  7. #7
    Gprb_'s Avatar
    Registered
    06/08/09
    Location
    Brugge
    Posts
    396
    iTrader
    6 (88%)
    Mentioned
    0 Post(s)
    Reputation
    0/2
    Quote Originally Posted by MAXXUR View Post
    This quote is hidden because you are ignoring this member. Show
    Ik gaf u alle conceptuele ingrediënten om der zelf aan te beginnen. Het zijn exact zo'n dingen zelf uitzoeken en zelf tot inzicht komen wa u een goede programmeur gaat maken Ik heb in principe al teveel gezegd
    Geloof me , ik zoek al een eindje hoor . Nuja , ik vind het toch niet ..
    why the hell you use imageshack
    no votes  

  8. #8
    Gprb_'s Avatar
    Registered
    06/08/09
    Location
    Brugge
    Posts
    396
    iTrader
    6 (88%)
    Mentioned
    0 Post(s)
    Reputation
    0/2
    Ik dacht het wel zo ging lukken , door een aparte class te maken en dan te linken . Maar bij me menukeuze loopt het programma nog niet , nog even zoeken dan , maar volgens mij klopt het nu wel een beetje zeker ?
    Er staat nog andere code boven hoor.
    GGD Method
    Code:
    private void GGD() {
          Cijferomkering CO = new Cijferomkering();
          Console.Title = "Grootste gemene deler ";
          Console.Write("Geef een van nul verschillend getal in a.u.b. ...");
          
          int GGDGetal = int.Parse(Console.ReadLine());
    
          Console.Write("De grootste gemene deler van {0} en zijn cijferomkering {1} is {2}", GGDGetal,CO.CijferOmkering(GGDGetal));
          
          
        }
    Cijferomkering class
    Code:
    namespace VbExamen {
      class Cijferomkering {
        public int CijferOmkering(int GGDGetal) {
          
    
          int LaatsteCijfer=0;
    
          while (GGDGetal > 0) {
            LaatsteCijfer = GGDGetal % 10;
            Console.Write(LaatsteCijfer);
            GGDGetal = (GGDGetal - LaatsteCijfer) / 10;
          }
          return LaatsteCijfer;
        }
      }
    }

    Maar krijg nu nog een Error 2 'CO' is a 'variable' but is used like a 'method'
    Last edited by Gprb_; 08-01-2012 at 20:41. Reason: Misschien gevonden
    why the hell you use imageshack
    no votes  

  9. #9
    tha_rippa1be's Avatar
    Registered
    23/05/03
    Location
    Stavanger
    Posts
    1,837
    iTrader
    10 (100%)
    Mentioned
    0 Post(s)
    Reputation
    1/4
    Quote Originally Posted by Gprb_ View Post
    This quote is hidden because you are ignoring this member. Show
    Ik dacht het wel zo ging lukken , door een aparte class te maken en dan te linken .

    Code:
    private void GGD() {
          Cijferomkering CO = new Cijferomkering();
          Console.Title = "Grootste gemene deler ";
          Console.Write("Geef een van nul verschillend getal in a.u.b. ...");
          
          int GGDGetal = int.Parse(Console.ReadLine());
    
          Console.Write("De grootste gemene deler van {0} en zijn cijferomkering {1} is {2}", GGDGetal,CO(GGDGetal));
          
          
        }
    Maar krijg nu nog een Error 2 'CO' is a 'variable' but is used like a 'method'
    Een duidelijke error boodschap dan dat kunt ge niet krijgen he...

    Dit is de lijn waar ge CO declareert en ineens ook een waarde aan toekent:
    Cijferomkering CO = new Cijferomkering();

    Wat is de inhoud van CO? wat type is dat?
    Het type is "Cijferomkering", een Klasse. De inhoud van CO is een instantie van die klasse.

    Klassen zelf kunnen niet uitgevoerd worden als een functie, maar ze hebben wel methoden die ge kunt uitvoeren.


    Het lijkt mij precies alsof ge geen goed begin hebt gehad in programmeren, precies alsof er stukken ontbreken.
    Bvb, die dingen dat ge omschrijft als voids.. dat zijn functies met als return type void (die returnen dus niets).
    Dan instanties proberen te gebruiken als functies..
    'T is precies alsof ge random wat aant rondspringen zijt in een boek.

    Pak eens een programmeer boek en lees dat van begin tot einde zonder te veel sprongen te maken.

    no votes  

  10. #10
    Gprb_'s Avatar
    Registered
    06/08/09
    Location
    Brugge
    Posts
    396
    iTrader
    6 (88%)
    Mentioned
    0 Post(s)
    Reputation
    0/2
    Quote Originally Posted by tha_rippa1be View Post
    This quote is hidden because you are ignoring this member. Show
    ....
    Ik heb daar een duidelijke reden voor .
    Ik ben afgestudeerd in informaticabeheer , met een leerkracht die we 12 à 15uur per week hadden. Zie je hem al komen ? Die leerkracht ziet ook liever eens iemand anders en ipv dat we zijn 'lievelingetjes' werden , zag hij ons liever niet.
    Naar behoren van les geven , zat hij liever te surfen op het net en youtube filmpjes te bekijken. We 'programmeerden' in vb.net bijna altijd op ons zelf , want zelf kon hij er ook maar amper iets van.
    Met momenten kon hij zelf geen openstaande programma's in de taakbalk vinden (!?)
    Met als gevolg dat we maar van alles kleine beetjes gezien hebben , als het hem uitkwam gaf hij ons bv sorteren(50 min waarvan 10min echte uitleg , die dan nog op niets trok , de les daarna array's , dan weer sorteren en daarna begon hij over iets anders .
    Nuja dit jaar in de hogeschool begonnen aan toegepaste informatica en ik probeer mee te geraken met de kleine beetjes die ik snap en ken van op forums of van in zijn 'lessen'. De lessen in de hogeschool begonnen redelijk snel voor sommige onder ons ( programmeren in c# ) en dat was al ietsje aanpassen want wij kwamen van vb.

    Ik blijf zoeken en voort doen tot ik slaag in TI , want ik wil dat diploma

    Groeten
    why the hell you use imageshack
    no votes  

  11. #11
    tha_rippa1be's Avatar
    Registered
    23/05/03
    Location
    Stavanger
    Posts
    1,837
    iTrader
    10 (100%)
    Mentioned
    0 Post(s)
    Reputation
    1/4
    Daarom dat ik een boek aanraad, dan hebt ge een goede scructuur dat ge kunt volgen.

    Tzijn echt basisdingen die ge nog niet helemaal kent.
    Als ge zelfs de eerset paar hoofdstukken leest van een basis boek gaan er al veel van de antwoorden van deze therad duidelijker zijn.
    Ik denk dan vooral aan de comment van forloRn_ en u vraag die daarop volgde.

    Er kan u hier na veel uitleggen een oplossing gegeven worden op de vraag die ge had in u beginpost maar ik denk dat ge meer nut gaat hebben aan u basiskennis bij te vullen.


    Ik ben u niet aant uitlachen of ik weet ni wat he, dit is echt het geen waarvan ik denk dat ge het meeste door geholpen gaat worden int algemeen, niet enkel voor deze specifieke vraag.

    no votes  

  12. #12
    Dieterg's Avatar
    Registered
    08/01/05
    Location
    Turnhout
    Posts
    1,182
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    9/9
    Pffff, na een semester C# nog met zo'n vragen afkomen?

    Probeer in een methode nooit iets te printen of iets dergelijke. Probeer te werken met een return statement.

    Hoe ik het zou doen is een methode aanmaken bv:

    Code:
    private static int DraaiOm(int g)
    {
        
    }
    In deze methode gaan we het getal omdraaien. Dit doen kan je doen door eerst het getal om te zetten naar een string. Als het in een string staat kun je makkelijk via substring de waarde omkeren via een for-loop.

    Code:
    string getalString = g.ToString();
    string getalOmgedraaid ="";
    
    for (int i = getalString.Length - 1; i >= 0; i--)
    {
            getalOmgedraaid += getalString.Substring(i,1);
    }
    Het enige wat je nu nog moet doen is het omgedraaide getal returnen als een integer. Dit doe je dan weer door de string te casten naar een int.

    Code:
    return int.Parse(getalOmgedraaid);
    In je main blok kan je nu die methode aanroepen en de returnwaarde in een integer stoppen..

    Code:
    int omgedraaidGetal = DraaiOm(getal);
    
    Console.WriteLine("Getal {0} omgedraaid is: {1}", getal, omgedraaidGetal);
    -
    no votes  

  13. #13
    MAXXUR's Avatar
    Registered
    18/07/03
    Location
    Limburg
    Posts
    3,733
    iTrader
    27 (100%)
    Mentioned
    0 Post(s)
    Reputation
    2/13
    Quote Originally Posted by Mam View Post
    This quote is hidden because you are ignoring this member. Show
    Probeer te werken met een return statement.
    Heel het punt van de opgave: gebruik void-functies :')


    pointers verdomme!
    no votes  

  14. #14
    TooChé's Avatar
    Registered
    06/11/02
    Location
    Waarmaarde
    Posts
    8,996
    iTrader
    71 (100%)
    Mentioned
    7 Post(s)
    Reputation
    1/415
    zoek es op:

    out variable
    no votes  

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Log in

Log in