switch ifadesi if/else yapısına benzemektedir. Genel olarak kullanımı birazcık tuhaf gelebilir. Ayrıca if/else yapısına göre daha az kullanışlı olduğu, çünkü sabit ifadelerle sınırlandırıldığı da dile getirilir.
Genel yapısına bakmamız gerekirse;
switch (değişken)
{
case sabit1:
Birinci Kod İçeriği
break;
case sabit2:
İkinci Kod İçeriği
break;
.
.
.
default:
Varsayılan Kod İçeriği
}
switch ifadesi aslında case ile birlikte if ifadesine çok benzer. Belirtilen değişkeni case içeriğinde arar. Bulunan değere göre case içeriğinde çalıştırır. Şimdi aşağıdaki örneği inceleyelim;
int main() {
int a;
cout << "Bir a degeri girin: ";
cin >> a;
switch(a) {
case 1:
cout << "a = 1'dir";
break;
case 2:
cout << "a = 2'dir";
break;
case 3:
cout << "a = 3'dur";
break;
case 4:
cout << "a = 4'tur";
break;
case 5:
cout << "a = 5'tir";
break;
default:
cout << "a 1,2,3,4 veya 5 degildir!";
}
}
Bu yapımızda kullanıcıdan bir a değişkeni belirtmesini istedik. Kullanıcı tarafından girilen a değerinin 1,2,3,4 veya 5 ise belirtilen sonuçları vermesini istedik. Eğer farklı bir şey ise (yani default ise) ekrana "a 1,2,3,4 veya 5 degildir!" çıktısını vermesini istedik.
Şimdi aşağıdaki yapıyı inceleyelim;
int main() {
int a;
cout << "Bir a degeri girin: ";
cin >> a;
switch(a) {
case 1:
case 2:
case 3:
case 4:
case 5:
cout << "a 1,2,3,4 veya 5'tir";
break;
default:
cout << "a 1,2,3,4 veya 5 degildir!";
}
}
switch ifadesi bu örnekte gözüktüğü gibi de kullanılabilir. Örneğimiz eğer girilen a değeri 1,2,3,4 veya 5 ise "a 1,2,3,4 veya 5'tir", değilse "a 1,2,3,4 veya 5 degildir!" çıktısını vermiş olacak.