W tym samouczku dowiemy się o instrukcji switch i jej działaniu w programowaniu w C ++ na podstawie kilku przykładów.
switch
Zestawienie pozwala nam wykonać blok kodu spośród wielu alternatyw.
Składnia switch
instrukcji w C ++ to:
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 )
Jak działa instrukcja switch?
Wartość expression
jest oceniana raz i porównywana z wartościami każdej case
etykiety.
- Jeśli istnieje dopasowanie, wykonywany jest odpowiedni kod po dopasowaniu etykiety. Na przykład, jeśli wartość zmiennej jest równa
constant2
, kod pocase constant2:
jest wykonywany do momentubreak
napotkania instrukcji. - Jeśli nie ma dopasowania,
default:
wykonywany jest kod po .
Uwaga : to samo możemy zrobić z if… else… if
drabiną. Jednak składnia switch
instrukcji jest bardziej przejrzysta i dużo łatwiejsza do czytania i pisania.
Schemat blokowy instrukcji switch

Przykład: Utwórz kalkulator za pomocą instrukcji switch
// 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; )
Wyjście 1
Wpisz operator (+, -, *, /): + Wpisz dwie liczby: 2,3 4,5 2,3 + 4,5 = 6,8
Wyjście 2
Wpisz operator (+, -, *, /): - Wpisz dwie liczby: 2,3 4,5 2,3 - 4,5 = -2,2
Wyjście 3
Wpisz operator (+, -, *, /): * Wpisz dwie liczby: 2,3 4,5 2,3 * 4,5 = 10,35
Wyjście 4
Podaj operator (+, -, *, /): / Podaj dwie liczby: 2,3 4,5 2,3 / 4,5 = 0,511111
Wyjście 5
Wpisz operator (+, -, *, /):? Wpisz dwie liczby: 2.3 4.5 Błąd! Operator nie jest poprawny.
W powyższym programie używamy switch… case
instrukcji do wykonywania dodawania, odejmowania, mnożenia i dzielenia.
Jak działa ten program
- Najpierw zachęcamy użytkownika do wprowadzenia żądanego operatora. Te dane wejściowe są następnie przechowywane w
char
zmiennej o nazwie oper. - Następnie zachęcamy użytkownika do wprowadzenia dwóch liczb, które są przechowywane w zmiennych typu float num1 i num2.
switch
Oświadczenie jest następnie wykorzystywany do sprawdzania operatora wprowadzoną przez użytkownika:- Jeśli użytkownik wejdzie
+
, dodawanie jest wykonywane na liczbach. - Jeśli użytkownik wejdzie
-
, odejmie się liczby. - Jeśli użytkownik wejdzie
*
, mnożenie jest wykonywane na liczbach. - Jeśli użytkownik wejdzie
/
, następuje dzielenie liczb. - Jeśli użytkownik wprowadzi inny znak, wydrukowany zostanie kod domyślny.
- Jeśli użytkownik wejdzie
Zwróć uwagę, że break
instrukcja jest używana wewnątrz każdego case
bloku. To kończy switch
instrukcję.
Jeśli break
instrukcja nie jest używana, case
wykonywane są wszystkie przypadki po poprawnej .