1.12 Switch

C++ dilinde switch ifadesi, bir değişkenin değerine göre farklı kod bloklarının çalıştırılmasını sağlayan bir kontrol yapısıdır. Özellikle bir değişkenin birden fazla olası değerini kontrol etmek istediğimizde if-else yapısına alternatif olarak kullanılabilir.

Temel Yapı

switch ifadesi, bir değişkenin belirli değerlerini kontrol eder. Her bir değeri kontrol etmek için case anahtar kelimesi kullanılır. Eğer belirlenen bir case durumu doğruysa, o duruma karşılık gelen kod bloğu çalıştırılır. break ifadesi, switch bloğunun dışına çıkmak için kullanılır. Eğer break kullanılmazsa, kontrol akışı sonraki case'lere geçer (bu duruma "fall-through" denir).

#include <iostream>
using namespace std;

int main() {
    int gun = 3;

    switch (gun) {
        case 1:
            cout << "Pazartesi" << endl;
            break;
        case 2:
            cout << "Salı" << endl;
            break;
        case 3:
            cout << "Çarşamba" << endl;
            break;
        case 4:
            cout << "Perşembe" << endl;
            break;
        case 5:
            cout << "Cuma" << endl;
            break;
        case 6:
            cout << "Cumartesi" << endl;
            break;
        case 7:
            cout << "Pazar" << endl;
            break;
        default:
            cout << "Geçersiz gün" << endl;
            break;
    }

    return 0;
}

Önemli Noktalar

  1. Değişken Türü: Switch ifadesi genellikle tamsayı (int) ve karakter (char) türlerinde kullanılır.

  2. case: Her bir case, kontrol edilecek değeri belirtir. Bir case bloğunda kod çalıştıktan sonra, eğer break ifadesi yoksa, kontrol akışı sonraki case'lere geçer.

  3. default: Hiçbir case durumu sağlanmadığında çalıştırılacak kod bloğunu tanımlar. default durumu isteğe bağlıdır.

Örnek: Not Kontrolü

Aşağıdaki örnekte, bir notun harf karşılığını kontrol eden bir switch ifadesi gösterilmektedir:

#include <iostream>
using namespace std;

int main() {
    char not = 'B';

    switch (not) {
        case 'A':
            cout << "Mükemmel!" << endl;
            break;
        case 'B':
            cout << "Çok iyi!" << endl;
            break;
        case 'C':
            cout << "İyi!" << endl;
            break;
        case 'D':
            cout << "Geçer!" << endl;
            break;
        case 'F':
            cout << "Kalır!" << endl;
            break;
        default:
            cout << "Geçersiz not!" << endl;
            break;
    }

    return 0;
}

Last updated