komme nicht weiter
-
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.{ char ch=0; do { {while (ch == 'n' || ch == 'N'); cout<<"dein name ist ?"; 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
-
while (ch == 'n' || ch == 'N');Wenn ch == 'n' hängst du da für immer fest, denn da steht etwas ausführlicher:
while (ch == 'n' || ch == 'N') { // nichts }
-
meinst du jetzt weil ich das ';' hinter der while schleife gemacht habe ??
wenn ich das weglasse dann fragt er mich nicht ,cout<<"dein name ist ?";sonder er macht weiter mit :
cin.get (noname,30);da habe ich auch lange probiert bis es endlich geklappt hat
-
Genau, das Semicolon hat in Zeile 8 nix zu suchen.
Du musst den Fehler woanders suchen.
-
Vielleicht solltest du die { vor dem while noch mal überdenken.
-
Schau dir einfach nochmal genau an was du da eigentlich gemachts hast. Du hast da 2 Schleifen, eine
do{} while(ch != 'j' && ch != 'J');und darin einewhile (ch == 'n' || ch == 'N'){}. Was du eigentlich machen wolltest istdo { NameEingeben(); NameBestätigen(); }while(!NameWurdeBestätigt());
-
mein quellcode sieht jetzt so aus
void name2 () { char ch=0; do { while (ch == 'n' || ch == 'N') //mein fehler war das while nicht VOR { { 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'); }ABER ich kann trotz alldem kann ich so wie er jetzt da steht KEINE eingabe mehr machen aber wenn ich in zeile 8 das Semicolon mache kann ich wenigstens wieder mein name eingebn aber nein kann ich immer noch net sagen
-
Die Frage ist die gleiche wie im letzten Thread und wurde dort schon 2x beantwortet. Lies die Antworten und verschwende nicht unsere Zeit. Außerdem ist der Threadtitel, mal wieder, völlig unpassend. Lies dir auch dies durch:
http://www.c-plusplus.net/forum/200753
http://www.tty1.net/smart-questions_de.html
(Ich glaube das wurde dir auch schon mehrmals gesagt)