switch-Anweisung

Wenn eine Auswahl aus mehreren Varianten möglich ist, kann anstelle der if-Verzweigung die switch-Anweisung verwendet werden. Es handelt sich hierbei um eine Mehrfachauswahl.

Beispiel Wochentag

Der einer Zahl zwischen 0 und 6 entsprechende Wochentag soll ausgegeben werden. (0…Montag, 1…Dienstag, usw.)

int wotag;
cout << "Wochentag. Zahl zwischen 0 und 6 eingeben: ";
cin >> wotag;
 
switch (wotag)
  {
  case 0: cout << "Montag\n"; break;
  case 1: cout << "Dienstag\n"; break;
  case 2: cout << "Mittwoch\n"; break;
  case 3: cout << "Donnerstag\n"; break;
  case 4: cout << "Freitag\n"; break;
  case 5: cout << "Samstag\n"; break;
  case 6: cout << "Sonntag\n"; break;
  default: cout << "Falsche Zahl eingegeben!";
  }

Bei der Ausführung der switch-Anweisung wird der aktuelle Wert der Auswahlgröße (wotag) der Reihe nach mit den case-Konstanten (0,1,2,3,4,5,6) verglichen.

Sobald die erste Übereinstimmung festgestellt wird, werden die darauffolgenden Anweisungen ausgeführt. Um dies zu verhindern verwendet man die Anweisung break. break heißt, dass die switch-Anweisung verlassen wird. Ohne break würden nach der ersten Übereinstimmung alle folgenden Wochentage auch ausgegeben werden.

Der Typ der Auswahlgröße darf nicht float sein.

Beispiel Monatslänge

Die Monatsnummer soll eingegeben werden. Anschließend soll die Anzahl der Tage des Monats ausgegeben werden.

switch (monat)
  {case 2: cout << "28 oder 29 Tage (Schaltjahr)"; break;
   case 1: case 3: case 5: case 7: case 8: case 10: case 12: cout << "31 Tage"; break;
   case 4: case 6: case 9: case 11: cout << "30 Tage"; break;
   default: cout << "Kein Monat!";

Weitere Beispiele

Schreibe ein Programm,…

a) Schularbeitsnote … das Schularbeitsnoten in verbale Beurteilungen umrechnet. (z.B. 1 … Sehr gut, etc.)


(zurück)