Yazdığımız programlarda birden fazla seçenek arasından belirli işlemleri yaptırmamız gereken durumlar olabilir. Bu tarz durumlarda switch case yapısı kullanılır. Switch ifadesi içindeki bir değişkenin değeri, bizi dizi case ifadesiyle karşılaştırılır ve eşleşen durumun içindeki kod bloğu çalışır. Her case ifadesinden sonra ‘break’ ifadesi kullanmamız gerekir, aksi durumda program düzgün çalışmayabilir.
Örnek olarak switch case yapısı ile hesap makinası yapmak mümkündür. Öncelikle kullanıcıdan 2 sayı alınır ve ardından hangi işlemi yapmak istediği sorulur. Kullanıcı bu operatörlerden örnek olarak toplamayı ‘ + ‘ seçerse switch içerisindeki operatörlerden ‘ + ‘ olan kod bloğu çalışacaktır ve kullanıcıdan gelen 2 sayıyı toplayıp ekrana yazdıracaktır.
#include <stdio.h>
int main() {
double sayi1, sayi2, sonuc;
char operatör;
// Kullanıcıdan sayıları ve operatörü al
printf("Birinci sayiyi girin: ");
scanf("%lf", &sayi1);
printf("İkinci sayiyi girin: ");
scanf("%lf", &sayi2);
printf("Toplama (+), Çıkarma (-), Çarpma (*) veya Bölme (/) operatörünü girin: ");
scanf(" %c", &operatör);
// Switch-case ile matematiksel işlemleri gerçekleştir
switch (operatör) {
case '+':
sonuc = sayi1 + sayi2;
printf("Toplama Sonucu: %.2f\n", sonuc);
break;
case '-':
sonuc = sayi1 - sayi2;
printf("Çıkarma Sonucu: %.2f\n", sonuc);
break;
case '*':
sonuc = sayi1 * sayi2;
printf("Çarpma Sonucu: %.2f\n", sonuc);
break;
case '/':
// Sıfıra bölme durumunu kontrol et
if (sayi2 != 0) {
sonuc = sayi1 / sayi2;
printf("Bölme Sonucu: %.2f\n", sonuc);
} else {
printf("Hata: Sayı sıfıra bölünemez.\n");
}
break;
default:
printf("Hata: Geçersiz operatör girişi.\n");
}
return 0;
}