C - Bir Kere Yazılan Komutun Birden Fazla Gösterilmesi Sorunu
-
Selam muritler okulda C görüyorum bu dönem, cuma vizesi var bişeyler kurcalıyim derken kpds almancadan 50 almam gerektiği için geçmiş senelerin sınavlarının cevap anahtarını indirmiştim istatistiksel olarak hangi cevap şıkkından kaçar tane kullanıldığını merak ediyordum :D (işim buna kaldı siz düşünün halimi)
tek tek sayarken boşuna öğretmiyorlar şu dili bi deneyem dedim nitekim programdan istediğim sonucu alabiliyorum, çok basitmiş ama şöyle birşey kafama takıldı;
bu benim yazdığım komutlar (program mı denir bilemedim şimdi :) ) :
#include int main() { char type; float a=0; float b=0; float c=0; float d=0; float e=0; while(1){ printf("Write letters\n"); scanf("%c", &type ); if(type=='A') { a++; } if(type=='B') { b++; } if(type=='C') { c++; } if(type=='D') { d++; } if(type=='E') { e++; } if(type=='Q') break; } printf("A %f tane\nB %f tane\nC %f tane\nD %f tane\nE %f tane\n", a,b,c,d,e); system("pause"); return 0; }
-----------
bu da verdiği sonuç:
-------78. D
Write letters
Write letters
Write letters
Write letters
Write letters
Write letters
79. C
Write letters
Write letters
Write letters
Write letters
Write letters
Write letters
80. E
Write letters
Write letters
Write letters
Write letters
Write letters
Write letters
Q
A 51.000000 tane
B 44.000000 tane
C 49.000000 tane
D 46.000000 tane
E 50.000000 tane
Devam etmek için bir tuşa basın . . .
----böyle çıkıyor yani , yazdığım sarf sayısı kadar o write letters çıkıyor,fazla kurcalamamk gerektiğini biliyorum sonuçta çok acemice ama merak ettim önlemenin yolu var mı?
-
arada new line yani 10 karakteri geliyo scanf e döngü kendi kendine çalışıyo .çözmek için enter basmayı gerektirmeyecek getch() felan kullanabilirsin yada 10 karakterini ignore edecek bi şekilde.Bide dizileri felan öğren switch case felan çok karışık olmuş kod :D
-
switch case i gördük de onu pek sevemedim genelde sorun yaşyorum istediğim gibi olmuyor mantık olarak aynı aslında ama olmuyor nedense
-
şu an zamanım yok derlemeye fakat while(1) i bir satır alta koyarsan yani printf le yer değiştirirsen sıkıntı gider gibi duruyor :)
edit: birde float kullanma sebebini anlayamadım bir harfi yarım kere basamassınki int ihtiyacını görürdü bence :D
