15 Şubat 2018 Perşembe

C++ Switch Case Yapısı

Bu yapı ile verilen bir değişkendeki veriyi kontrol ederek, program akışını bir çok seçenekten birine yönlendirir. Switch() ile değişkendeki veri alınır. Case ile değişendeki veri kontrol edilir. Eğer case'deki durumların hiçbirine uymazsa program default'da yer alan komutları çalıştıracaktır. Bunu if else yapısı ile de yapabiliriz. Fakat program kodları biraz uzun olacağından programcılar bu yapıyı tercih ediyorlar.


Kullanımı: 

switch(değişken) {

   case 1: {
      Komutlar 1
   break;
   }
   case 2: {
      Komutlar 2
   break;
   }
   case 3: {
      Komutlar 3
   break;
   }
    .
    .
    .
   case n: {
      Komutlar n
   break;
   }

   default: {
   Koşulların sağlanmadığı durumdaki komutlar.
   }
}

Default: Switch case yapısındaki koşulların sağlanmaması durumunda bu komuttan sonra gelen kodlar çalışacaktır. Kullanımı isteğe bağlıdır.
Break: Switch-case yapısında case yapılarının sadece birinin çalıştırılması için kullanılır. Kullanılmadığı durumda doğru olan koşuldan sonra bütün koşullar doğru kabul edilecektir. Kullanımı isteğe bağlıdır.

Uygulama 1:

Bu uygulamada kullanıcının girdiği sayıları kontrol edeceğiz.

#include <iostream>
#include <conio.h> // getch() fonksiyonu için.

using namespace std;

int main(){
 
 int x;
 
 cout << "1-3 arasinda bir sayi girin: ";
 cin >> x;
 
 switch(x){
  case 1: {
   cout << "1 sayisini girdiniz!";
   break;
  }
  case 2: {
   cout << "2 sayisini girdiniz!";
   break;
  }
  case 3: {
   cout << "3 sayisini girdiniz!";
   break;
  }
  default: {
   cout << "1-3 arasinda bir sayi girmediniz!";
  }
 }
 
 getch();
 return(0);
}

Uygulama 2:

Bu uygulamada switch case yapısı ile basit bir hesap makinesi yaptık.

#include <iostream>
#include <stdlib.h> // system("CLS") fonksiyonu için.

using namespace std;

int main(){
 
 int x, y, z, sonuc;
 
 while (1) {
  cout << endl << 
   "\t Toplama => 1\n "
   "\t Cikarma => 2\n "
   "\t Carpma  => 3\n "
   "\t Bolme   => 4\n "
   "\t Cikis   => 0\n\n ";
     
  cout << "Islemi seciniz:: ";
  cin >> z;
  
  if (z == 0)
   goto label; // z'nin 0 olması dırımında programı sonlandır.
     
  cout << endl << "Birinci sayiyi gir: ";
  cin >> x;
  cout << endl << "İkinci sayiyi gir: ";
  cin >> y;
   
  switch(z){
   case 1: {
    system("CLS"); // Ekrandaki verileri temizler.
    sonuc = x + y;
    cout << x << " + " << y << " = " << sonuc << endl;
    break;
   }
   case 2: {
    system("CLS");
    sonuc = x - y;
    cout << x << " - " << y << " = " << sonuc << endl;
    break;
   }
   case 3: {
    system("CLS");
    sonuc = x * y;
    cout << x << " * " << y << " = " << sonuc << endl;
    break;
   }
   case 4: {
    system("CLS");
    sonuc = x / y;
    cout << x << " / " << y << " = " << sonuc << endl;
    break;
   }
 
   default: {
    system("CLS");
    cout << endl << "Yanlis bir secim yaptiniz!" << endl;
   }
  }
 }
 
label:; 

 return(0);
}
Yazımızı okuduğunuz için teşekkür ederiz...

Hiç yorum yok:

Yorum Gönder