C Programlama Basit Ve Ve Veya Sorusu Acil
-
Acil çünkü proje yapıyorum çabucak bitirmem lazım.
Aşağıdaki kodda bir sıkıntı var. Adam engelli mi diye soruyorum adam e E h veya H girmezse hata mesajı yazdırmak istiyorum.
İşin tuhaf tarafı if ve while nin içinde değişkenler && ile çalışıyor yani adam e ve E ve H ve h girmezse tekrar dön oluyor.
Mantıklı olanı e veya E veya H veya h girmezse tekrar dön olması gerekmez mi ?
Bence olması gereken:
Birinci Değil İkinci Kod:
engelli!='e'&& engelli!='E'&& engelli!='h' && engelli!='H'
engelli!='e'|| engelli!='E'|| engelli!='h' &|| engelli!='H'
do{ fflush(stdin); printf("\nAlici Ortopedik Engelli midir ? (e-E-h-H) "); scanf("%c", &engelli); if(engelli!='e'&& engelli!='E'&& engelli!='h' && engelli!='H') printf("\nGecersiz Bir Karakter Girdiniz Tekrar, "); }while(engelli!='e'&& engelli!='E'&& engelli!='h' && engelli!='H'); -
e veya E girme koşulunu kabul ediyosun l l kullan ama iki koşulu && ile bağla
edit: e veya E ve h veya H olmalı
ferriere tarafından 11/Kas/13 20:34 tarihinde düzenlenmiştir -
türkçe düşünmeyeceksin.
senin verdiğin veya'lı şekilde şunu düşün, adam E girmiş
ilk koşula bakıyorum "e değilse". adam E girmişti ? yani e eşit değildir E olduğundan koşul sağlandı diğerleri ne değer alırsa alsın hata verecek.
-
ferriere bunu yazdı
e veya E girme koşulunu kabul ediyosun l l kullan ama iki koşulu && ile bağla
edit: e veya E ve h veya H olmalı
Gene olmadı hocam yanlış girdim tekrar gir diyor.
do{ fflush(stdin); printf("\nAlici Ortopedik Engelli midir ? (e-E-h-H) "); scanf("%c", &engelli); if((engelli!='e'|| engelli!='E')&& ( engelli!='h' || engelli!='H')) printf("\nGecersiz Bir Karakter Girdiniz Tekrar, "); if(engelli=='e' || engelli=='E') { bulundu=1; engelli_say++; } }while((engelli!='e'|| engelli!='E')&& ( engelli!='h' || engelli!='H')); -
Daft bunu yazdı
türkçe düşünmeyeceksin.
senin verdiğin veya'lı şekilde şunu düşün, adam E girmiş
ilk koşula bakıyorum "e değilse". adam E girmişti ? yani e eşit değildir E olduğundan koşul sağlandı diğerleri ne değer alırsa alsın hata verecek.
diyosun ki adam E girdi
koşula bakıyor e değilse veya h değilse veya H değilse ki DEĞİL OLDUĞUNA GÖRE gidiyor hatayı veriyor.
Yav ne mal adamım geçen yılda bunla karşılaşıp sormayıp geçmiştim. Sağolun :)
-
if engelli != e && engelli != E && engelli != h && engelli != H
geçersiz karakter
if engelli == e || engelli == E
bulundu=1
while neden dışarda ?
şöyle düşüneceksin, ben bunlardan hiçbiri girilmezse hata verdirtecem.
hepsi aynı anda bu koşulu sağlamak zorunda o yüzden AND kullandım.
e veya E neden kullandım, onlardan BİRİNİ bile girmiş olsa bana yetiyo o yüzden VEYA kullandım
veya = toplama işlemi
ve = çarpma işlemi olarak düşün
if e veya E (ben e girmiş olsam ) 1 + 0 = 1 yine doğru çıkıyo yani
ve girseydim 1x0 = 0
YekteranBaymedir tarafından 11/Kas/13 20:53 tarihinde düzenlenmiştir -
anlaşılmıştır.
bir sorum daha olacak buda gene çok basit
float a;
a=5/2
dersem sonuç 2 çıkıyor cast yaparsam(float)5/2 ancak 2.5 çıkıyor neden ?
cast yapmadan olmuyor mu ?
-
zeybekustasi bunu yazdı
anlaşılmıştır.
bir sorum daha olacak buda gene çok basit
float a;
a=5/2
dersem sonuç 2 çıkıyor cast yaparsam(float)5/2 ancak 2.5 çıkıyor neden ?
cast yapmadan olmuyor mu ?
çünkü 5 bir integer'dır 2 de bir integer'dır. dolayısıyla integer / integer yapıyosun. olay şu sen 5/2 'den 2 buluyosun sonra onu 2.0 'a cast edip a'ya eşitliyorsun.
-
digerleri cevapi vermis.
Fflush stdin ve scanf komutlarini asla kullanma.
