Sungurbey Anadolu Lisesi

Sungurbey Anadolu Lisesi Paylaşım Merkezi
 
AnasayfaSSSAramaÜye ListesiKullanıcı GruplarıKayıt OlGiriş yap

Paylaş | 
 

 Bilgisayardershanesi.com --> C++ Switch-Case Komutu

Önceki başlık Sonraki başlık Aşağa gitmek 
YazarMesaj
Admin
Admin
avatar

Mesaj Sayısı : 54
Kredi : 135147
Kayıt tarihi : 15/05/10
Yaş : 23
Nerden : Adana

MesajKonu: Bilgisayardershanesi.com --> C++ Switch-Case Komutu   Perş. Mayıs 20, 2010 12:01 pm

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
http://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:

http://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.
Sayfa başına dön Aşağa gitmek
Kullanıcı profilini gör http://sungurbey.hareketforum.com
 
Bilgisayardershanesi.com --> C++ Switch-Case Komutu
Önceki başlık Sonraki başlık Sayfa başına dön 
1 sayfadaki 1 sayfası
 Similar topics
-
» ENDÜSTRİYEL KALIPÇILIK

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
Sungurbey Anadolu Lisesi :: Yazılım :: C ve C++-
Buraya geçin: