12 Haziran 2015 Cuma

C Programlama Ders 6 - Switch ~ Case

Bu yapı belli bir değişken ile program içerisinde seçenekler oluşturmamızı sağlar.
Kullanım Şekli:
switch(değişken){
         case sabit1:{
              //işlemler 
              break;
             }
         case sabit2:{
              //işlemler 
              break;
             }
         case sabit3:{
              //işlemler 
              break;
             }



         default:{
               // sabit dışındaki işlem
          }
}

Burada case (durum) , seçenekleri belirtir. sabitler ise değişkenin alabileceği değerlerdir.
Break komutu ise case yapısının sonuna geldiğinde switch den dışarı çıkmasını ,yani diğer case leri atlamasını sağlayacaktır.

Örnek verelim:

#include  <stdio.h>
#include  <conio.h>

int main(){
   int x;
   scanf("%d",&x);
      
   switch(x){
        case 1:{
           printf("%d. durum secildi",x);
          break;
         }
        case 2:{
           printf("%d. durum secildi",x);
          break;  
         }
        case 3:{
           printf("%d. durum secildi",x);
          break;  
         }
        default:{
            printf("1-2-3 disinda bir durum secildi"); 
           }
}
getch();
return 0;
}

Kullanıcıdan bir int değer girmesini istedik. Bu değeri switch de kullandık. Kullanıcı 1 girdiğinde x=1 olacak ve case 1 durumu seçilecektir. case 1 içindeki işlemler çalışacak ve sonrasında break olduğu için switch den çıkılacaktır.Break olmasaydı. case 2 , case 3 ve default durumları da işleme sokulacaktı.

Kullanıcı 2 girdiğinde x=2 olacak ve 2.durum çalışacaktır.
Kullanıcı 3 girdiğinde x=3 olacak ve 3.durum çalışacaktır.

Eğer kullanıcı 1-2-3 yani benim case lerim dışında bir değer girdiğinde default durumu çalışacaktır.

Başka bir örnek inceleyelim:

#include  <stdio.h>
#include  <conio.h>

int main(){
   int sayi1,sayi2,x;
   printf("1. Sayiyi giriniz: ");
   scanf("%d",&sayi1);
   printf("2. Sayiyi giriniz: ");
   scanf("%d",&sayi2);
   printf("\n\n1- Toplama,2- Cikarma,3- Carpma,4- Bolme\n\tYapacaginiz islemi seciniz:);
   scanf("%d",&x);
      
   switch(x){
        case 1:{
           printf("%d",sayi1+sayi2);
          break;
         }
        case 2:{
           printf("%d",sayi1-sayi2);
          break;  
         }
        case 3:{
           printf("%d",sayi1*sayi2);
          break;  
         }
        case 4:{
            printf("%d",sayi1/sayi2);
            break; 
          }
        default:{
            printf("4 secenekten birini secmelisiniz !"); 
           }
}
getch();
return 0;
}

Bu programda kullanıcının girdiği iki sayıyı program 4 işlemden birini yaparak ekrana yazdırıyor.
Programı inceleyecek olursak:
1- Kullanıcıdan sayi1 ve sayi2 adında 2 sayı alındı.
2- Kullanıcıyı yönlendirmek için printf ile basit bir menü oluşturuldu.
3- menü den kullanıcıya girdiği değere göre switch e yönlerdirdik.
Kullanıcı 1 i seçtiğinde toplama islemini case 1 de yaptırdık. Diğer işlemler içinde aynı mantığı kullandık.
Eğer kullanıcıya biz menüde 4 seçenek verdik eğer kullanıcı bu 4 seçenek dışında bir değer girerse, default durumu çalışacaktır ve gerekli uyarıyı verecektir.

Başka bir örnek inceleyelim:

#include  <stdio.h>
#include  <conio.h>

int main(){
  char durum;
  
   printf("Isleme devam etmek icin E cikmak icin H tuslayiniz (E/H)...");
   scanf("%c",&durum);
      
   switch(durum){
        case 'E':{
           printf("Isleme devam ediliyor...");
          break;
         }
        case 'e':{
           printf("Isleme devam ediliyor...");
          break;  
         }
        case 'H':{
           printf("Program kapatiliyor...");
          break;  
         }
        case 'h':{
            printf("Program kapatiliyor...");
            break; 
          }
        default:{
            printf("Hatali Tuslama"); 
           }
}
getch();
return 0;
}

Bu programda karakter kullanarak durum seçiyoruz.
1-durum adında bir char oluşturuyoruz.
2- kullanıcıdan bir karakter girmesini istiyoruz.a
3- Kullanıcı E veya e girerse işleme devam ediliyor, H veya h girerse program kapatılıyor mesajını yazdırıyoruz.

Burada dikkat etmemiz gereken durum karakterleri tek tırnak arasına alıyoruz.  ' h ' , 'E' gibi...

switch-case ile ilgili şimdilik söyleyeceklerim bu kadar. Sonraki derslerde daha ayrıntılı kullanımını göreceğiz...




Hiç yorum yok:

Yorum Gönder