Teil C: Auswahlanweisungen if - Anweisung if - else - Anweisung else if - Anweisung switch - Anweisung break - Anweisung */ */ Beispiele if - Anweisung /* Programm b0300602 /* Beispiele if-Anweisung #include <iostream.h> return 0; 03.002.02 03.006.02 if (i) cout << i << " ist ungleich Null\n"; if (i > 0) cout << i << " ist größer als Null\n"; int main(void) { int i = 1; } if - Anweisung if ( Ausdruck ) Anweisung; Allgemeine Syntax: oder Block mit Anweisungen if ( Ausdruck ) { } */ */ Beispiele if - Anweisung /* Programm b0300603 /* Beispiele if-Anweisung return 0; 03.006.01 03.006.03 if (f) cout << f << "ist ungleich Null\n"; if (f < 1.0) cout << f << " ist kleiner als 1\n"; #include <iostream.h> int main(void) { double f = 0.0; } 03 / Teil C / Seite 01 */ */ Beispiele if - Anweisung /* Programm b0300604 /* Beispiele if-Anweisung return 0; if (65 == c) cout << c << " ist gleich A\n"; if (c) cout << c << " ist ungleich \\0\n"; #include <iostream.h> int main(void) { char c = ’A’; } 03.006.04 Wird ausgeführt, falls Ausdruck wahr (d.h. ungleich 0) ist. if - else - Anweisung Allgemeine Syntax: if ( Ausdruck ) Anweisung1; else Anweisung2; Wird ausgeführt, falls Ausdruck falsch (d.h. gleich 0) ist. Statt Anweisung1 bzw. Anweisung2 ist auch ein Block von Anweisungen zulässig, sofern sie mit geschweiften Klammern eingefasst sind. 03.006.06 */ */ Beispiele if - Anweisung /* Programm b0300605 /* Beispiele if-Anweisung #include <iostream.h> } if (i1 < i2) { iTemp = i1; i1 = i2; i2 = iTemp; int main(void) { int i1 = 10, i2 = 20, iTemp; } if - else - Anweisung /* Programm b0300607 */ /* Beispiel if-else-Anweisung */ return 0; 03.006.05 03.006.07 if (i < 0) cout << "Diese Zahl ist negativ.\n"; else cout << "Diese Zahl ist positiv.\n"; cout << "Eine int-Zahl eingeben: "; cin >> i; #include <iostream.h> int main(void) { int i; } 03 / Teil C / Seite 02 if - else - Anweisung /* Programm b0300608 /* Beispiel if-else-Anweisung */ */ if - else - Anweisung /* Programm b0300609 /* Verschachtelte if-else-Anweisung return 0; Was wird ausgegeben? else if - Anweisung /* Programm b0300612 /* Beispiel else if-Anweisung #include <iostream.h> */ */ 03.006.09 03.006.12 0) << i << ": groesser als 0\n"; (i>10) << i << ": groesser als 10\n"; (i>100) << i << ": groesser als 100\n"; Was wird ausgegeben? return 0; if (i > cout else if cout else if cout int main(void) { int i = 13; } */ */ if (i1 < 0) if (i2 < 0) cout << "Beide negativ.\n"; else cout << "Nicht beide negativ.\n"; #include <iostream.h> AusdruckN wahr ist. } #include <iostream.h> if (i < j) { m = i; k = 0; } else { m = j; k = i + j; } return 0; int main(void) { int i1 = 77, i2 = -22; 03.006.08 int main(void) { int i = -2, j = -5, k, m; } Wird ausgeführt, falls Ausdruck1 wahr else if - Anweisung Allgemeine Syntax: Anweisung; if ( Ausdruck1 ) (d.h. ungleich 0) ist. Anweisung1; Wird ausgeführt, falls else if ( Ausdruck2 ) Ausdruck1 falsch und Anweisung2; Ausdruck2 wahr ist. . . . Wird ausgeführt, falls else if ( AusdruckN ) alle vorhergehenden AnweisungN; Ausdrücke falsch sind else Optional, Anweisung wird ausgeführt, falls alle Ausdrücke falsch sind. 03.006.11 03 / Teil C / Seite 03 switch - Anweisung Allgemeine Syntax: Muss einen konstanten Falls Ausdruck gleich ganzzahligen Wert liefern konstante1, Fortsetzung switch ( Ausdruck ) ab Anweisung1 { case konstante1: Anweisung1; case konstante2: Anweisung2; . . . default: Anweisung } Falls Ausdruck gleich konstante2, Fortsetzung Optional, falls Ausdruck ab Anweisung2 ungleich allen konstanten 03.006.14 ist, Fortsetzung ab hier. switch - Anweisung switch - Anweisung /* Programm b0300615 */ /* Beispiel für switch */ 03.006.15 Ausdruck liefert konstanten ganzzahligen Wert. ) { << "zehn\n"; << "elf\n"; << "zwölf\n"; #include <iostream.h> - 10 cout cout cout Ausgabe: return 0; } switch ( i case 0: case 1: case 2: int main(void) { int i = 12; } switch - Anweisung /* Programm b0300617 */ /* Beispiel für switch */ Ausgabe: switch ( i - 10 ) { case 0: cout << "zehn\n"; case 1: cout << "elf\n"; case 2: cout << "zwölf\n"; default: cout << "passt nicht"; } return 0; 03.006.17 Ausdruck liefert konstanten ganzzahligen Wert. /* Programm b0300616 */ /* Beispiel für switch */ } int main(void) { int i = 12; #include <iostream.h> ) { << "zehn\n"; << "elf\n"; << "zwölf\n"; Ausdruck liefert konstanten ganzzahligen Wert. #include <iostream.h> - 10 cout cout cout Ausgabe: return 0; } switch ( i case 0: case 1: case 2: int main(void) { int i = 11; } 03.006.16 03 / Teil C / Seite 04 switch - Anweisung 03.006.18 Ausdruck liefert konstanten ganzzahligen Wert. /* Programm b0300618 */ /* Beispiel für switch */ #include <iostream.h> } return 0; Ausgabe: switch ( i - 10 ) { case 0: cout << "zehn\n"; break; case 1: cout << "elf\n"; break; case 2: cout << "zwölf\n"; break; default: cout << "passt nicht"; int main(void) { int i = 12; } switch - Anweisung break - Anweisung Die break - Anweisung bewirkt, daß die innerste 03.006.19 umgebende switch, for, while oder do - Anweisung sofort verlassen wird. Beispiel: s. Bild 03.006.18 switch - Anweisung */ */ /* Programm b0300620 /* switch - Anweisung */ */ 03.006.23 /* Programm b0300620 /* switch - Anweisung } #include <iostream.h> int main(void) { int monat, tage; cout << "Welcher Monat: "; cin >> monat; switch (monat) { case 2: tage = 28; break; case 4: tage = 30; break; case 6: tage = 30; break; case 9: tage = 30; break; case 11: tage = 30; break; default: tage = 31; } cout << "Tage im Monat: " << tage << endl; return 0; 03.006.20 #include <iostream.h> int main(void) { int monat, tage; cout << "Welcher Monat: "; cin >> monat; switch (monat) { case 2: tage = 28; case 4: tage = 30; case 6: tage = 30; Was wird case 9: tage = 30; case 11: tage = 30; ausgegeben? default: tage = 31; } cout << "Tage im Monat: " << tage << endl; return 0; } 03 / Teil C / Seite 05 */ */ switch - Anweisung /* Programm b0300624 /* switch - Anweisung cout << "Rest: " << r; return 0; 03.006.24 #include <iostream.h> int main(void) { int i, r; cout << "Welche Zahl: "; cin >> i; switch (i - 3 * (i / 3)) { case 0: r = 0; break; case 1: r = 1; break; case 2: r = 2; break; default: cout << "Fehler 17\n"; cout << "Dieser Fehler sollte nicht"; cout << " auftreten.\n"; } 03 / Teil C / Seite 06