next up previous contents index
Nächste Seite: 4.8 Unbedingte Steuerungsübergabe Aufwärts: 4. Kontrollstrukturen Vorherige Seite: 4.6 Nichtabweisender Zyklus   Inhalt   Index


4.7 Mehrwegauswahl (switch-Anweisung)

Die Mehrwegauswahl ermöglicht ein individuelles Reagieren auf spezielle Werte einer Variablen.

switch (<ausdruck>)
 {
   case <konst_ausdruck_1> :
        <anweisung_1>
	[break;]
   ...
   case <konst_ausdruck_n> :
        <anweisung_n>
	[break;]   
   default:
        <anweisung_default>
 }

Beispiel: Ausgabe der Zahlwörter für die ganzzahlige Eingaben {1, 2, 3}. (siehe Ex470.cc)

//			Demonstration of Switch statement (break !!)
#include <iostream.h>
main()
{
 int number;

 number = 2,
 
 cout << endl << "  Names of numbers in [1,3]" << endl;

 switch(number)
  {
    case 1:
        cout << "  One = " << number << endl;
        break;
    case 2:
        cout << "  Two = "  << number << endl;
        break;              // Comment this line
    case 3:
        cout << "  Three = "  << number << endl;
        break;
    default:
        cout << "  Number " << number 
             << " not in interval" << endl;
        break;              // not necessary
  }
 cout << endl;
}

Obige switch-Anweisung könnte auch mit einer Mehrfachverzweigung (Seite [*]) implementiert werden, jedoch werden in der switch-Anweisung die einzelnen Zweige explizit über die break;-Anweisung verlassen. Ohne break; wird zusätzlich der zum nachfolgenden Zweig gehörige Block abgearbeitet.


Gundolf Haase 2004-01-15