ich habe mich mal an C++ gewagt habe mich an ein erstes Spiel gecodet.
Es klappt auch fast alles, aber mir fällt folgendes auf.
7 soll die Zahl sein, bei der die Meldung "Richtig" erscheinen soll.
NUR (!) bei der 7.
Wenn ich allerdings eine Zahl > 7 eingebe und darauffolgend eine Zahl < 7 eingebe, kommt trotzdem die "Richtig" Meldung, was nicht sein sollte/dürfte.
C-Quellcode
- #include <cstdlib>
- #include <iostream>
- using namespace std;
- int main(int argc, char *argv[])
- {
- cout << "Hallo! "; //Begrüßung Anfang
- cout << "Ich will mit dir ein Spiel spielen." << endl;
- cout << "Ich denke mir eine Zahl zwischen 1 und 10. " << endl;
- cout << "Du musst herauszufinden, welche Zahl ich mir gedacht habe." << endl;
- cout << "Los geht's! Du hast 11 Versuche! *grins*" << endl; //Begrüßung Ende
- cout << "" << endl; //Leere Zeile
- cout << "(c) by Andreas Schmidt" << endl;
- cout << "" << endl; //Leere Zeile
- int zahl = 7;
- cout << "Welche Zahl habe ich mir gedacht? ";
- cin >> zahl;
- while(zahl < 7) //zahl ungleich 7
- {
- cout << "" << endl; //leere zeile
- cout << "Das ist leider nicht richtig. Meine Zahl ist gr\224\341er. " << endl; //meldung
- cout << "Versuch' es nochmal. Gib eine Zahl ein: ";
- cin >> zahl; //neue zahl
- }
- while(zahl > 7) //zahl ungleich 7
- {
- cout << "" << endl; //leere zeile
- cout << "Das ist leider nicht richtig. Meine Zahl ist kleiner. " << endl; //meldung
- cout << "Versuch' es nochmal. Gib eine Zahl ein: ";
- cin >> zahl; //neue zahl
- }
- if(zahl == 7); //zahl gleich 7
- {
- cout << "" << endl; //leere zeile
- cout << "Richtig! " << endl; //lob
- cout << "" << endl; //leere zeile
- system("PAUSE"); //schließen
- return EXIT_SUCCESS;
- }
- }
Bei diesem Code hält es sich bisschen länger.
Ich gebe eine Zahl < 7 ein, dann eine Zahl > 7 und dann nochmal eine Zahl < 7.
Dann erscheint trotzdem die "Richtig" Meldung.
C-Quellcode
- #include <cstdlib>
- #include <iostream>
- using namespace std;
- int main(int argc, char *argv[])
- {
- cout << "Hallo! "; //Begrüßung Anfang
- cout << "Ich will mit dir ein Spiel spielen." << endl;
- cout << "Ich denke mir eine Zahl zwischen 1 und 10. " << endl;
- cout << "Du musst herauszufinden, welche Zahl ich mir gedacht habe." << endl;
- cout << "Los geht's! Du hast 11 Versuche! *grins*" << endl; //Begrüßung Ende
- cout << "" << endl; //Leere Zeile
- cout << "(c) by Andreas Schmidt" << endl;
- cout << "" << endl; //Leere Zeile
- int zahl = 7;
- cout << "Welche Zahl habe ich mir gedacht? ";
- cin >> zahl;
- do //zahl ungleich 7
- {
- cout << "" << endl; //leere zeile
- cout << "Das ist leider nicht richtig. Meine Zahl ist gr\224\341er. " << endl; //meldung
- cout << "Versuch' es nochmal. Gib eine Zahl ein: ";
- cin >> zahl; //neue zahl
- } while(zahl < 7);
- do //zahl ungleich 7
- {
- cout << "" << endl; //leere zeile
- cout << "Das ist leider nicht richtig. Meine Zahl ist kleiner. " << endl; //meldung
- cout << "Versuch' es nochmal. Gib eine Zahl ein: ";
- cin >> zahl; //neue zahl
- } while(zahl > 7);
- if(zahl == 7); //zahl gleich 7
- {
- cout << "" << endl; //leere zeile
- cout << "Richtig! " << endl; //lob
- cout << "" << endl; //leere zeile
- system("PAUSE"); //schließen
- return EXIT_SUCCESS;
- }
- }
Weiß jemand was ich falsch mache und wie ich es ausbessern kann?
mfg
Underkane
//Edit:
Wenn ich 7 gleich am Anfang eingebe, bekomme ich trotzdem eine "Falsch" Meldung.
Und ich wüsste gerne, wie ich eine Zahl zwischen 1 und 10 automatisch (zufällig) generieren lasse, damit sie sich jedes mal ändert.