kullanımına çok benzer.Hatırlayacağınız gibi yuvalanmış
if yapıları ile istediğimiz kadar koşulu iç ice
yazarak birinin seçilmesini sağlıyorduk.
Ancak değerlendirilecek koşulların sayısı
oldugunda iç içe kullanacağımız if deyimi sayısı çok fazla olacaktır. Bu
durum hem programciyi zorlayacaktır, hem de programimizin okunabilirliğine
zarar verecektir. Işte koşul sayısının fazla olması durumunda switch deyimini
Kullanacağız. switch deyimi yuvalanmis if deyimleri ile ayni işi yapar ancak
daha rahat ve daha anlaşılır bir yapıdadır.
switch deyiminin kullanımına geçmeden önce hatırlatalım: switch deyimini, if
deyiminin yerine kullanılacak daha gelişmiş bir yapı gibi algılamamalıyız. Iki
deyimin de kullanım amacına göre birbirine üstün olduğu durumlar vardır.
switch deyimini, koşul sayısı fazla olduğunda, daha net ve anlaşılır bir yapı
sunduğu için yuvalanmış if yapısına tercih edeceğiz. Bunun dışında yerine göre
her iki deyim de C'de sıklıkla kullanılır(biz de öyle yapacağız).
switch deyimi de if deyimi gibi bir ifade alarak bu ifadeyi test eder ve bu
ifadenin sonucuna göre, önceden belirlenmiş durumlardan biri çalıştırılır. Dizilimi
şu şekildedir:
switch (koşul) {
case sabiti:
çalıştnlacak satır;
break;
case sabit2:
çalestinacak satir;
break;
case sabith:
çalıştırılacak satir;
break;
default:
çalıştırılacak satır;
}
örnek program ile sonlandıralım.
#include<stdio.h>
int main()
{
int urunSayisi = 0;
int gun = 0;
char *gunIsmi;
printf("haftanin gununu giriniz (1-7):");
scanf("%d", &gun);
//girilen bilgiyi kontrol et
if (gun < 1 || gun > 7)
{
printf("lutten 1-7 arasinda bir sayi giriniz!");
return 0;
}
switch (gun) {
case 7:
urunSayisi += 20;
if (gun==7) gunIsmi = "pazar";
case 6:
urunSayisi += 15;
if (gun==6) gunIsmi = "cumartesi";
case 5:
urunSayisi += 10;
if (gun==5) gunIsmi = "cuma";
case 4:
urunSayisi += 7;
if (gun+4) gunIsmi = "persembe" ;
case 3:
urunSayisi += 7;
if (gun-3) gunIsmi = "carsamba";
case 2:
urunSayisi += 5;
if (gun-=2) gunIsmi = "sali";
case 1:
urunSayisi += 5;
if (gun=-1) gunIsmi = "pazartesi";
} // switch sonu
// sonucu ekrana yaz:
printf("%s gunu sonunda toplam %d urun satisi yapildi!",gunIsmi,urunSayisi);
return 0;
}
Hiç yorum yok:
Yorum Gönder
Her yorum bilgidir. Araştırmaya devam...