Instrukcja (switch)
Instrukcja warunkowa switch służy do definiowania instrukcji warunkowej, która pozwala wybrać jedno spośród wielu bloków kodu do wykonania, w zależności od wartości określonej zmiennej lub wyrażenia.

Składnia instrukcji switch
wygląda następująco:
switch(zmienna) {
case wartosc1:
// kod do wykonania, gdy zmienna == wartosc1
break;
case wartosc2:
// kod do wykonania, gdy zmienna == wartosc2
break;
// kolejne przypadki
default:
// kod do wykonania, gdy żaden z powyższych przypadków nie jest spełniony
break;
}

W tym kodzie "zmienna" to wyrażenie, którego wartość zostanie porównana z wartościami podanymi w każdym przypadku (case). Jeśli wartość zmiennej zgadza się z jednym z przypadków, wykonywany jest kod znajdujący się po etykiecie "case" dla tego przypadku. Po wykonaniu kodu dla przypadku, który został dopasowany, wykonanie przenosi się do końca instrukcji switch.
Użycie instrukcji switch w C++:
#include <iostream>
using namespace std;
int main() {
int x;
cout << "Podaj liczbę od 1 do 3: ";
cin >> x;
switch (x) {
case 1:
cout << "Wybrano 1" << endl;
break;
case 2:
cout << "Wybrano 2" << endl;
break;
case 3:
cout << "Wybrano 3" << endl;
break;
default:
cout << "Niepoprawny wybór" << endl;
break;
}
return 0;
}

W powyższym przykładzie użytkownik zostaje poproszony o podanie liczby od 1 do 3. Następnie instrukcja switch wybiera odpowiedni blok kodu w zależności od podanej liczby. Jeśli użytkownik poda inną liczbę niż 1, 2 lub 3, zostanie wyświetlony komunikat "Niepoprawny wybór".

Jeśli nie zostanie znaleziony żaden pasujący case, wykonywany jest blok kodu znajdujący się po słowie kluczowym default.