folder Tahribat.com Forumları
linefolder C - C++
linefolder Neden Sonsuz Döngüye Giriyor ?



Neden Sonsuz Döngüye Giriyor ?

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    zeybekustasi
    zeybekustasi's avatar
    Kayıt Tarihi: 24/Mayıs/2012
    Erkek
    do
    2 {
    3 fflush(stdin);
    4 printf("\nSayiyi Ve Ismi Giriniz: ");
    5 scanf("%d%c",&sayi,isim);
    6 fprintf(cptr,"%d %c\n",sayi,isim);
    7 }
    8

    while(sayi!=0)

    fflush ı silince neden sonsuz döngüye giriyor ? sonuçta sayi sıfıra eşit değilse 2. kere döndüğünde sayi ve ismi sorup beklemesi gerekmez mi ?


    https://www.youtube.com/watch?v=WC3-71NKwPw
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    zeybekustasi
    zeybekustasi's avatar
    Kayıt Tarihi: 24/Mayıs/2012
    Erkek
    edit//
    zeybekustasi tarafından 16/Mar/13 19:39 tarihinde düzenlenmiştir

    https://www.youtube.com/watch?v=WC3-71NKwPw
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    zeybekustasi
    zeybekustasi's avatar
    Kayıt Tarihi: 24/Mayıs/2012
    Erkek

    up-düllah


    https://www.youtube.com/watch?v=WC3-71NKwPw
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unix
    Andrei
    Andrei's avatar
    Banlanmış Üye
    Kayıt Tarihi: 11/Aralık/2008
    Erkek

    while sonuna ; koymadıgından olabilir mi.

    onunla alakası olmayabilir ama syntax hatası var gibi geldi, denemek icin bir IDE yok su an.

    Andrei tarafından 16/Mar/13 20:45 tarihinde düzenlenmiştir

    %40 indirimli olarak "Centos Sistem ve Sunucu Yönetimi" adlı kitabımızı satın alarak, Linux üzerine yapılacak olan devam projeleri icin destekte bulunabilirsiniz : http://www.hepsiburada.com/centos-sistem-ve-sunucu-yonetimi-oku-izle-dinle-ogren-p-KKODLAB01579
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Cradex
    Cradex's avatar
    Banlanmış Üye
    Kayıt Tarihi: 23/Şubat/2013
    Erkek

    do while yapmışsın while'a geçmeden önce do'daki koşulu yapar ondan olmasın

    Cradex tarafından 16/Mar/13 21:11 tarihinde düzenlenmiştir

    Stanford University
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    zeybekustasi
    zeybekustasi's avatar
    Kayıt Tarihi: 24/Mayıs/2012
    Erkek
    #include <stdio.h>
    #include <stdlib.h>
    int main()
    {
    int sayi;
    char isim[30];
    FILE *cptr;
    if((cptr=fopen("dosya1.txt","w"))==NULL)
    printf("\n Dosya Acilamadi");
    else
    {
    printf("dosya sonu icin 0 giriniz\n");
    do
    {
    fflush(stdin);
    printf("\nSayiyi Ve Ismi Giriniz: ");
    scanf("%d%c",&sayi,isim);
    fprintf(cptr,"%d %c\n",sayi,isim);
    }
    while(sayi!=0);
    fclose(cptr);
    }
    return 0;
    }

    https://www.youtube.com/watch?v=WC3-71NKwPw
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    sniperscope
    sniperscope's avatar
    Banlanmış Üye
    Kayıt Tarihi: 14/Mart/2009
    Erkek

    Soyle yapsan olmazmi?

    int i = 0;

    do

    {

    if(i < 2)

    {

    printf("\nSayiyi Ve Ismi Giriniz: ");

    scanf("%d%c",&sayi,isim);

    fprintf(cptr,"%d %c\n",sayi,isim);

    }

    i++;

    }


    "Yer yuzunde hic bir pislik yoktur ki; altindan bir yahudi cikmasin" Adolf Hitler... "Turkiye de hicbir pislik yokturki altindan cemaat cikmasin" SniperScope "Nerede yavşak, hırsız varsa hepsi Allahçı" Fazil Say
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YeniHarman
    YeniHarman's avatar
    Kayıt Tarihi: 17/Haziran/2012
    Erkek

    Giriş akışlarını fflush ile boşaltmamalısınız. Büyük ihtimalle giriş akımında karakter kalıyordur, farklı şekilde boşaltın. Örneğin

    while( (getch() == '\n') ){;} ile.


    Olaylara karışmayın!
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    zeybekustasi
    zeybekustasi's avatar
    Kayıt Tarihi: 24/Mayıs/2012
    Erkek

    6. kez konuya yazmaya çalışıyorum defalarca ip güncellenip durdu.

    demek istediğim şu biri fflush stdin siz bu döngünün neden sonsuz döngüye giriyor  ??


    https://www.youtube.com/watch?v=WC3-71NKwPw
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    sniperscope
    sniperscope's avatar
    Banlanmış Üye
    Kayıt Tarihi: 14/Mart/2009
    Erkek

    Sayiyi niye arttirmiyorsun/eksiltmiyorsun?

    Diyelimki kullanici 3 girdi.

    3 != 0 oldugu icin dongu sonsuza kadar devam edecektir.


    "Yer yuzunde hic bir pislik yoktur ki; altindan bir yahudi cikmasin" Adolf Hitler... "Turkiye de hicbir pislik yokturki altindan cemaat cikmasin" SniperScope "Nerede yavşak, hırsız varsa hepsi Allahçı" Fazil Say
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek
    zeybekustasi bunu yazdı

    6. kez konuya yazmaya çalışıyorum defalarca ip güncellenip durdu.

    demek istediğim şu biri fflush stdin siz bu döngünün neden sonsuz döngüye giriyor  ??

    hocam bunun sebebi scanf in çalışma prensibi ile ilgili, buffer i boşatlman gerekiyor, zaten yeni harman söylemiş

     

    http://www.pcnet.com.tr/forum/programlama-dilleri/299173-c-de-fflush-stdin-nedir-ne-ise-yarar.html bu linkte detaylı bi açıklama var, sanırım aradığın yanıt bu 

     


    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
Toplam Hit: 2589 Toplam Mesaj: 12