dempsey Geschrieben 2. August 2012 Teilen Geschrieben 2. August 2012 (bearbeitet) Hallo Zusammen, ich muss mich hier ein wenig mit c++ auseinander setzen und ich würde mal behaupten zu wissen, wie eine einfache if / else Abfrage aufgebaut ist aber irgendwie habe bei c++ mit dem else. Es wird komischerweise "immer" ausgeführt und das ist ja nicht der Sinn der Sache. void Entladen(){ cout << "alle fertig? [0/1]" << endl; cin >> option1; if(option1 == 1){ cout << "eins" << endl; }; if(option1 == 0){ cout << "null" << endl; Entladen(); }; if(option1 != 0 && option1 != 1){ cout << "ausweich else" << endl; Entladen(); } else{ cout << "asd" << endl; } }; nicht wundern.. ich habe beim if(option1 != 0 && option1 != 1) mir nur eine else abfrage sozusagen erzeugt um das ganze zu testen. Dennoch wird überall das else (also "asd") mit ausgegeben. Bearbeitet 2. August 2012 von dempsey Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 2. August 2012 Teilen Geschrieben 2. August 2012 Ein else bezieht sich immer nur auf das letzte vorhergehende if. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dempsey Geschrieben 2. August 2012 Autor Teilen Geschrieben 2. August 2012 soll das mit anderen Worten heissen, ich sollte das else in der form weglassen?! ich habs früher mit auf den weg bekommen, dass ich immer ein else drinne haben soll wenn ich eine if abfrage mache Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 2. August 2012 Teilen Geschrieben 2. August 2012 soll das mit anderen Worten heissen, ich sollte das else in der form weglassen?!Nein, es soll heißen, dass das else das Ergebnis der ersten beiden if-Anweisungen ignoriert. Außerdem brauchst du nicht 4 Zweige, wenn du nur 3 Fälle hast. void Entladen(){ cout << "alle fertig? [0/1]" << endl; cin >> option1; if(option1 == 1){ cout << "eins" << endl; } else if(option1 == 0){ cout << "null" << endl; Entladen(); } else { cout << "ausweich else" << endl; Entladen(); } }[/code] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lilith2k3 Geschrieben 2. August 2012 Teilen Geschrieben 2. August 2012 Und K&R erfanden das Switch-Statement ... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 3. August 2012 Teilen Geschrieben 3. August 2012 Ein else bezieht sich immer nur auf das letzte vorhergehende if. Das nennt sich Dangling else Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lilith2k3 Geschrieben 4. August 2012 Teilen Geschrieben 4. August 2012 Das nennt sich Dangling else *g* der wird bauKlötze staunen (*_*) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
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.