tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
5
ZUGRIFFE
333
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    zorro2711 zorro2711 ist offline Mitglied
    Registriert seit
    Dec 2011
    Beiträge
    12
    Guten Morgen und einen schönen 4. advend.

    Ich habe ein Menü wo ich verschieden knotenpunkte habe und in einem knotenpunkt ist ein punkt wo ich mein name eingeben kann.
    den name kann ich eingeben.
    dann fragt er mich ab es auch mein name ist. (wegen tippfehler uns so )
    und ich soll 'j' oder 'n' eingeben.
    wen ich 'j' soll ich wieder zurück ins menü, was ja klappt.
    und wenn ich 'n' eingebe soll er wieder die schleife ausfühen, so das ich den name noch mal eingeben kann.

    so nun der fehler:
    name eingebn
    er stimmt nicht
    ich gebe 'n' ein
    und erbleibt einfach stehn ohne das ich was eingeben kann.
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    
    void name2 () 
    { 
         char ch=0; 
     
        do 
        { 
     
        while (ch == 'n' || ch == 'N')     { 
     
        cout<<"Wie lautet dein Name?"; 
        cin.get (noname,30); 
        cout<<"ist dein name "<<noname<< " ?  \n <J>a oder <N>nein"<<endl; 
          
        cin.get(ch); 
    cin.get(ch); // damit die eingabe forderung umgangen wird (\n oder endl) 
        cin.clear(); 
        } 
        
     
     
        }while (ch != 'j' && ch != 'J'); 
     
     
     
    }
    und ich habe jetzt wirklich lange experimentiert und versucht aber es kommt ja KEINE fehlermeldung und/oder wahrnmeldung so das ich nicht weiß was ich falsch gemacht habe
    also meine frage was ab ich da falsch gemacht oder was kann ich ändern
     

  2. #2
    XTicTacX XTicTacX ist offline Mitglied
    Registriert seit
    Dec 2011
    Beiträge
    10
    Hey und schönen 4.Advent

    Ehm...ich finde, dass das ein bisschen zu doppel gemoppelt ist
    Schreib es einfach so wie folgt anstatt mit der weiteren inneren while-Schleife:

    Code cpp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    
    void name2 () 
    { 
         char ch=0; 
     
        do 
        { 
     
        cout<<"Wie lautet dein Name?"; 
        cin.get (noname,30); 
        cout<<"ist dein name "<<noname<< " ?  \n <J>a oder <N>nein"<<endl; 
          
        cin.get(ch);   
        cin.clear();
       
        }while (ch != 'j' && ch != 'J');  
     
     
     
     
    }

    Ich denke jetzt müsste es klappen. Versuch es mal
    Geändert von XTicTacX (18.12.11 um 12:47 Uhr)
     
    Gebe niemals auf und überarbeite deinen Code immer und immer wieder ;) - C++ das ganze Leben lang :)

  3. #3
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.501
    Hi

    also, wenn das wirklich so im Programm steht, kann man den Namen überhaupt nicht eingeben.
    Außer eventuell durch grausige Pointerfehler anderswo...

    Du hast die Schleifen einfach falsch angewendet.

    Besser so:
    Code cpp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    void name2 () 
    { 
        char ch = 0; 
        do 
        { 
            cout<<"Wie lautet dein Name?"; 
            cin.get (noname,30); 
            cout<<"ist dein name "<<noname<< " ?  \n <J>a oder <N>nein"<<endl; 
            cin.get(ch); 
            cin.get(ch); // damit die eingabe forderung umgangen wird (\n oder endl) 
            cin.clear(); 
        }while (ch != 'j' && ch != 'J'); 
    }

    Gruß

    xtictacx: Warst zwar schneller, aber das && ist schon richtig
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  4. #4
    XTicTacX XTicTacX ist offline Mitglied
    Registriert seit
    Dec 2011
    Beiträge
    10
    Zitat Zitat von sheel Beitrag anzeigen

    xtictacx: Warst zwar schneller, aber das && ist schon richtig
    Ok Ich editiere dass mal
     
    Gebe niemals auf und überarbeite deinen Code immer und immer wieder ;) - C++ das ganze Leben lang :)

  5. #5
    zorro2711 zorro2711 ist offline Mitglied
    Registriert seit
    Dec 2011
    Beiträge
    12
    ah ok das war also ein denk fehler meinerseits
    so jetzt geändert und es klappt
    aber @XTicTacX wenn ich in deinem beispiel ein || mache komme ich nicht aus der schleife raus
    aber trotzdem danke
     

  6. #6
    XTicTacX XTicTacX ist offline Mitglied
    Registriert seit
    Dec 2011
    Beiträge
    10
    Zitat Zitat von zorro2711 Beitrag anzeigen
    @XTicTacX wenn ich in deinem beispiel ein || mache komme ich nicht aus der schleife raus
    aber trotzdem danke
    Ja bitte Das war ein Denkfehler auf meiner Seite
     
    Gebe niemals auf und überarbeite deinen Code immer und immer wieder ;) - C++ das ganze Leben lang :)

Ähnliche Themen

  1. Mysql Update macht nichts
    Von Pascal Jakoby im Forum PHP
    Antworten: 9
    Letzter Beitrag: 10.10.11, 21:30
  2. mod_rewrite macht nichts?!
    Von cofter im Forum Hosting & Webserver
    Antworten: 12
    Letzter Beitrag: 01.04.08, 16:08
  3. Antworten: 0
    Letzter Beitrag: 11.09.07, 11:07
  4. pereg_replace / preg_match macht nichts
    Von Microhome im Forum PHP
    Antworten: 2
    Letzter Beitrag: 21.08.07, 15:26
  5. kleines Firefox ok - IE macht nichts Problem
    Von benchmark im Forum Javascript & Ajax
    Antworten: 10
    Letzter Beitrag: 16.08.07, 04:47