switch ile aşağıdaki gibi yazılıyor. kitapta bunu if else ile yazmamız istenmiş. biraz uğraştım fakat istediğim gibi çalıştıramadım bir tülü. yardımlarınızı bekliyorum.
//Harf notlarının sayılması
#include <stdio.h>
int main() { int not1; int aSay=0, bSay=0, cSay=0, dSay=0, fSay=0;
printf("Harf notlarini girin.\n"); printf("Cikis icin EOF karakteri (ctrl+z MSDOS sisteminde) girin.\n");
while ((not1=getchar())!=EOF){ switch (not1){ /*while içine yuvalanmış switch*/
case 'A': case 'a': //not büyük A yada küçük a iken ++aSay; break;
case 'B': case 'b': //not büyük B yada küçük b iken ++bSay; break;
case 'C': case 'c': //not büyük C yada küçük c iken ++cSay; break;
case 'D': case 'd': //not büyük D yada küçük d iken ++dSay; break;
case 'F': case 'f': //not büyük F yada küçük f iken ++fSay; break;
case '\n': //bunları veri olarak kabul etme break;
default: //diğer tüm karakterleri yakala printf("Yanlis harf notu girildi."); printf("Yeni bir not girin.\n"); break; } }
printf("\n Her harf notu icin toplam:\n"); printf("A: %d\n",aSay); printf("B: %d\n",bSay); printf("C: %d\n",cSay); printf("D: %d\n",dSay); printf("F: %d\n",fSay);
return 0; }
Bu da if else ile yazmaya çalıştığım kod. Tahmin yürüterek yazmaya çalıştım ama bu şekilde yazmak hatalı sanırım. nasıl yazmam lazım?
#include <stdio.h>
int main() { int not1; int aSay=0, bSay=0, cSay=0, dSay=0, fSay=0; int a,b,c,d,f,A,B,C,D,F;
printf("Harf notlarini girin.\n"); printf("Cikis icin EOF karakteri (ctrl+z MSDOS sisteminde) girin.\n"); scanf("%c",¬1);
while ((not1=getchar())!=EOF){ if (not1==a || not1==A){ ++aSay; break; }
else if (not1==b || not1==B){ ++bSay; break; }
else if (not1==c || not1==C){ ++cSay; break; }
else if (not1==d || not1==D){ ++dSay; break; }
else if (not1==f || not1==F){ ++fSay; break; }
else if (not1==\n){ break; }
else { printf("Yanlis harf notu girildi."); printf("Yeni bir not girin.\n"); break; } }
printf("\n Her harf notu icin toplam:\n"); printf("A: %d\n",aSay); printf("B: %d\n",bSay); printf("C: %d\n",cSay); printf("D: %d\n",dSay); printf("F: %d\n",fSay);
return 0; }
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
Bu da if else ile yazmaya çalıştığım kod. Tahmin yürüterek yazmaya çalıştım ama bu şekilde yazmak hatalı sanırım. nasıl yazmam lazım?
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.