In diesem Tutorial lernen wir anhand einiger Beispiele die switch-Anweisung und ihre Funktionsweise in der C ++ - Programmierung kennen.
Die switch
Anweisung ermöglicht es uns, einen Codeblock unter vielen Alternativen auszuführen.
Die Syntax der switch
Anweisung in C ++ lautet:
switch (expression) ( case constant1: // code to be executed if // expression is equal to constant1; break; case constant2: // code to be executed if // expression is equal to constant2; break;… default: // code to be executed if // expression doesn't match any constant )
Wie funktioniert die switch-Anweisung?
Das expression
wird einmal ausgewertet und mit den Werten jedes case
Etiketts verglichen .
- Wenn eine Übereinstimmung vorliegt, wird der entsprechende Code nach der übereinstimmenden Bezeichnung ausgeführt. Wenn beispielsweise der Wert der Variablen gleich ist,
constant2
wird der Code danachcase constant2:
ausgeführt, bis diebreak
Anweisung angetroffen wird. - Wenn es keine Übereinstimmung gibt, wird der Code danach
default:
ausgeführt.
Hinweis : Mit der if… else… if
Leiter können wir dasselbe tun . Die Syntax der switch
Anweisung ist jedoch übersichtlicher und viel einfacher zu lesen und zu schreiben.
Flussdiagramm der switch-Anweisung

Beispiel: Erstellen Sie einen Rechner mit der switch-Anweisung
// Program to build a simple calculator using switch Statement #include using namespace std; int main() ( char oper; float num1, num2; cout <> oper; cout << "Enter two numbers: " <> num1>> num2; switch (oper) ( case '+': cout << num1 << " + " << num2 << " = " << num1 + num2; break; case '-': cout << num1 << " - " << num2 << " = " << num1 - num2; break; case '*': cout << num1 << " * " << num2 << " = " << num1 * num2; break; case '/': cout << num1 << " / " << num2 << " = " << num1 / num2; break; default: // operator is doesn't match any case constant (+, -, *, /) cout << "Error! The operator is not correct"; break; ) return 0; )
Ausgabe 1
Geben Sie einen Operator ein (+, -, *, /): + Geben Sie zwei Zahlen ein: 2,3 4,5 2,3 + 4,5 = 6,8
Ausgabe 2
Geben Sie einen Operator ein (+, -, *, /): - Geben Sie zwei Zahlen ein: 2,3 4,5 2,3 - 4,5 = -2,2
Ausgabe 3
Geben Sie einen Operator (+, -, *, /) ein: * Geben Sie zwei Zahlen ein: 2,3 4,5 2,3 * 4,5 = 10,35
Ausgabe 4
Geben Sie einen Operator ein (+, -, *, /): / Geben Sie zwei Zahlen ein: 2,3 4,5 2,3 / 4,5 = 0,511111
Ausgabe 5
Geben Sie einen Operator ein (+, -, *, /) :? Geben Sie zwei Zahlen ein: 2.3 4.5 Fehler! Der Bediener ist nicht korrekt.
Im obigen Programm verwenden wir die switch… case
Anweisung, um Addition, Subtraktion, Multiplikation und Division durchzuführen.
Wie dieses Programm funktioniert
- Wir fordern den Benutzer zunächst auf, den gewünschten Operator einzugeben. Diese Eingabe wird dann in der
char
Variablen oper gespeichert . - Wir fordern den Benutzer dann auf, zwei Zahlen einzugeben, die in den Float-Variablen num1 und num2 gespeichert sind.
- Die
switch
Anweisung wird dann verwendet, um den vom Benutzer eingegebenen Operator zu überprüfen:- Wenn der Benutzer eingibt
+
, werden die Nummern addiert. - Wenn der Benutzer eingibt
-
, wird eine Subtraktion der Zahlen durchgeführt. - Wenn der Benutzer eingibt
*
, werden die Zahlen multipliziert. - Wenn der Benutzer eingibt
/
, werden die Zahlen unterteilt. - Wenn der Benutzer ein anderes Zeichen eingibt, wird der Standardcode gedruckt.
- Wenn der Benutzer eingibt
Beachten Sie, dass die break
Anweisung in jedem case
Block verwendet wird. Dies beendet die switch
Anweisung.
Wenn die break
Anweisung nicht verwendet wird, werden alle Fälle nach der korrekten case
ausgeführt.