Instrukcja switch
Część sekcji Podstawy ścieżki C++ w Coddy. Lekcja 29 z 74.
Instrukcja switch przypomina wielokierunkową instrukcję if. Zamiast sprawdzać jeden warunek, porównuje wartość zmiennej z wieloma przypadkami i wykonuje kod przypisany do pasującego przypadku.
Oto podstawowa struktura instrukcji switch:
switch (variable) {
case value1:
// Kod do wykonania, jeśli variable jest równe value1
break;
case value2:
// Kod do wykonania, jeśli variable jest równe value2
break;
// ... więcej przypadków
default:
// Kod do wykonania, jeśli żaden przypadek nie pasuje
}- Po słowie kluczowym
switchw nawiasach umieszcza się zmienną, którą chcesz sprawdzić. - Każdy element
casereprezentuje możliwą wartość zmiennej. - Kod wewnątrz każdego elementu
casejest wykonywany, jeśli zmienna pasuje do wartości tego elementu.
- Instrukcja
breakjest kluczowa; kończy działanie instrukcjiswitchpo wykonaniu przypadku. Bez niej wykonanie „przechodziłoby dalej” do następnego przypadku. - Przypadek
defaultjest opcjonalny i zostaje wykonany, jeśli żaden inny przypadek nie pasuje.
Oto przykład:
int day = 3;
std::string dayName;
switch (day) {
case 1:
dayName = "Monday";
break;
case 2:
dayName = "Tuesday";
break;
// ... przypadki dla pozostałych dni
default:
dayName = "Invalid day";
}Możesz też połączyć kilka przypadków w jeden:
int day = 3;
std::string dayName;
switch (day) {
case 1:
case 2:
case 3:
dayName = "Start of week";
break;
// ... przypadki dla pozostałych dni
default:
dayName = "Invalid day";
}Wyzwanie
PoczątkującyUtwórz program, który przyjmuje numer miesiąca (1 oznacza styczeń, 2 — luty itd.) i wypisuje porę roku, do której ten miesiąc należy. Do realizacji logiki użyj instrukcji switch.
Pory roku i odpowiadające im miesiące to:
- Winter: grudzień (12), styczeń (1), luty (2)
- Spring: marzec (3), kwiecień (4), maj (5)
- Summer: czerwiec (6), lipiec (7), sierpień (8)
- Autumn: wrzesień (9), październik (10), listopad (11)
- Invalid month: dla pozostałych wartości
Spróbuj swoich sił
#include <iostream>
int main() {
int month;
std::cin >> month;
std::string season = "";
// Napisz swój kod poniżej
std::cout << season << std::endl;
return 0;
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory — część 1
Operatory arytmetyczneOperator moduloInkrementacja/dekrementacjaPostinkrementacja/postdekrementacjaSkrócone operatory arytmetyczneOperatory porównaniaPorównywanie ciągów znaków7Podstawy wejścia/wyjścia
Instrukcja coutInstrukcja cinWczytywanie ciągu znakówPowtórka — do 120Powtórka — prawda czy fałsz3Zmienne, część 2
Deklarowanie typówKonwencje nazewnictwaPowtórka — inicjalizacja zmiennychKonwersja typów, część 1Konwersja typów, część 26Podejmowanie decyzji
Instrukcja ifIf - elseInstrukcja switchOperator warunkowyPowtórzenie: if - elseZagnieżdżone if - elsePoćwicz samodzielnie: Kompilator C++ online