W tym samouczku dowiemy się o instrukcji switch i jej działaniu w programowaniu w C ++ na podstawie kilku przykładów.
switchZestawienie pozwala nam wykonać blok kodu spośród wielu alternatyw.
Składnia switchinstrukcji 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ść expressionjest oceniana raz i porównywana z wartościami każdej caseetykiety.
- 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 momentubreaknapotkania instrukcji. - Jeśli nie ma dopasowania,
default:wykonywany jest kod po .
Uwaga : to samo możemy zrobić z if… else… ifdrabiną. Jednak składnia switchinstrukcji jest bardziej przejrzysta i dużo łatwiejsza do czytania i pisania.
Schemat blokowy instrukcji switch
Schemat blokowy instrukcji przełącznika C ++… case
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… caseinstrukcji 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
charzmiennej 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.
switchOś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 breakinstrukcja jest używana wewnątrz każdego casebloku. To kończy switchinstrukcję.
Jeśli breakinstrukcja nie jest używana, casewykonywane są wszystkie przypadki po poprawnej .








