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