- Mesaj
- 1.908
- Çözümler
- 54
- Beğeni
- 1.803
- Puan
- 1.370
- Ticaret Puanı
- 3
Merhaba arkadaşlar,
Kod yazarken çoğu zaman birden fazla duruma göre farklı işlemler yapmamız gerekir.
if / else if ile de yapılabilir ama çok fazla durum olduğunda okuması zorlaşır.
Bir değişkenin değerine göre farklı kod bloklarının çalıştırılmasını sağlar.
Genelde menüler, seçenekler, komut sistemleri, matematik işlemleri gibi yerlerde kullanılır.
Temel yapı şöyle:
Bu örnek, kullanıcıdan alınan bir sayıya göre uygun günü ekrana yazar.
Bu örnek, switch-case’in karakterlerle (char) nasıl çalıştığını gösterir.
1. break yazmazsan alt case’ler de çalışır.
Bu duruma “fall-through” denir. Bilerek kullanılmadıkça yanlış davranış üretir.
2. Switch sadece şu türlerle çalışır:
3. Çok fazla seçenek varsa switch, if/else’den daha temizdir.
Kod yazarken çoğu zaman birden fazla duruma göre farklı işlemler yapmamız gerekir.
if / else if ile de yapılabilir ama çok fazla durum olduğunda okuması zorlaşır.
Bu yüzden C++ bize daha temiz bir yapı sunar:
switch - case yapısı
Switch Case Nedir?
Bir değişkenin değerine göre farklı kod bloklarının çalıştırılmasını sağlar.Genelde menüler, seçenekler, komut sistemleri, matematik işlemleri gibi yerlerde kullanılır.
Temel yapı şöyle:
C++:
switch (degisken) {
case 1:
// işlem 1
break;
case 2:
// işlem 2
break;
default:
// hiçbir case eşleşmezse
break;
}
- case: Her bir olası durum.
- break: O case çalıştıktan sonra switch’ten çıkmayı sağlar. İngilizce'den Türkçe'ye "Kırmak" anlamında çevrilir.
- default: Hiçbir case uymadığında çalışır. (opsiyonel ama kullanmak iyi alışkanlıktır) Çevirisi, varsayılan demektir.
Basit Örnek: Sayı ile Gün Bulma
C++:
#include <iostream>
using namespace std;
int main() {
int gun;
cout << "1-7 arasi bir sayi girin: ";
cin >> gun;
switch (gun) {
case 1:
cout << "Pazartesi";
break;
case 2:
cout << "Sali";
break;
case 3:
cout << "Carsamba";
break;
case 4:
cout << "Persembe";
break;
case 5:
cout << "Cuma";
break;
case 6:
cout << "Cumartesi";
break;
case 7:
cout << "Pazar";
break;
default:
cout << "Gecersiz bir gun girdiniz!";
break;
}
return 0;
}
Örnek 2: Basit Hesap Makinesi
C++:
#include <iostream>
using namespace std;
int main() {
char islem;
int a, b;
cout << "Islem sec (+, -, *, /): ";
cin >> islem;
cout << "Iki sayi girin: ";
cin >> a >> b;
switch (islem) {
case '+':
cout << "Sonuc: " << a + b;
break;
case '-':
cout << "Sonuc: " << a - b;
break;
case '*':
cout << "Sonuc: " << a * b;
break;
case '/':
if (b == 0)
cout << "Hata: 0'a bolunmez!";
else
cout << "Sonuc: " << a / b;
break;
default:
cout << "Gecersiz islem!";
break;
}
return 0;
}
Bu örnek, switch-case’in karakterlerle (char) nasıl çalıştığını gösterir.
Switch Case Kullanırken Bilmen Gereken Önemli Detaylar
Bu duruma “fall-through” denir. Bilerek kullanılmadıkça yanlış davranış üretir.
- int
- char
- enum
(Not: string ile doğrudan çalışmaz.)