Konuyu görüntüle
IUCODERS FORUM > Programlama > C / C++ > if yapisinda bir sorunum var
Yazar
tuxattack


avatar

Kayıt: 09.06.2006
30.06.2006-14:24 #8372
merhaba...

öncelikle google ile araştırmamı yaptım ama ne yazık ki sonuç elde edemedim :) aşağıdaki kod'da bir sorunum var, öncelikle kodun ne yaptığını ben yine de kısaca açıklayayım..

kod secima bağlı, char olarak girilen veriyi hexdecimal ve hexdecimal olarak girilen veriyi char olarak veriyor kodlar ayrı ayrı çalışıyor (yani if yapısı kullanmadan) ancak if kullandığım zaman sorunlu çalışıyor sorunda şu seçim yaptıktan sonra seçime bağlı olaran scanf ile veri alamıyorum program sonlanıyor daha doğrusu 2. secenegi sectigimde calisiyor fakat 1. secenekte veri giremeden program sonlanıyor..

bir diger sorunumda, scanf ile dizi girmek istiyorum yani "ali" yazidimda bunun bütün hex degerini ve 4141 yazdigimda ise char degerini (yani ciktisi AA olacak sekilde) vermesini istiyorum ama program sadece ilk karakteri aliyor gerisini gormuyor..

kod aşağıdaki gibi, umarım sorunumu anlatabilmişimdir...

yardımlarınız için şimdiden teşekkür ederim...

#include <stdio.h>

main()
{
      char karakter;
      int secim, hexdecimal;
      
      printf("Karakter-Hexdecimal
Hexdecimal-Karakter
");
      printf("Seciminiz: ");
      scanf("%d",&secim);
      
      if(secim==1){
      printf("Karakter Gir: ");
      scanf("%c",&karakter);
      printf("Hexdecimal Deger: %x",karakter);
      }

      if(secim==2){
      printf("HexDecimal Gir: ");
      scanf("%x",&hexdecimal);
      printf("Karakter Deger: %c",hexdecimal);
      }
}
      






Yazar
gunes


avatar
Istanbul
Kayıt: 08.01.2006
30.06.2006-15:34 #8376
sanırım sorun ilk scanfte 1. seçeneği seçip entera bastığında enterı karakter olarak karakter değişkenine atıyor olması.bunu engellemek için ilk scanften sonra bir getchar() kullanmalısın.





Yazar
unalyilmaz


avatar
SAKARYA
Kayıt: 11.02.2006
30.06.2006-16:34 #8378
benim ilk bakista gözüme scanf("%c",&karakter); komudu gözüme batti sanirim karakterlerde o karakterin basina diyez(&) isaretini koyamazsin...ilk bakista bu gözüme carpti ama emin deilim isin ehlileride ise el atarsa sorunun cözülür sanırım kolay gelsin....





Yazar
tuxattack


avatar

Kayıt: 09.06.2006
30.06.2006-18:03 #8383
sorunumu cozdum tesekkur ederim yanliz mumkunse (acelesi yok ;))

veriyi dizi olarak nasil alabilirim...

mesela

AAA

girdigimde hex degeri

414141 olarak versin ayni sekilde tam tersi ??





Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb