Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Switch-Anweisung | Einführung in Bedingte Anweisungen
C++ Bedingte Anweisungen
course content

Kursinhalt

C++ Bedingte Anweisungen

C++ Bedingte Anweisungen

1. Einführung in Bedingte Anweisungen
2. Übung zur Bedingten Steuerflusskontrolle
3. Fortgeschrittene Themen

book
Switch-Anweisung

Die switch-Anweisung ist ebenfalls eine der Kontrollstrukturen, die die Entscheidungsfindung in Ihren Programmen vereinfacht. Sie bietet eine effiziente Möglichkeit, einen Ausdruck zu bewerten und verschiedene Codeblöcke basierend auf dem Wert dieses Ausdrucks auszuführen. Dies kann besonders nützlich sein, wenn es um eine große Anzahl von Verzweigungsbedingungen geht.

Sie ist in erster Linie dafür ausgelegt, mit numerischen Werten wie Ganzzahlen (int) und Zeichen (char) zu arbeiten.

h

switch

copy
12345678910111213141516
switch (expression) { case value1: // Code to execute when expression matches value1 break; case value2: // Code to execute when expression matches value2 break; // More cases can be added as needed // Code to execute when expression matches valueN default: // Code to execute when none of the case labels match the expression }
  • Der Ausdruck wird einmal ausgewertet, und das Programm springt zum entsprechenden case basierend auf dem Wert des Ausdrucks;

  • Jedes case repräsentiert einen bestimmten Wert oder eine Menge von Werten, die der Ausdruck möglicherweise übereinstimmt;

  • Die break-Anweisung wird verwendet, um den switch-Block zu verlassen, nachdem der Code für einen bestimmten Fall ausgeführt wurde;

  • Das default ist optional und wird verwendet, wenn keiner der angegebenen Fälle mit dem Ausdruck übereinstimmt. Es fungiert als Auffangoption.

Angenommen, Sie besitzen ein Restaurant und möchten ein Menü basierend auf numerischen Codes bereitstellen. Hier ist die Code-Darstellung der Menüelemente.

cpp

main

copy
1234567891011121314151617181920212223242526
#include <iostream> int main() { // try to change the value int menu_number = 1; switch (menu_number) { case 1: std::cout << "Pizza" << std::endl; break; case 2: std::cout << "Burger with fries" << std::endl; break; case 3: std::cout << "Pasta with meatballs" << std::endl; break; default: std::cout << "We don`t have this in our menu" << std::endl; break; } }

Ja, Sie können dies mit einer einfachen if-Anweisung erreichen, und es würde ungefähr so aussehen:

cpp

main

copy
123456789101112131415161718192021222324
#include <iostream> int main() { // try to change the value int menu_number = 1; if (menu_number == 1) { std::cout << "Pizza" << std::endl; } else if (menu_number == 2) { std::cout << "Burger with fries" << std::endl; } else if (menu_number == 3) { std::cout << "Pasta with meatballs" << std::endl; } else { std::cout << "We don`t have this in our menu" << std::endl; } }

Es wird genauso funktionieren und wie erwartet, aber es ist im Allgemeinen besser, eine switch-Anweisung zu verwenden, da sie eine klarere, lesbarere und, was am wichtigsten ist, leichter zu wartende und skalierbare Möglichkeit bietet, diese Art von Kontrollfluss zu verwalten.

Das Auslassen des break-Schlüsselworts in einer Switch-Anweisung kann zu unerwartetem Programmverhalten führen, da der Code weiter in nachfolgende Fälle ausgeführt wird. Das absichtliche Auslassen von break kann jedoch verwendet werden, um mehrere Fälle innerhalb desselben Codeblocks zu verwalten. Dieser Ansatz, bekannt als Fall-Through, ermöglicht es Ihnen, verwandte Fälle zusammen zu behandeln.

cpp

main

copy
12345678910111213141516171819202122
#include <iostream> int main() { // change the number and look how it affect the output int number = 3; switch (number) { case 1: std::cout << '1' << std::endl; case 2: std::cout << '2' << std::endl; case 3: std::cout << '3' << std::endl; case 4: std::cout << '4' << std::endl; case 5: std::cout << '5' << std::endl; break; } }
Aufgabe

Swipe to start coding

  1. Schreiben Sie eine switch-Anweisung, die den entsprechenden Wochentag basierend auf dem Wert von day_of_week ausgibt.
  2. Wenn der Wert kein gültiger Tag ist, geben Sie The day doesn't exist in der Konsole aus.

Lösung

cpp

solution

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 6
toggle bottom row

book
Switch-Anweisung

Die switch-Anweisung ist ebenfalls eine der Kontrollstrukturen, die die Entscheidungsfindung in Ihren Programmen vereinfacht. Sie bietet eine effiziente Möglichkeit, einen Ausdruck zu bewerten und verschiedene Codeblöcke basierend auf dem Wert dieses Ausdrucks auszuführen. Dies kann besonders nützlich sein, wenn es um eine große Anzahl von Verzweigungsbedingungen geht.

Sie ist in erster Linie dafür ausgelegt, mit numerischen Werten wie Ganzzahlen (int) und Zeichen (char) zu arbeiten.

h

switch

copy
12345678910111213141516
switch (expression) { case value1: // Code to execute when expression matches value1 break; case value2: // Code to execute when expression matches value2 break; // More cases can be added as needed // Code to execute when expression matches valueN default: // Code to execute when none of the case labels match the expression }
  • Der Ausdruck wird einmal ausgewertet, und das Programm springt zum entsprechenden case basierend auf dem Wert des Ausdrucks;

  • Jedes case repräsentiert einen bestimmten Wert oder eine Menge von Werten, die der Ausdruck möglicherweise übereinstimmt;

  • Die break-Anweisung wird verwendet, um den switch-Block zu verlassen, nachdem der Code für einen bestimmten Fall ausgeführt wurde;

  • Das default ist optional und wird verwendet, wenn keiner der angegebenen Fälle mit dem Ausdruck übereinstimmt. Es fungiert als Auffangoption.

Angenommen, Sie besitzen ein Restaurant und möchten ein Menü basierend auf numerischen Codes bereitstellen. Hier ist die Code-Darstellung der Menüelemente.

cpp

main

copy
1234567891011121314151617181920212223242526
#include <iostream> int main() { // try to change the value int menu_number = 1; switch (menu_number) { case 1: std::cout << "Pizza" << std::endl; break; case 2: std::cout << "Burger with fries" << std::endl; break; case 3: std::cout << "Pasta with meatballs" << std::endl; break; default: std::cout << "We don`t have this in our menu" << std::endl; break; } }

Ja, Sie können dies mit einer einfachen if-Anweisung erreichen, und es würde ungefähr so aussehen:

cpp

main

copy
123456789101112131415161718192021222324
#include <iostream> int main() { // try to change the value int menu_number = 1; if (menu_number == 1) { std::cout << "Pizza" << std::endl; } else if (menu_number == 2) { std::cout << "Burger with fries" << std::endl; } else if (menu_number == 3) { std::cout << "Pasta with meatballs" << std::endl; } else { std::cout << "We don`t have this in our menu" << std::endl; } }

Es wird genauso funktionieren und wie erwartet, aber es ist im Allgemeinen besser, eine switch-Anweisung zu verwenden, da sie eine klarere, lesbarere und, was am wichtigsten ist, leichter zu wartende und skalierbare Möglichkeit bietet, diese Art von Kontrollfluss zu verwalten.

Das Auslassen des break-Schlüsselworts in einer Switch-Anweisung kann zu unerwartetem Programmverhalten führen, da der Code weiter in nachfolgende Fälle ausgeführt wird. Das absichtliche Auslassen von break kann jedoch verwendet werden, um mehrere Fälle innerhalb desselben Codeblocks zu verwalten. Dieser Ansatz, bekannt als Fall-Through, ermöglicht es Ihnen, verwandte Fälle zusammen zu behandeln.

cpp

main

copy
12345678910111213141516171819202122
#include <iostream> int main() { // change the number and look how it affect the output int number = 3; switch (number) { case 1: std::cout << '1' << std::endl; case 2: std::cout << '2' << std::endl; case 3: std::cout << '3' << std::endl; case 4: std::cout << '4' << std::endl; case 5: std::cout << '5' << std::endl; break; } }
Aufgabe

Swipe to start coding

  1. Schreiben Sie eine switch-Anweisung, die den entsprechenden Wochentag basierend auf dem Wert von day_of_week ausgibt.
  2. Wenn der Wert kein gültiger Tag ist, geben Sie The day doesn't exist in der Konsole aus.

Lösung

cpp

solution

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 6
Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
We're sorry to hear that something went wrong. What happened?
some-alt