Menü döngüsü
- C kursu
- Başlangıç
- Ders 22/116
- 6 dk
switch-case ile bir menü döngüsü yazarsın.
Menü için while ve switch
Şimdiye kadar hesap makinesi tüm işlemleri arka arkaya yaptı. Gerçek bir hesap makinesinde kullanıcı bir menüden işlem seçer. Bunun için while döngüsü ve switch deyimi kullanırız:
int choice = 1;
while (choice != 0) {
switch (choice) {
case 1: ... break;
case 2: ... break;
default: break;
}
choice = 0;
}while döngüyü döndürür, switch seçime göre dalı yürütür.
switch deyimi
switch deyimi bir değişkenin değerine göre farklı dalları yürütür:
switch (choice) {
case 1: add(...); break;
case 2: subtract(...); break;
default: break;
}Her case'in sonunda break olmalı; aksi halde yürütme bir sonraki case'e akar. default ise hiçbir case eşleşmezse yürütülür.
Uygulama Menü döngüsü ekle
Aşağıdaki koddaki main'i değiştir: printf çağrılarını çıkarıp yerine bir while döngüsü ve switch ekle. int choice = 1; ile başlasın, case 1: printf("%d\n", add(5, 3)); break; ve case 2: printf("%d\n", subtract(5, 3)); break; dalları olsun, default: break; ve döngü sonunda choice = 0; ile çıkılsın. printf("Hesap makinesi\n"); başlık olarak kalsın.
Başlangıç kodu
#include <stdio.h>
int add(int a, int b) {
return a + b;
}
int subtract(int a, int b) {
return a - b;
}
int multiply(int a, int b) {
return a * b;
}
int divide(int a, int b) {
if (b == 0) return 0;
return a / b;
}
int main(void) {
printf("Hesap makinesi\n");
printf("%d\n", add(5, 3));
printf("%d\n", subtract(5, 3));
printf("%d\n", multiply(5, 3));
printf("%d", divide(6, 3));
return 0;
}Örnek çözüm
#include <stdio.h>
int add(int a, int b) {
return a + b;
}
int subtract(int a, int b) {
return a - b;
}
int multiply(int a, int b) {
return a * b;
}
int divide(int a, int b) {
if (b == 0) return 0;
return a / b;
}
int main(void) {
printf("Hesap makinesi\n");
int choice = 1;
while (choice != 0) {
switch (choice) {
case 1: printf("%d\n", add(5, 3)); break;
case 2: printf("%d\n", subtract(5, 3)); break;
default: break;
}
choice = 0;
}
return 0;
}Beklenen çıktı
Hesap makinesi 8
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Menü için en uygun döngü?
- for
- do-while
- while Doğru cevap
- foreach
Açıklama: while döngüsü koşul sağlandıkça döner; menü için uygundur.
2 Döngü koşulu
while (____) { ... }
while (choice != 0) { ... }
Açıklama: choice != 0 koşulu choice 0 olana kadar döngüyü sürdürür.
3 switch'te break ne yapar?
- Döngüyü başlatır
- Sonraki case'e geçer
- Default'a gider
- Switch'ten çıkar Doğru cevap
Açıklama: break switch'ten çıkar ve bir sonraki case'e akışı engeller.