folder Tahribat.com Forumları
linefolder C - C++
linefolder C Programlama While Döngüsündeki Tuhaflik



C Programlama While Döngüsündeki Tuhaflik

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    zeybekustasi
    zeybekustasi's avatar
    Kayıt Tarihi: 24/Mayıs/2012
    Erkek

    int sayi;

    printf("Sayiyi Giriniz: (Veri girisi Yapilmayacaksa A ya Tiklayiniz)\n");
    scanf("%d", &sayi);

    while (sayi!='A'){

    printf("BASARILI\n");
    printf("Sayiyi Giriniz: (Veri girisi Yapilmayacaksa A ya tiklayiniz)\n");
    scanf("%d", &sayi);
    }

    printf("Donguye Girmedi:\n");
    return 0;

     

    sayi A ya eşit değilken döngüye gir diyorum ama girmiyor. Ancak A ya == yaparsam döngüye giriyor bunun sebebi nedir ??


    https://www.youtube.com/watch?v=WC3-71NKwPw
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    pSkpt
    pSkpt's avatar
    Kayıt Tarihi: 10/Aralık/2010
    Erkek

    sayi !== 'A'


    İmza...
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Tugberk
    Tugberk's avatar
    Kayıt Tarihi: 04/Ekim/2009
    Erkek

    Kullanıcıdan decimal(%d) sayı isterken A giremezsin, sayı girmen lazım. 'A' dediğin şey 65 e eşit, onu elde etmek için 65 girmen gerek.

    Her türlü girişi kabul etmek için %s ile stringe okuyup sscanf + %d ile stringden int değişkene atabilirsin, tabi str[0] == 'A' kontrolünden sonra. A gibi bir girdide sscanf 0 döndürür (değişkene bişey yazmaz), normal sayı girdisinde yazılan değişken sayısını döndürür.

  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DrKill
    DrKill's avatar
    Kayıt Tarihi: 10/Mart/2004
    Erkek

    %c ile okutup( char sayi;) sayiya aktarıp == ile kontrol etmelisin. Ayrıca debuggerları kullanmayı öğrenin boşa zaman kaybetmeyin. yada getch() fonksiyonu vardı onuda kullanabilirsin scanf yerine.

    DrKill tarafından 05/Mar/13 01:14 tarihinde düzenlenmiştir

    Bu imzayı her gördüğünüzde 4gb kotanızın 0,00000358559191226959228515625 azalmaktadır. Bilerek ve istenerek bu imza yapılmıştır. Amaç kotanızı sömürmektir
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ayro
    Ayro's avatar
    Kayıt Tarihi: 08/Ağustos/2005
    Erkek
    Tugberk bunu yazdı

    Kullanıcıdan decimal(%d) sayı isterken A giremezsin, sayı girmen lazım. 'A' dediğin şey 65 e eşit, onu elde etmek için 65 girmen gerek.

    Her türlü girişi kabul etmek için %s ile stringe okuyup sscanf + %d ile stringden int değişkene atabilirsin, tabi str[0] == 'A' kontrolünden sonra. A gibi bir girdide sscanf 0 döndürür (değişkene bişey yazmaz), normal sayı girdisinde yazılan değişken sayısını döndürür.

    sayi != 65 

    yazsa çözülür mü ?

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DrKill
    DrKill's avatar
    Kayıt Tarihi: 10/Mart/2004
    Erkek
    zumsuk bunu yazdı
    Tugberk bunu yazdı

    Kullanıcıdan decimal(%d) sayı isterken A giremezsin, sayı girmen lazım. 'A' dediğin şey 65 e eşit, onu elde etmek için 65 girmen gerek.

    Her türlü girişi kabul etmek için %s ile stringe okuyup sscanf + %d ile stringden int değişkene atabilirsin, tabi str[0] == 'A' kontrolünden sonra. A gibi bir girdide sscanf 0 döndürür (değişkene bişey yazmaz), normal sayı girdisinde yazılan değişken sayısını döndürür.

    sayi != 65 

    yazsa çözülür mü ?

    'A' bu zaten 65 demek. Sorun Tugberk hocamızın dediği gibi veriyi kullanıcıdan %d ile istemesi. %d ile adamın 65 girmesi lazım ki eşit olsun 'A' verisine.

    DrKill tarafından 05/Mar/13 06:42 tarihinde düzenlenmiştir

    Bu imzayı her gördüğünüzde 4gb kotanızın 0,00000358559191226959228515625 azalmaktadır. Bilerek ve istenerek bu imza yapılmıştır. Amaç kotanızı sömürmektir
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ayro
    Ayro's avatar
    Kayıt Tarihi: 08/Ağustos/2005
    Erkek
    DrKill bunu yazdı
    zumsuk bunu yazdı
    Tugberk bunu yazdı

    Kullanıcıdan decimal(%d) sayı isterken A giremezsin, sayı girmen lazım. 'A' dediğin şey 65 e eşit, onu elde etmek için 65 girmen gerek.

    Her türlü girişi kabul etmek için %s ile stringe okuyup sscanf + %d ile stringden int değişkene atabilirsin, tabi str[0] == 'A' kontrolünden sonra. A gibi bir girdide sscanf 0 döndürür (değişkene bişey yazmaz), normal sayı girdisinde yazılan değişken sayısını döndürür.

    sayi != 65 

    yazsa çözülür mü ?

    'A' bu zaten 65 demek. Sorun Tugberk hocamızın dediği gibi veriyi kullanıcıdan %d ile istemesi. %d ile adamın 65 girmesi lazım ki eşit olsun 'A' verisine.

    Abi adam A'ya bastiginda int degeri girecek '65', bizde kontrol ederken 65 diye kontrol ederiz. Ekrana basarkende sadece %c der geceriz. Boylece A basar. 

    fantazi ama boyle de cozulur diye dusunuyorum

  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ayro
    Ayro's avatar
    Kayıt Tarihi: 08/Ağustos/2005
    Erkek

    @ zeybekustasi ;

    hocam 2 kere ayni islemi yapmak yerine do-while kullanabilirsin. En az bir kere yapip, kontrole girer

Toplam Hit: 1003 Toplam Mesaj: 8