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ı gerektiğini 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ındaki 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 burada yazan kodları uygula demektir..Önceden if yapısında if(sayi==1) gibi.Burada switch seçmemizin sebebi de 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 yarayacak 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ı inceleyebilirsiniz.

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öylediğim gibi char karakterleri 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 komutu da büyük bir boşluk bırakmamızı sağlar.

t ve n KULLANIM ÖRNEKLERİ

cout<<“MerhabanDunya”;
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<<“MerhabatDunya”;

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

HAZIRLAYAN: Onur YERAL – Elektrik Elektronik Mühendisi

Categories:

Tags:

No responses yet

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir