Switch İfadesi
Coddy'nin C++ Journey'sinin Temeller bölümünün bir parçası. Ders 29 / 74.
switch deyimi, çok seçenekli bir if deyimi gibidir. Tek bir koşulu değerlendirmek yerine, bir değişkenin değerini birden fazla durumla karşılaştırır ve eşleşen durumla ilişkili kodu çalıştırır.
İşte bir switch deyiminin temel yapısı:
switch (variable) {
case value1:
// variable, value1 değerine eşitse çalıştırılacak kod
break;
case value2:
// variable, value2 değerine eşitse çalıştırılacak kod
break;
// ... daha fazla durum
default:
// Hiçbir durum eşleşmezse çalıştırılacak kod
}switchanahtar sözcüğünden sonra, parantez içinde test etmek istediğiniz değişken gelir.- Her
case, değişkenin olası bir değerini temsil eder. - Değişkenin değeri ilgili
casedeğerine eşleşirse, ocaseiçindeki kod yürütülür.
breakifadesi çok önemlidir; bir case çalıştırıldıktan sonraswitchyapısından çıkar. Bu ifade olmadan yürütme, “fall through” ederek bir sonraki case'e geçerdi.defaultcase'i isteğe bağlıdır ve başka hiçbir case eşleşmediğinde çalıştırılır.
İşte bir örnek:
int day = 3;
std::string dayName;
switch (day) {
case 1:
dayName = "Monday";
break;
case 2:
dayName = "Tuesday";
break;
// ... diğer günler için case'ler
default:
dayName = "Invalid day";
}Birden fazla durumu tek bir durumda da birleştirebilirsiniz:
int day = 3;
std::string dayName;
switch (day) {
case 1:
case 2:
case 3:
dayName = "Start of week";
break;
// ... diğer günler için case'ler
default:
dayName = "Invalid day";
}Görev
BaşlangıçBir ay numarası (Ocak için 1, Şubat için 2 vb.) alan ve ait olduğu mevsimi yazdıran bir program oluştur. Mantık için bir switch ifadesi kullan.
Mevsimler ve karşılık gelen ayları:
- Kış: Aralık (12), Ocak (1), Şubat (2)
- İlkbahar: Mart (3), Nisan (4), Mayıs (5)
- Yaz: Haziran (6), Temmuz (7), Ağustos (8)
- Sonbahar: Eylül (9), Ekim (10), Kasım (11)
- Invalid month: diğer seçenekler için
Kendin dene
#include <iostream>
int main() {
int month;
std::cin >> month;
std::string season = "";
// Kodunuzu aşağıya yazın
std::cout << season << std::endl;
return 0;
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Operatörler Bölüm 1
Aritmetik OperatörlerModül OperatörüArtırma/AzaltmaSonradan Artırma/AzaltmaAritmetik KısayollarKarşılaştırma OperatörleriString Karşılaştırma7Giriş/Çıkış Temelleri
cout İfadesicin İfadesiString GirdisiÖzet - 120'ye KadarÖzet - Doğru veya YanlışKendi başına pratik yap: Online C++ derleyicisi