Mehr Möglichkeiten: else if
Mit if und else wählt ein Programm zwischen zwei Möglichkeiten. Oft gibt es mehr. Ein Fußballspiel zum Beispiel endet auf eine von drei Arten: Die Heimmannschaft gewinnt, die Gastmannschaft gewinnt, oder es steht unentschieden. Für mehr Möglichkeiten fügst du else if-Zweige hinzu, jeden mit einer eigenen Bedingung:
int heim_tore = 3;
int gast_tore = 2;
if (heim_tore > gast_tore) {
printf("Die Heimmannschaft hat gewonnen!\n");
} else if (heim_tore < gast_tore) {
printf("Die Gastmannschaft hat gewonnen!\n");
} else {
printf("Unentschieden!\n");
}Das gibt Folgendes aus:
Die Heimmannschaft hat gewonnen!Das Programm prüft die Bedingungen von oben nach unten und führt den Block der ersten wahren aus. Die übrigen Zweige überspringt es, auch wenn einige der späteren Bedingungen ebenfalls wahr sind. Nur wenn keine Bedingung wahr ist, wird der else-Block ausgeführt. Du kannst so viele else if-Zweige hinzufügen, wie du brauchst, immer zwischen dem if und dem else. Das else am Ende ist optional: Ohne es wird nichts ausgeführt, wenn keine Bedingung wahr ist.
Weil die erste wahre Bedingung gewinnt, kommt es auf die Reihenfolge der Bedingungen an:
int punkte = 95;
if (punkte >= 50) {
printf("Bestanden\n");
} else if (punkte >= 90) {
printf("Ausgezeichnet\n");
}Das gibt Folgendes aus:
Bestanden95 Punkte sind ein ausgezeichnetes Ergebnis, aber die erste Bedingung, punkte >= 50, ist schon wahr, also kommt das Programm nie zur zweiten. Der Zweig, der Ausgezeichnet ausgibt, wird hier nie ausgeführt, denn jede Zahl, die mindestens 90 ist, ist auch mindestens 50. Setze die strengere Bedingung nach vorn: punkte >= 90, dann punkte >= 50.
So schreibst du es:
Anweisungen
- 1
15 °C ist kein Wetter für einen Wintermantel. Füge zwischen dem
if-Block und demelseeinenelse if-Zweig mit der Bedingungtemperatur > 10hinzu, derZieh eine Jacke anausgibt. - 2
Füge einen weiteren
else if-Zweig mit der Bedingungtemperatur > 18hinzu, derZieh einen Pullover anausgibt, und änderetemperaturin20. Das Programm sollZieh einen Pullover anausgeben. Wenn esZieh eine Jacke anausgibt, steht die Bedingungtemperatur > 10zuerst und fängt auch 20 Grad ab: Verschiebe den neuen Zweig nach oben.