C ++ switch ... case Anweisung (mit Beispielen)

In diesem Tutorial lernen wir anhand einiger Beispiele die switch-Anweisung und ihre Funktionsweise in der C ++ - Programmierung kennen.

Die switchAnweisung ermöglicht es uns, einen Codeblock unter vielen Alternativen auszuführen.

Die Syntax der switchAnweisung 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 expressionwird einmal ausgewertet und mit den Werten jedes caseEtiketts verglichen .

  • Wenn eine Übereinstimmung vorliegt, wird der entsprechende Code nach der übereinstimmenden Bezeichnung ausgeführt. Wenn beispielsweise der Wert der Variablen gleich ist, constant2wird der Code danach case constant2:ausgeführt, bis die breakAnweisung angetroffen wird.
  • Wenn es keine Übereinstimmung gibt, wird der Code danach default:ausgeführt.

Hinweis : Mit der if… else… ifLeiter können wir dasselbe tun . Die Syntax der switchAnweisung ist jedoch übersichtlicher und viel einfacher zu lesen und zu schreiben.

Flussdiagramm der switch-Anweisung

Flussdiagramm des C ++ - Schalters… case-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… caseAnweisung, um Addition, Subtraktion, Multiplikation und Division durchzuführen.

Wie dieses Programm funktioniert

  1. Wir fordern den Benutzer zunächst auf, den gewünschten Operator einzugeben. Diese Eingabe wird dann in der charVariablen oper gespeichert .
  2. Wir fordern den Benutzer dann auf, zwei Zahlen einzugeben, die in den Float-Variablen num1 und num2 gespeichert sind.
  3. Die switchAnweisung 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.

Beachten Sie, dass die breakAnweisung in jedem caseBlock verwendet wird. Dies beendet die switchAnweisung.

Wenn die breakAnweisung nicht verwendet wird, werden alle Fälle nach der korrekten caseausgeführt.

Interessante Beiträge...