zurück weiter

C++

G.Eichelsdörfer - Staatliche Technikerschule Weilburg

Ablaufstrukturen: Fallunterscheidung für Mehrfachverzweigung (1)

Betrachten Sie noch einmal eine Menüsteuerung, wie sie in den zweiten Übungen enthalten war!

Aus der Übung 2.2: Umrechnung zwischen Temperatureinheiten
Ein Menü zur Auswahl der Umrechnung soll angeboten werden.

1: Celsius -> Fahrenheit
2: Celsius -> Kelvin
3: Fahrenheit -> Celsius
4: Fahrenheit -> Kelvin
5: Kelvin -> Celsius
6: Kelvin -> Fahrenheit
Bitte waehlen Sie:

Der Anwender gibt zwecks Auswahl eine Zahl ein.

Auf Grund dieser Eingabe werden diejenigen Verarbeitungsschritte abgearbeitet, welche dem gewählten Menüpunkt zugeordnet sind.

Es wird also einer von sechs zur Verfügung stehenden Pfaden durchlaufen.

Diese Mehrfachverzweigung kann zunächst durch verschachtelte bedingte Anweisungen realisiert werden:

C++-Quelltext:

if(Eingabe==1) <Celsius->Fahrenheit>
else if(Eingabe==2) <Celsius->Kelvin>
else if(Eingabe==3) <Fahrenheit->Celsius>
else if(Eingabe==4) <Fahrenheit->Kelvin>
else if(Eingabe==5) <Kelvin->Celsius>
else if(Eingabe==6) <Kelvin->Fahrenheit>
else cout << "Falscheingabe" << endl,

Es fällt auf, dass in allen Bedingungen die Eingabe mit einer Konstanten verglichen wird. In solchen Fällen ist es übersichtlicher und effizienter statt der vielen bedingten Anweisungen eine Fallunterscheidung einzusetzen.