Dokuman Anasayfa
 


 

Switch-case Komutları

Switch Case deyimi işlev bakımından if deyimine çok benzemektedir. Çok sayıda if işlem blokları kullandığımızda programın okunurluğu azalacak ve programı izlemek zorlaşacaktır. Programımızın bir değerini bir çok değerle karşılaştırmak gerektiğinde switch komutunu kullanacağız. Switch seçeneği ile değişkenin durumuna göre bir çok durum içersinden bir tanesi gerçekleştirilir. İstersek de if deyimi ile switch case' yi birlikte kullanabiliriz. Switch in yaptığı iş kısaca, ifadenin değerini sırayla sabitlerle karşılaştırarak ve her satırı işlemektir.
	switch( Kontrol Değişkeni  )
	{
		case Sabit1 : komut1;                                        
		case Sabit2 : komut2;                                     
		    .
		    .		
		    .
		default :     Komutson;
	}

Buna en basit örneğimizi verelim

//switch.cpp
// switch-case yi öğreniyoruz.

#include <iostream.h>

 main()
{
int i;
cout<< " 1 ile 4 arası sir sayı 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 farklı"; 
}
}

Burada gördüğümüz gibi i değişkenine bağlı olarak program işliyor. Case'lerinin aldığı değere göre kendinden sonra gelen komutları işliyorlar. Burada daha önce görmediğimiz break komutunu gördük. Buna ilerde daha detaylı olarak değineceğim. Fakat biraz bahsetmek istiyorum. Programımızda değişkene 1 değerini verdiğimizi farz edelim. Case 1 adlı satırı geçip ondan sonraki komut dizisini işleme soktuk. Bu işlemin tamamlanması için break komutu kullanılıyor. Yazılımda break komutu goto gibi işlev görür ve derleyiciye switch komutundan çıkması için talimat verir. Sorunu ortadan kaldırmak için her durum için break deyimi eklemeliyiz (tavsiye). Ne demiştik; bir çok karşılaştırma olduğunda switch'e ihtiyaç duyuyoruz. Karşılaştırmaların hiç biri olmadığı anda da ortaya default tan sonraki satırın işlenmesi kalıyor. Sanırım bu örnekte basit olarak anlamış olacağız.

Daha karmaşık bir örnek verecek olursak:

//ucgen.cpp
// Program gireceğimiz ölçülere göre üçgenin Alan, Yükseklik ve Tabanını bulur
// switch-case örneğimiz.

#include <iostream.h>

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

cout << "Program gireceğimiz ölçülere göre üçgen'in Alan, 
		Yükseklik ve Tabanını bulur!\n" << endl
     << "    A ---> Alan      : Bulmak için yükseklik ve tabanı gireceğiz:" << endl 
     << "    h ---> Yükseklik : Bulmak için alan ve tabanı gireceğiz:" <<  endl 
     << "    t ---> Taban     : Bulmak için alan ve yüksekliği gireceğiz:" <<  endl 
     << endl <<  endl; 
cout<< "Seçeneğiniz? --->  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 << "Alanı: " << alan << endl; 

	break; 
     }

     case 'h': 
     case 'H': 
     { 
	cout<< endl << endl <<"Alanı: "; 
	cin>> alan; 
	cout<<endl << "Tanabı: "; 
	cin >> taban; 

	yukseklik = 2.0 * alan / taban; 

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

     case 't': 
     case 'T': 
     { 
	cout << endl <<endl <<"Alanı: "; 
	cin >> alan; 
	cout << endl << "Yüksekliği: "; 
	cin >> yukseklik; 

	taban = 2.0 * yukseklik / alan; 

	cout << endl << endl <<"Tabanı: " << taban << endl; 
	break; 
     } 
} 
return 0; 
}

Gayet basit bir örnek değişkenleri tanımladık. Caseleri koyduk ve caselerden sonra gelecek komut satırlarını yerleştirdik. Bu program göründüğü gibi zor değildir.

 

» Hakkımızda
  İcerikde ekli bulunan dokumanların her hangı bır websitesi veya baska bır kaynakla alakası yoktur.Tamamen bizim emegimiz olan bu dokumalar uzun cabalar sonucunda bukadarı bır araya getirilmistir.Onun için emege saygılı olalım.
Genel Sorumlu ::  [ Site Yöneticisi ]  [ By SaNaLLord
 . Anasayfa . Bize ulasin . 
SaNaLLoRd Bilgi İşlem merkezi Genel tasarim ve kodlamada son nokta