SWİTCH-CASE NEDİR?

Switch-case yapısı if-else yapısı ile aynı mantıkla çalışır.Kullanıcının seçimine göre yapılacak işlem değişir.Switch-case yapısınıı çok koşul olduğu zaman if-else kullanımına tercih etmeliyiz çünkü switch-case bizi bir çok if-else kullanımından kurtarıyor.

SWİTCH CASE YAPISI

Örnek olarak bilgisayar bizden 1 ile 5 arası bir sayı girmemizi istesin ve girdiğimiz sayıyı bize söylesin.

Öncelikle koşul değişkenimizi tanımlarız.Sonra girilen sayıya göre ne yazması gerektiyini kodlarız.

int sayi;

switch(sayi)

{

   case 1:  cout<<"Girdiyiniz sayi 1";break;

case 2:  cout<<"Girdiyiniz sayi 2";break;

case 3: cout<<"Girdiyiniz sayi 3";break;

case 4:cout<<"Girdiyiniz sayi 4";break;

case 5:cout<<"Girdiyiniz sayi 5";break;

default:cout<<"Girdiyiniz sayi gecersiz";break;

}

Bu kodu inceliyelim.Switchin yanındakı parantezin içinde her zaman bizim koşul değişkenimiz olmalı.O değişkene göre yapılacak işlemler değişir.Daha sonra köşeli parantez açılmış ve o değişkenin durumuna göre kodlar yazılmış."case 1:" demek o değişkenin 1 olması durumunda burda yazan kodları uygula demektir..Önceden if yapısında if(sayi==1) gibi.Burda switch seçmemizin sebebide sürekli if açıp koşulu yeniden yazmamaktır.Daha sonra case yapısının sonunda "break;" var.Bu bilgisayara o durumun bittiğini ve durması gerektiğini söylüyor ve switch yapısından çıkartıyor.

Şimdi switch-case yapısıyla gerçekten işe yarıyacak bir program yazmayı deneyelim.Örneğin hesap makinesi.Kodumuz şöyle olur:

#include <iostream>
using namespace std;
int main()  {
    char sec;
    int a,b;
    cout<<"Lutfen yapmak istediyiniz islemi seciniz:"<<endl;
    cout<<"Toplama icin t"<<endl<<"Cikarma icin e"<<endl<<"Carpma icin c"<<endl<<"Bolme icin b yaz"<<endl<<"Secim:";
    cin>>sec;
    switch(sec){
        case 't':
            cout<<"Toplamak istediyiniz iki sayiyi giriniz:";
            cin>>a>>b;
            cout<<"Toplam:"<<a+b;
            break;
        case 'e':
           cout<<"Cikarmak istediyiniz iki sayiyi giriniz(once buyuk sayi:";
            cin>>a>>b;
            cout<<"Sonuc:"<<a-b;
            break;
        case 'c':
            cout<<"Carpmak istediyiniz iki sayiyi giriniz:";
            cin>>a>>b;
            cout<<"Carpimları:"<<a*b;
            break;
        case 'b':
            cout<<"Bolmek istediyiniz iki sayiyi giriniz(once bolunecek sayi):";
            cin>>a>>b;
            cout<<"Bolumleri:"<<a+b;
            break;
         default:cout<<"gecersiz giris";break;
        }
        
            return 0;
        }        

Kodu yorumlarsak koşul değişkenimiz secdir.Secime girilen harflere göre durumlar açılmış ve toplama çıkarma çarpma bölme gibi işlemler yaptırabiliyoruz.Kodu derleyicinize kopyalayıp nasıl çalıştığını inceliyebilirsiniz.

HATIRLATMALAR VE NOTLAR:

1-endl bir satır boşluk bırakmamızı sağlayan komuttur.

2-case 't':    burada t harfini tırnak içine almamızın sebebi daha önceki derste söylediyim gibi char karekterleri tek tırnak içinde gösterilir.

3-endl yapısına alternatif olarak \n kullanırsak bu komutta boşluk bırakmamızı sağlar.Ek olarak \t komutuda büyük bir boşluk bırakmamızı sağlar.

\t ve \n KULLANIM ÖRNEKLERİ

cout<<"Merhaba\nDunya";

bu satır merhaba yazıp alta geçip dünya yazar.Bu satırla aynıdır;

cout<<"Merhaba"<<endl<<"Dunya";

\t icin ise 

cout<<"Merhaba\tDunya";

Merhaba yazdıktan sonra büyük bir boşluk bırakıp dunya yazar.

BİZİMLE İLETİŞİME GEÇİN

Tüm hakları www.bilenkalem.com sitesine aittir.