N tane durumdan bir tanesi seçmek için kullanıyoruz. Zar attık 1 geldiğinde farklı bir kod, 2 geldiğinde farklı bir kod, …, 6 geldiğinde farklı bir kod çalışsın istiyoruz. Bu tip durumlarda switch case yapısını kullanıyoruz.
Aşağıdaki örnekte verilen ay numarasına göre ayın ismini yazan bir kod yazdık. Örneğin 1 verdiysek Ocak, 2 verdiysek Şubat … diye yazdıracak. Eğer verdiğimiz sayı Case durumlarında yoksa Default: çalışacak.
#include <iostream>
using namespace std;
int main() {
int ay_sayisi = 2;
switch (ay_sayisi){
case 1:
cout << "Ocak" << endl;
break;
case 2:
cout << "Subat" << endl;
break;
case 3:
cout << "Mart" << endl;
break;
case 4:
cout << "Nisan" << endl;
break;
case 5:
cout << "Mayis" << endl;
break;
case 6:
cout << "Haziran" << endl;
break;
case 7:
cout << "Temmuz" << endl;
break;
case 8:
cout << "Agustos" << endl;
break;
case 9:
cout << "Eylul" << endl;
break;
case 10:
cout << "Ekim" << endl;
break;
case 11:
cout << "Kasim" << endl;
break;
case 12:
cout << "Aralik" << endl;
break;
default:
cout << "Boyle bir ay yok" << endl;
break;
}
}
Peki break ifadesini kullanmasak ne olur?
#include <iostream>
using namespace std;
int main() {
int ay_sayisi = 5;
switch (ay_sayisi){
case 1:
cout << "Ocak" << endl;
case 2:
cout << "Subat" << endl;
case 3:
cout << "Mart" << endl;
case 4:
cout << "Nisan" << endl;
case 5:
cout << "Mayis" << endl;
case 6:
cout << "Haziran" << endl;
case 7:
cout << "Temmuz" << endl;
case 8:
cout << "Agustos" << endl;
case 9:
cout << "Eylul" << endl;
case 10:
cout << "Ekim" << endl;
case 11:
cout << "Kasim" << endl;
case 12:
cout << "Aralik" << endl;
//break;
default:
cout << "Boyle bir ay yok" << endl;
}
}
Mayis
Haziran
Temmuz
Agustos
Eylul
Ekim
Kasim
Aralik
Boyle bir ay yok
5. aydan itibaren tüm ayları yazdırdı ayrıca default ifadesini de yazdırdı. Eğer default ifadesini yazdırmasın istiyorsak bir üst satıra break; ifadesini koyabiliriz.
Sayı ile kullanmak yerine enum ile kullanabiliriz. Zaten bu tip durumlar için ideal bir yapı.
#include <iostream>
using namespace std;
enum MenuOptions
{
MAIN,
OPTIONS,
CREDIST,
SINGLE_PLAYER,
MULTI_PLAYER
};
int main() {
MenuOptions mo = MenuOptions::MAIN;
switch (mo)
{
case MAIN:
cout << " main menu \n";
break;
case OPTIONS:
break;
case CREDIST:
break;
case SINGLE_PLAYER:
break;
case MULTI_PLAYER:
break;
default:
break;
}
}


Leave a Reply