13.12.2015
Bilgisayar Programlama
1
Çoklu Seçim Yapısı
(Switch Statment)
Değişken veya ifadenin alabileceği bütün durumların test
edilmesi her bir durum için farklı komutların
yürütülmesinin gerektiği durumlarda tercih edilir.
if ( case 1 ){
» actions
}
else if ( case 2) {
» actions
}
else if (default _case){
» actions}
switch ( value ){
case '1':
» actions
case '2':
» actions
default:
» actions
}
13.12.2015
Bilgisayar Programlama
2
Daha önceden öğrenilmiş olan else if yapısının
çalışması ile benzerlik gösterir.
switch ( value ){
case '1':
 actions
case '2':
 actions
default:
 actions
}
13.12.2015
Bilgisayar Programlama
3
break ve continue ifadeleri
break
– While, for, do-while ve switch ifadelerinden
acil olarak çıkışı sağlar.
– Programın yürütümü yapıdan sonraki ilk
ifadeden olacak şekilde çalışmaya devam eder.
– Aşağıdaki durumlarda tercih edilir.
• Döngüden erken çıkmak için
• Switch ifadesindeki diğer ifadeleri işletmemek için.
13.12.2015
Bilgisayar Programlama
4
continue
– while, for
veya do…while ifadelerinin gövdesindeki
kalan ifadeleri atlar.
• Döngüye bir sonraki iterasyondan devam eder.
– While
ve do…while ifadelerinde;
• Continue ifadesi icra edildikten sonra hemen şart testi
yapılır.
– for ifadesinde ise;
• Önce artım operatörü işletilir ve daha sonra şart testi
sınanır.
13.12.2015
Bilgisayar Programlama
5
Akış Şeması
case a
true
case a action(s)
break
case b action(s)
break
case z action(s)
break
false
case b
true
false
.
.
.
case z
true
false
default action(s)
13.12.2015
Bilgisayar Programlama
6
Örnek
Bir giyim mağazasında 3 farklı bedende ceket
satılmaktadır (-S (Small), -M (Medium) ve –L (Large)).
Mağazada satılan ceket türlerini klavyeden alarak hangi
türden kaç adet satıldığı bilgisini ekrana veren programı
yazınız.
Not: Klavyeden 0 girildiğinde program kullanıcıdan veri
almayı bıraksın.
13.12.2015
Bilgisayar Programlama
7
int main(int argc, char *argv[])
{ int s=0,m=0,l=0; char urun;
printf("Urun turunu giriniz");
for(;(urun=getchar())!='0';) {
if (urun==10) continue;
switch (urun)
{ case 'S':
case 's': s++;break;
case 'M':
case 'm': m++;break;
case 'L‘:
case 'l': l++;break; } printf("Urun turunu giriniz");
}
printf("Small beden satilan urunler : %d\n",s);
printf("Medium beden satilan urunler: %d\n",m);
printf("Large beden satilan urunler : %d\n",l);
system("PAUSE");
return 0; }
13.12.2015
Bilgisayar Programlama
8
While Döngüsü
Programda belli bir şart true olduğu sürece bazı ifade
bloklarının sürekli tekrar etmesinin istenildiği
durumlarda kullanılır.
While döngüsü belirtilen şart false olduğunda
döngüden çıkar.
13.12.2015
Bilgisayar Programlama
9
Örn:
int product = 2;
while ( product <= 1000 )
product = 2 * product;
product <= 1000
true
product = 2 * product
false
13.12.2015
Bilgisayar Programlama
10
Örnek
Bir giyim mağazasında 3 farklı bedende ceket
satılmaktadır (-S (Small), -M (Medium) ve –L (Large)).
Mağazada satılan ceket türlerini klavyeden alarak hangi
türden kaç adet satıldığı bilgisini ekrana veren programı
yazınız.
Not: Klavyeden 0 girildiğinde program kullanıcıdan veri
almayı bıraksın.
13.12.2015
Bilgisayar Programlama
11
int main(int argc, char *argv[])
{ int s=0,m=0,l=0; char urun;
printf("Urun turunu giriniz");
while ((urun=getchar())!='0')
{
if (urun==10) continue;
switch (urun)
{ case 'S':
case 's': s++;break;
case 'M':
case 'm': m++;break;
case 'L':
case 'l': l++;break; } printf("Urun turunu giriniz");
}
printf("Small beden satilan urunler : %d\n",s);
printf("Medium beden satilan urunler: %d\n",m);
printf("Large beden satilan urunler : %d\n",l);
system("PAUSE");
return 0; }
13.12.2015
Bilgisayar Programlama
12
do-while Döngüsü
While döngü yapısına oldukça benzemektedir.
Tekrar için gerekli olan koşul döngünün gövdesi işletildikten
sonra test edilir. Bu yüzden döngü bloğunun içindeki ifadeler
en az 1 defa işletilir.
Kullanımı:
do {
statement;
} while ( condition );
13.12.2015
Bilgisayar Programlama
13
Akış Şeması
action(s)
true
condition
false
13.12.2015
Bilgisayar Programlama
14
Örnek
Bir giyim mağazasında 3 farklı bedende ceket
satılmaktadır (-S (Small), -M (Medium) ve –L (Large)).
Mağazada satılan ceket türlerini klavyeden alarak hangi
türden kaç adet satıldığı bilgisini ekrana veren programı
yazınız.
Not: Klavyeden 0 girildiğinde program kullanıcıdan veri
almayı bıraksın.
13.12.2015
Bilgisayar Programlama
15
int main(int argc, char *argv[])
{ int s=0,m=0,l=0; char urun;
do
{ if (urun==10) continue;
switch (urun)
{ case 'S':
case 's': s++;break;
case 'M':
case 'm': m++;break;
case 'L':
case 'l': l++;break; } printf("Urun turunu giriniz");
} while ((urun=getchar())!='0');
printf("Small beden satilan urunler : %d\n",s);
printf("Medium beden satilan urunler: %d\n",m);
printf("Large beden satilan urunler : %d\n",l);
system("PAUSE");
return 0; }
13.12.2015
Bilgisayar Programlama
16
Download

Sunu 4