:CPP: Mehrfachverzweigung mit Switch
ProblemEin Programm bekommt als Eingabe die Notenzahlen 1..6 und soll die Noten in Texte "sehr gut".."ungenuegend" umwandeln, AnalyseIn Abhängigkeit eines ganzzahligen Wertes, werden Zeichenketten ausgegeben. |
|||||||||||||||||||
|
|||||||||||||||||||
DesignWelche Lösungsmöglichkeiten kennen Sie? Hier ein weiterer Lösungsansatz, die switch-Anweisung, bedingte Verarbeitung in Abhängigkeit von dem Wert eines Testausdrucks. Switch-Anweisung |
|||||||||||||||||||
![]() |
switch (Testausdruck){ // Selektor
case Wert1:
Anweisungen 1
break;
case Wert2:
Anweisungen 2
break;
case Wert3:
Anweisungen 3
break;
default: // optional
Anweisungen Sonst
}
|
|||||
FunktionsweiseDer Testausdruck wird ausgewertet. Wenn sein Wert einem der Werte in den case-Abschnitten gleicht, werden die dazugehörigen Anweisungen ausgeführt. Die break-Anweisung dient dazu, nach Verarbeitung der jeweiligen Anweisungen die switch-Anweisung zu verlassen, sonst würden die nachfolgenden Anweisungen ebenfalls verarbeitet werden. Der default-Abschnitt ist optional, er kann weggelassen werden. |
||||||
|
Implementieren und testen Sie Ihr Programm. Welche Ausgabe ergibt sich bei Eingabe 2, wenn das break bei case 2: weggelassen wird?
Welche Vor- und Nachteile hat die switch-Anweisung gegenüber einer Lösung mit Array oder if-Anweisung?
Können als Werte auch Zeichenketten verwendet werden? Begründung! |
||||||