Instrukcja switch
Część sekcji Podstawy ścieżki C++ w Coddy. Lekcja 29 z 74.
Instrukcja switch działa podobnie jak wielokierunkowa instrukcja if. Zamiast sprawdzać jeden warunek, porównuje wartość zmiennej z wieloma przypadkami i wykonuje kod powiązany z pasującym przypadkiem.
Oto podstawowa struktura instrukcji switch:
switch (variable) {
case value1:
// Kod do wykonania, jeśli variable jest równa value1
break;
case value2:
// Kod do wykonania, jeśli variable jest równa value2
break;
// ... więcej przypadków
default:
// Kod do wykonania, jeśli żaden przypadek nie pasuje
}- Po słowie kluczowym
switchpodaje się w nawiasach zmienną, którą chcesz sprawdzić. - Każdy
casereprezentuje jedną z możliwych wartości zmiennej. - Kod wewnątrz każdego
casejest wykonywany, jeśli zmienna pasuje do wartości tego przypadku.
- Instrukcja
breakjest kluczowa; kończy wykonywanie instrukcjiswitchpo wykonaniu danego przypadku. Bez niej wykonanie „przechodziłoby” do następnego przypadku. - Przypadek
defaultjest opcjonalny i wykonuje się, 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 pobiera numer miesiąca (1 oznacza styczeń, 2 luty itd.) i wypisuje porę roku, do której ten miesiąc należy. Użyj instrukcji switch do określenia logiki.
Pory roku i odpowiadające im miesiące:
- Zima: grudzień (12), styczeń (1), luty (2)
- Wiosna: marzec (3), kwiecień (4), maj (5)
- Lato: czerwiec (6), lipiec (7), sierpień (8)
- Jesień: wrzesień (9), październik (10), listopad (11)
- Invalid month: dla pozostałych opcji
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