Neulingsfrage zu einer webaufgabe
-
Ich bin dabei C++ zu lernen und habe mich an den Übungsaufgaben auf http://www.cplusplus.com/forum/articles/12974/ versucht, ich hänge nun an der Aufgabe While( user == gullible ). In dieser soll man einen Code schreiben der den Benutzer Auffordert irgendeine andere Zahl als 5 einzugeben, dies habe ich auch geschafft. Anschliessend soll man den Code so umformulieren dass er nach 10 versuchen abbricht. Wenn ich meinen Code nun Kompiliere erscheint zwar keine Fehlermeldung aber das Programm bricht nicht nach 10 versuchen ab. Ich konnte den Fehler allerdings nicht finden

code:#include <iostream> using namespace std; int main(void) { int auswahl = 42; int i = 0; while ( i <= 10 ) { i = i + 1; while (auswahl != 5) { cout << "Please enter any number other than 5 \n"; cin >> auswahl; } if ( auswahl == 5 ) { cout << "Hey, you weren't supposed to enter 5!!!" << endl; } } if ( i >= 10) { cout << "Wow, you're more patient than i am, you win. \n"; } cin.sync(); cin.get(); return 0; }schonmal danke,
v0xpection
-
In Zeile 11 geht eine Klammer auf die ich nicht verstehe.
Das while in Zeile 15 soll bestimmt ein if sein.
-
Die Klammer in Zeile 11 gehört zu der while schleife die verhindern soll dass das Programm öfters als 10 mal durchlaüft.
Und das while in Zeile 15 soll auch ein while sein da das Programm ja immer wieder durchlaufen soll.
-
v0xpection schrieb:
Die Klammer in Zeile 11 gehört zu der while schleife die verhindern soll dass das Programm öfters als 10 mal durchlaüft.
Und das while in Zeile 15 soll auch ein while sein da das Programm ja immer wieder durchlaufen soll.Ich nehme mal an, die 10 Durchläufe sollen sollen sich auf das "Please enter any number other than 5" beziehen, oder? Dann muss das natürlich auch dort geprüft werden und der Zähler ebenfalls dort erhöht werden. Oder einfacher: Die innere Schleife weglassen:
#include <iostream> using namespace std; int main(void) { int auswahl = 42; int i = 0; while ( i <= 10 && auswahl != 5) { i = i + 1; cout << "Please enter any number other than 5 \n"; cin >> auswahl; if ( auswahl == 5 ) { cout << "Hey, you weren't supposed to enter 5!!!" << endl; } } if ( i >= 10) { cout << "Wow, you're more patient than i am, you win. \n"; } return 0; }
-
Danke, jetzt hat es funktioniert.
