Przejdź do głównej treści
eLearner.app
Moduł 2 · Lekcja 3 z 36/18 w kursie~8 min
Lekcje modułu (3/3)

Instrukcja switch

Instrukcja switch pozwala zastąpić długie łańcuchy if-else if-else, gdy zachodzi potrzeba porównania zmiennej z wieloma różnymi wartościami stałymi.

Składnia switch

Instrukcja switch porównuje wyrażenie z różnymi etykietami case:

Code
char grade = 'B';

switch (grade) {
    case 'A':
        std::cout << "Eccellente!" << std::endl;
        break;
    case 'B':
        std::cout << "Molto bene!" << std::endl;
        break;
    case 'C':
        std::cout << "Sufficiente." << std::endl;
        break;
    default:
        std::cout << "Voto non valido." << std::endl;
        break;
}
  • break: jest kluczowe. Jeśli zostanie pominięte, wykonanie przejdzie do kolejnych przypadków (zachowanie to nazywa się fall-through).
  • default: opcjonalny blok wykonywany, jeśli żaden z wcześniejszych przypadków nie odpowiada testowanej wartości.

Spróbuj sam

Ćwiczenie#cpp.m2.l3.e1
Próby: 0Ładowanie...

Dla danej liczby całkowitej day wczytanej ze strumienia std::cin, użyj switch, aby wypisać 'lunedi', jeśli day wynosi 1, 'martedi', jeśli wynosi 2, oraz 'altro' dla każdej innej wartości.

Ładowanie edytora...
Pokaż wskazówkę

Zbuduj strukturę switch dla zmiennej `day`wstawiając`case 1:`, `case 2:`i`default:`, pamiętając o instrukcji `break` na końcu każdej gałęzi.

Rozwiązanie dostępne po 3 próbach

Ćwiczenie#cpp.m2.l3.e2
Próby: 0Ładowanie...

Dla danej zmiennej grade wczytanej ze strumienia std::cin, użyj switch, aby wypisać 'ottimo' dla 'A', 'buono' dla 'B' oraz 'insufficiente' dla wszystkich innych przypadków.

Ładowanie edytora...
Pokaż wskazówkę

Dla znaków użyj pojedynczych cudzysłowów (apostrofów), np. `case 'A':`.

Rozwiązanie dostępne po 3 próbach