noli88 Geschrieben 29. Oktober 2004 Geschrieben 29. Oktober 2004 hy! Ich will ein Zahlenspiel erstellen, das wie folgt funktionieren sollte: Geben sie eine Zahl ein: Geben sie eine Zahl die kleiner ist: Wenn die 2te Zahl kleiner ist, sollte "Danke schön" stehn, und das Programm ausschalten, wenn die 2te Zahl grösser ist sollte eine meldung erscheinen die einen auffordert es erneut zu versuchen.. PROBLEM: Solang ich die 2te Zahl grösser eingebe, funktioniert alles. wenn ich aber schon beim ersten mal alles richtig mache und die 2te zahl kleiner ist, hört das programm nicht auf, sondern setzt mit der meldung fort. So hab ich das Programm geschrieben: #include <iostream> using namespace std; #include <conio.h> int main() { int firstNumber, secondNumber; cout << "Bitte geben sie eine Zahl ein: "; cin >> firstNumber; cout << "Bitte geben sie eine Zahl ein, die kleiner ist als die vorige: "; cin >> secondNumber; if (firstNumber > secondNumber) cout << "Danke schoen!"; else cout << "Die zweite Nummer ist groesser als die erste, versuchen sie es nochmal!"; cout << "\nBitte geben sie eine Zahl ein: "; cin >> firstNumber; cout << "Bitte geben sie eine Zahl ein, die kleiner ist als die vorige: "; cin >> secondNumber; if (firstNumber > secondNumber) cout << "Danke schoen!"; else cout << "Die zweite Nummer ist wieder groesser als die erste, versuchen sie es nochmal!"; cout << "\nBitte geben sie eine Zahl ein: "; cin >> firstNumber; cout << "Bitte geben sie eine Zahl ein, die kleiner ist als die vorige: "; cin >> secondNumber; if (firstNumber > secondNumber) cout << "Danke schoen!"; else cout << "Die zweite Nummer ist zum dritten mal groesser als die erste, anscheinend sind \nsie zu unfaehig fuer diese Aufgabe, Auf Wiedersehen!"; getch(); return 0; } Kopiert das in euren compiler und probiert es aus. Mein Ziel wäre es, wie schon gesagt, das es nach der korrekten eingabe abschaltet und nur bei der falschen angabe weitergeht. WAS MACHE ICH FALSCH???? HAT SICH ERLEDIGT DANKE!!! BIN SELBER DRAUFGEKOMMEN Zitieren
Doham Geschrieben 29. Oktober 2004 Geschrieben 29. Oktober 2004 Dir fehlen ein paar { und } ohne geschweifte Klammer wird nur eine Zeile nach dem if und else Statement abgearbeitet. Wenn Du mehr Zeilen nach einem else - Statement abarbeiten willst, dann müssen geschweifte Klammern hin. int main() { int firstNumber, secondNumber; cout << "Bitte geben sie eine Zahl ein: "; cin >> firstNumber; cout << "Bitte geben sie eine Zahl ein, die kleiner ist als die vorige: "; cin >> secondNumber; if (firstNumber > secondNumber) cout << "Danke schoen!"; else { cout << "Die zweite Nummer ist groesser als die erste, versuchen sie es nochmal!"; cout << "\nBitte geben sie eine Zahl ein: "; cin >> firstNumber; cout << "Bitte geben sie eine Zahl ein, die kleiner ist als die vorige: "; cin >> secondNumber; if (firstNumber > secondNumber) cout << "Danke schoen!"; else { cout << "Die zweite Nummer ist wieder groesser als die erste, versuchen sie es nochmal!"; cout << "\nBitte geben sie eine Zahl ein: "; cin >> firstNumber; cout << "Bitte geben sie eine Zahl ein, die kleiner ist als die vorige: "; cin >> secondNumber; if (firstNumber > secondNumber) cout << "Danke schoen!"; else cout << "Die zweite Nummer ist zum dritten mal groesser als die erste, anscheinend sind \nsie zu unfaehig fuer diese Aufgabe, Auf Wiedersehen!"; } } getch(); } [/PHP] btw. dein Code schreit nach einer Optimierung. Z.B. Schleifen um mehrmals die Eingabe zu fordern. Code einrücken schafft bessere Lesbarkeit Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.