Tam Sürümünü Görmek İçin : basit bir program yardımlarinizi bekliyor
mrb arkadaslar siteye yeni uye oldum c dilini ogrenmeye yeni basladim takıldıgım yerlerde yardımcı olabılecek arkadaslar cıkarsa cok sevınırım.bu programda tum bıldıklerımı kullanmaya calıstım derlerken hata yok ama toplama cıkarma isleminde abuk sabuk sayılar verıyor.nerde hata yaptım yardım edersenız sevınırım..
#include<stdio.h>
#include<conio.h>
int main()
{
int sayi1, sayi2, x, y;
char a;
printf("yapmak istediginiz islem (T)oplama (C)ikartma");
scanf("%c",&a);
if (a=='T')
{
printf("ilk sayiyi giriniz:");
scanf("%d",&sayi1);
printf("ikinci sayiyi giriniz:");
scanf("%d",&sayi2);
x=sayi1+sayi2;
printf("%d",&x) ;
}
if (a=='C')
{
printf("ilk sayiyi giriniz:");
scanf("%d",&sayi1);
printf("ikinci sayiyi giriniz:");
scanf("%d",&sayi2);
y=sayi1-sayi2;
printf("%d",&y) ;
}
getch();
return 0;
}
rose__18
26/01/2008, 14:27
scanf yerine getch() kullanmalısın çünkü klavyeden tek bir karakter istetiyosun scanf tek bir karakter için kullanılamıyor yani a=getch(); demeliydin diğer yaptıkların doğru....
yok yaptıgım hata printf de & kullanmısım sonradan farkettım.simdi hata vermıyor artık fonksıyon atamayı falan daha ogrenmedım suanlık bıldıklerım sadece bunlar:D
quasimodo
27/01/2008, 21:55
@rose__18
scanf() ilede tek degiskeni okuyabilirsin ustelik gayette normal. getch() genelde okumak istedigin karakterin ekranda gozukmesini istemiyorsan kullanilir.
clarkmaxwell
28/01/2008, 11:53
getch() ekrana klavyeden girilen degeri yazdırmadığı için çok karakter girişlerinde pek kullanılmaz.Bu yüzden a ve b gibi tek karakterlerde scanf yerine getch kullanlıması daha makbuldur.
demek istediginizi kısa bir ornekle aciklayabilir misiniz?c de cok yeni sayilirim
.....
char=c
....
printf("cikmak icin (N)");
c=getch();
....
gibi mi?
quasimodo
28/01/2008, 12:56
getch() ekrana klavyeden girilen degeri yazdırmadığı için çok karakter girişlerinde pek kullanılmaz.Bu yüzden a ve b gibi tek karakterlerde scanf yerine getch kullanlıması daha makbuldur.
Standart olan bir fonksiyonu standart olmayan bir fonksiyona tehcih etmek bence daha "makbuldur" ...
acehreli
28/01/2008, 21:33
clarkmaxwell, tek tusa basildiginda programin o tusu hemen alacagi garanti degil. Giris akiminin ayarlarina gore, Enter'a basilana kadar bile programin haberi olmayabiliyor. (Burada curses'in getch fonksiyonunu konustugumuzu varsaydim.)
Hatta karakterin ekranda gorunmeyecegi bile curses'in 'noecho' ayarina bagliymis...
Ama quasimodo'nun degindigi gibi, bu C standardinin disinda kalan bir durum: C standardi yalnizca giris akimini (klayvye degil!) bilir. Onun karakterleri programa ne sekilde sundugunu belirlemez. Ben de quasimodo gibi standart dahilinde kalmak istesem de, eger amac gercekten bir tusun basildigi anda programin haberinin olmasiysa, o zaman ortamin sundugu cozumlere gitmek zorundayiz.
Boylece hem clarkmaxwell'le hem de quasimodo'yla ayni fikirde oldum. :)
Ali
Forum Yazılımı : vBulletin v3.6.8, Copyright ©2000-2008, Jelsoft Enterprises Ltd.