unlogisch doppelte abfrage
-
Hallo, wenn ich in der if schleife die bedingung der versuche weglasse funzt es plötzlich net mehr u gibt ne fehlermeldung (siehe Zeile 3 und 5, so funzt es aber ich versteh nicht warum hier versuche-abfrage rein muss da ja bereits in for schleife definiert)
for (Versuche = 1; Versuche <= max_versuche; Versuche++) { if ((Versuche > 1) && number > random_number) cout <<"Die erratene Zahl ist groesser als die gesuchte!"<<endl; else if ((Versuche > 1) && number < random_number) cout<<"Die erratene Zahl ist kleiner als die gesuchte!"<<endl; cout<<random_number<<endl; cout<<"Versuche "<<Versuche<< endl; cout<<"Wie lautet dein Tipp?"<<endl; cin>> number; if (number == random_number) break; }rein logisch würd ichs aber eher so schreiben (siehe Zeile 6 und 8, so würd ichs rein logisch schreiben, ohne doppelte bedingungsangabe von "versuche"):
for (Versuche = 1; Versuche <= max_versuche; Versuche++) { cout<<"Versuche "<<Versuche<< endl; cout<<"Wie lautet dein Tipp?"<<endl; cin>> number; if (number > random_number) cout << "Die erratene Zahl ist groesser als die gesuchte!" << else if (number < random_number) cout << "Die erratene Zahl ist kleiner als die gesuchte!" << else if (number == random_number) break; } cout<<random_number<<endl;wieso funzt es nur wenn ich auch in der if schleife versuche nochmal abfrage?
-
-
Problem bei der if-Schleife
-
was sollen das denn für antworten sein ?!
kein stück hilfreich u doch etwas überflüssig
-
Du willst Hilfe.
Zumindest wir beide haben nicht verstanden was du da für Probleme hast.Erklär nochmal was du machen willst, was du erwartest und was passiert.
Und benutze bitte die Code-Tags. Ist nicht schwer. Code markieren und auf den C++ Button unter den
:p klicken.
-
so hab meinen beitrag wie gewünscht editiert
problem ist, es funktioniert nur wenn ich auch in den if-abfragen schreibe
if (versuche>1)diese variuable hab ich aber bereits in der for-schleife initiiert mit 1, deklariert das for schleife durchlaufen wird solang dieser wert <=max_versuche u nach durchlauf der forschleife um 1 incrementiert wird.
also warum MUSS ich damit es funktioniert in der if-Abfrage den Versuche-Wert einbinden?
-
Musst Du nicht!
-
also hatt ich schon richtig gedacht.
aber wieso funzt es nicht wenn ich diese if-abfrage weglasse?
-
Das kriegen wir vielleicht raus, wenn Du mal näher erläuterst, was 'es funzt nicht' genau bedeutet. Du schreibst in Deinem ersten Post was von einer Fehlermeldung ... sollen wir die erraten?
Was passiert? Lässt sich das Programm nicht kompilieren? Falls ja, wie lautet die Fehlermeldung?
Lässt es sich kompilieren, läuft aber nicht wie gewünscht? Was genau macht es?
-
Was sollen denn die << am Ende der Zeilen 7 und 9?
Das
if (number == random_number)brauchst du nicht mehr. Das die Zahlen gleich sind, ist an der Stelle klar. Das ist gar nicht anders möglich.
-
Im ersten Durchlauf ist Versuche == 1, d.h. Veruche >1 trifft nicht zu. Mit dem Test verhält sich die Abfrage also anders.
-
so soll die abfrage ja auch funktionieren, er braucht ja vor ersteingabe nix zu vergleichen...
die >> waren abschließend zum cout befehlund die fehlermeldung is inzwischen auch behoben, vielen dank also für die rege beteiligung, hier hatte sich nur nen bezeichnungsfehler eingeschlossen