Merhaba arkadaşlar dün C quiz'ine girdik okulda ve quiz sorusunda iki tam sayı ve 4 karekter kullanılarak girilen her karekter ile tam sayıların swtich yöntemiyle işleme sokulması isteniyor.
bunu yaptım ama patladı çalışmadı
#include <stdio.h>
int main ()
char main ()
{
int VAR1,VAR2;
char a,s,d,m;
printf("2 Sayi Giriniz.\n");
scanf("%d%d",&VAR1,&VAR1);
printf("a, s, d ve m karekterlerinden birini giriniz\n");
scanf("%c%c%c%c",&a,&s,&d,&m);
switch()
{
case a:
printf ("Cevap: %d",VAR1+VAR2);
break;
case s:
printf("Cevap: %d",VAR1-VAR2);
break;
case d:
printf("Cevap: %d",VAR1*VAR2);
break;
case m:
printf("Cevap: %d",VAR1/VAR2);
break;
default:
printf("a s d m den birini gir");
}
return 0;
}
Yardımlarınız için şimdiden teşekkürler.
Bu Switch neden patlıyor yardım lütfen
7
●501
- 10-04-2010, 08:53:21
- 10-04-2010, 17:31:37Karakterleri Tek tırnak içine almayı deneyiniz.Tigris_Medya adlı üyeden alıntı: mesajı görüntüle
Ve tek karakter oldugunudan getch() veya getchar() komutları ile almayı deneyiniz. - 11-04-2010, 01:02:34case karekterlerinden bahsediyorsanız onların yapısı öyle doğru yani
switch yolu olarak bir x sayısı girdim x i hem char hem de int olarak tanıtmama rağmen yine çalışmadı - 11-04-2010, 01:16:34oluyor die biliyordumda char main() ve char ile tanıttığım karekterlide %d ile tanıttığımda case de 1 2 3 4 benzeri girdiğim çalışıyor yani sorun karekter tanıtımında sanırım.
normal karekter olarak girdiğimde case is not constant dio yani case sabit olarak tanımıyo - 11-04-2010, 17:09:29Kimlik doğrulama veya yönetimden onay bekliyor.yapmaya çalıştığın buydu sanırım
#include <stdio.h> #include <conio.h> #include <locale.h> int main () { int VAR1,VAR2; char cevap; setlocale(LC_ALL,"turkish"); printf("2 Sayi Giriniz. Aralarında 1 Boşluk Bırakınız\n"); scanf("%d %d",&VAR1,&VAR2); printf("a, s, d ve m karekterlerinden birini giriniz: "); cevap= getche(); switch(cevap) { case 'a':printf ("\nCevap: %d\n",VAR1+VAR2);break; case 's':printf("\nCevap: %d\n",VAR1-VAR2);break; case 'd':printf("\nCevap: %d\n",VAR1*VAR2);break; case 'm':printf("\nCevap: %d\n",VAR1/VAR2);break; default:printf("\nHata: a s d m den birini gir\n"); } return 0; }
ifade ettigin soru bu yonde olmalı cunku tam anlasılmıyor
tam ifade edersen daha iyi yardımcı olunabılır
hemde switch icerisindeki case ifadelerındekı tipler const yanı sabıtlerden baskası olamaz ya oralara benım yazdıgım gıbı ıfade yazcaksın yada sabitliğini garanti ediceksin yanı
const char a; gibi tanımlama yapıcaksın ve bu da program boyunca ılk verılen deger harıcı degıstırılemez - 11-04-2010, 22:47:33Evet hocam aradığım şey tam olarak bu çok çok teşekkür ederimTwinsens adlı üyeden alıntı: mesajı görüntüle
#include <conio.h>
#include <locale.h>
setlocale(LC_ALL,"turkish");
bize daha bunları göstermediler ama sormaları çok mantıksız
neyse tekrar çok teşekkürler - 12-04-2010, 00:31:22Tigris_Medya adlı üyeden alıntı: mesajı görüntüle
önemli değil herzaman
onlarsızda yapılabılıyor du ama daha acık olsun dıe ben sadece verdım onları