Ana Sayfa

Bilgisayar Eğitim CD

Bilgisayar Kitapları

 
 
Adım Adım Web Eğitim Seti Adobe Flash Eğitim Seti


C ve C++ Dersleri Geri Dön

C++ Eğitim Seti

C++ Switch-Case Komutu

SWITCH-CASE KOMUTU

Switch Case deyimi islev bakimindan if deyimine çok benzemektedir. Çok sayida if islem bloklari kullandigimizda programin okunurlugu azalacak ve programi izlemek zorlasacaktir. Programimizin bir degerini bir çok degerle karsilastirmak gerektiginde switch komutunu kullanacagiz. Switch seçenegi ile degiskenin durumuna göre bir çok durum içersinden bir tanesi gerçeklestirilir. Istersek de if deyimi ile switch case'' yi birlikte kullanabiliriz. Switch in yaptigi is kisaca, ifadenin degerini sirayla sabitlerle karsilastirarak ve her satiri islemektir.

switch( Kontrol Degiskeni )
{
case Sabit1 : komut1;
case Sabit2 : komut2;
.
.
.
default : Komutson;
}



Buna en basit örnegimizi verelim
//switch.cpp
// switch-case yi ögreniyoruz.

#include <iostream.h>

main()
{
int i;
cout<< " 1 ile 4 arasi sir sayi giriniz:";
cin>>i;
switch(i)
{

case 1 :cout<<"1 Girdiniz"; break;
case 2 :cout<<"2 Girdiniz"; break;
case 3 :cout<<"3 Girdiniz"; break;
case 4 :cout<<"4 Girdiniz"; break;

default:cout<<"1 ile 4 ten farkli";
}
}


Burada gördügümüz gibi i degiskenine bagli olarak program isliyor. Case''lerinin aldigi degere göre kendinden sonra gelen komutlari isliyorlar. Burada daha önce görmedigimiz break komutunu gördük. Buna ilerde daha detayli olarak deginecegim. Fakat biraz bahsetmek istiyorum. Programimizda degiskene 1 degerini verdigimizi farz edelim. Case 1 adli satiri geçip ondan sonraki komut dizisini isleme soktuk. Bu islemin tamamlanmasi için break komutu kullaniliyor. Yazilimda break komutu goto gibi islev görür ve derleyiciye switch komutundan çikmasi için talimat verir. Sorunu ortadan kaldirmak için her durum için break deyimi eklemeliyiz (tavsiye). Ne demistik; bir çok karsilastirma oldugunda switch''e ihtiyaç duyuyoruz. Karsilastirmalarin hiç biri olmadigi anda da ortaya default tan sonraki satirin islenmesi kaliyor. Sanirim bu örnekte basit olarak anlamis olacagiz.

Daha karmasik bir örnek verecek olursak:

//ucgen.cpp
// Program girecegimiz ölçülere göre üçgenin Alan, Yükseklik ve Tabanini bulur
// switch-case örnegimiz.

#include <iostream.h>

int main()
{
char secenek;
float alan, yukseklik, taban;

cout << "Program girecegimiz ölçülere göre üçgen''in Alan,
Yükseklik ve Tabanini bulur!\n" << endl
<< " A ---> Alan : Bulmak için yükseklik ve tabani girecegiz:" << endl
<< " h ---> Yükseklik : Bulmak için alan ve tabani girecegiz:" << endl
<< " t ---> Taban : Bulmak için alan ve yüksekligi girecegiz:" << endl
<< endl << endl;
cout<< "Seçeneginiz? ---> A, h, t :";
cin>> secenek;

switch(secenek)
{
case ''a'':

case ''A'':
{
cout<< endl <<endl <<"Yükseklik: ";
cin>> yukseklik;
cout<<endl << "Taban: ";
cin >> taban;

alan = 0.5 * taban * yukseklik;

cout<<endl << endl << "Alani: " << alan << endl;

break;
}

case ''h'':
case ''H'':
{
cout<< endl << endl <<"Alani: ";
cin>> alan;
cout<<endl << "Tanabi: ";
cin >> taban;

yukseklik = 2.0 * alan / taban;

cout << endl << endl << "Yükselik: " << yukseklik << endl;
break;
}

case ''t'':
case ''T'':
{
cout << endl <<endl <<"Alani: ";
cin >> alan;
cout << endl << "Yüksekligi: ";
cin >> yukseklik;

taban = 2.0 * yukseklik / alan;

cout << endl << endl <<"Tabani: " << taban << endl;
break;
}
}
return 0;
}


Gayet basit bir örnek degiskenleri tanimladik. Caseleri koyduk ve caselerden sonra gelecek komut satirlarini yerlestirdik. Bu program göründügü gibi zor degildir.