If Verzweigungen
-
Ich habe ein Problem bei einem einfachen IF Programm.
Es soll mir prüfen, ob der vorherige Wert größer oder kleiner als der jetzig eingegebene Wert ist.
Jedoch springt mir die If Einweisung immer durch, egal ob der nachher eingegebene Wert größer oder kleiner ist.
Auszug C++ 21Tage
#include <iostream.h> int main(){ int redsoxscore,yankeesscore; int redsoxscore2,yankeesscore2; // BSP.:Erster Stand : 5 - 5 bei Gleichstand // Hinterher Eingabe : 4 --> zu kleiner wert // Praktisch : 5 - 5 ist nicht gleich 4 - 5 cout << "Geben Sie den Punktestand der Redsox ein: "; cin >> redsoxscore; cout << "\nGeben Sie den Punktestand der Yankees ein: "; cin >> yankeesscore; cout << "\n"; if ( redsoxscore > yankeesscore) cout << "Vorwaerts Sox!\n"; if ( redsoxscore < yankeesscore){ cout << "Vorwaerts Yankees!\n"; } if (redsoxscore == yankeesscore){ cout << "Ein Gleichstand? Nein, niemals. \n"; cout << "\nGeben sie den Punktestand der Yankees ein: "; cin >> yankeesscore2; // springt ab hier immer durch if(redsoxscore2 || yankeesscore2 > redsoxscore || redsoxscore){ return 0 ; } if (redsoxscore2 > yankeesscore2) cout << "ich wusste es! vorwaerts sox!\n"; if (yankeesscore2 > redsoxscore2) cout << "ichwusste es! vrwaerst yankees!\n"; if (yankeesscore2 == redsoxscore2) cout << "wow, gleichstand"; } cout << "\nDanke für dei nachricht!"; system("pause"); return 0; }
-
Hallo,
Was soll denn diese zeile bewirken?
if(redsoxscore2 || yankeesscore2 > redsoxscore || redsoxscore) return 0;Jetzt macht sie folgendes:
Wenn (redsoxscore2 != 0) oder (yankeesscore2 > redsoxscore) oder (redsoxscore != 0) dann return 0;
Kannst du deine Einrückungen mal etwas übersichtlicher gestalten. Man sieht hier die Klammerebenen schlecht.
-
if ((redsoxscore2 > yankeesscore2 ? redsoxscore2 : yankeesscore2) > (redsoxscore < redsoxscore ? redsoxscore : redsoxscore))