Problem: Ineinander verschaltete schleifen
-
Und wieder eine Anfängerfrage...
Ich wollte ein Beispielprogramm aus einem Buch so modifizieren, dass er zwei beenden- bzw. fortsetzenoptionen anbietet. Ich baue aber leider nur Mist.
Hier ein Versuch.#include <cstdlib> #include <iostream> #include <ctime> using namespace std; int main() { //randomizer srand(time(0)); int dieZahl = rand() %100 +1; //randomizer END int versuche = 0, guess; char wahl = 'j'; cout << "Tja, tipp ne Zahl ein, die der Rechner vorbestimmt hat." << endl; cout << "Oder, wenn du das nicht spielen willst, tipp einfach 'n' ein." << endl; cout << "Wenn doch, tipp 'j' ein.\n" << endl; cin >> wahl; while (wahl == 'j'); { do { cin >> guess; ++versuche; if (guess > dieZahl) cout << "\nZu hoch, versuchs nomma.\n" << endl; if (guess < dieZahl) cout << "\nZu niedrig, versuchs nomma.\n" << endl; } while (guess != dieZahl); cout << "\nRichtig! du hast es in " << versuche << " Versuchen geschafft.\n" << endl; cout << "Willst du wieder spielen? j/n" << endl; } system("PAUSE"); return EXIT_SUCCESS; }Danke im Vorraus.
-
1. Was ist das Problem?
2. Ist es nicht sinnlos immer wieder dieselbe Zahl raten zu lassen?
-
Alles in Ordnung, ich habs geschafft.
Hier nochmal das Endergebniss:
#include <cstdlib> #include <iostream> #include <ctime> using namespace std; int main() { //randomizer srand(time(0)); int dieZahl = rand() %100 +1; //randomizer END int versuche = 0, guess; char wahl = 'j'; char wahl1 = 'j'; cout << "Tja, tipp ne Zahl ein, die der Rechner vorbestimmt hat." << endl; cout << "Oder, wenn du das nicht spielen willst, tipp einfach 'n' ein." << endl; cout << "Wenn doch, tipp 'j' ein.\n" << endl; cin >> wahl; if (wahl == 'j') { do //äussere Schleife Anfang { do //innere Schleife IO { cout << "OK, dann rate mal." << endl; cin >> guess; ++versuche; if (guess > dieZahl) cout << "\nZu hoch, versuchs nomma.\n" << endl; if (guess < dieZahl) cout << "\nZu niedrig, versuchs nomma.\n" << endl; } while (guess != dieZahl); //innere Schleife END cout << "\nRichtig! du hast es in " << versuche << " Versuchen geschafft.\n" << endl; cout << "Willst du wieder spielen? j/n" << endl; cin >> wahl1; } while (wahl1 != 'n'); //äussere Schleife ENDE } else system("PAUSE"); return EXIT_SUCCESS; }