folder Tahribat.com Forumları
linefolder C - C++
linefolder Doğru Sayıyı Bulana Kadar Nasıl Tekrar Ettirilir? (C)



Doğru Sayıyı Bulana Kadar Nasıl Tekrar Ettirilir? (C)

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    manyaki
    manyaki's avatar
    Kayıt Tarihi: 27/Temmuz/2005
    Erkek

    DeaD_BY bunu yazdı:
    -----------------------------

    hocam trance yapısı dediğin nedir?biraz daha detaysal açıklarmısın :)

    -----------------------------

    Trace etmek, yani programı adım adım çalıştırmak hocam. Değişkenlerin aldığı değerleri tek tek takip etmek. Dev C++ kullanıyorsan (diğer compilerları bilmediğim için bunun üzerinden örnek veriyorum onlarda da vardır diye tahmin ediyorum) Debug özelliğini kullanarak programın seçtiğin kısmına kadar senin verdiğin değişken değerlerini kullanarak gelir. Böylece programı irdeleyerek hatanın nerde olduğunu daha kolayca bulabilirsin. Programı kafanda a,b,c şeklinde 3e bölüp debug ı buna göre yaparsan, önce a kısmını kontrol edersin, sonra b kısmını kontrol edersin en son c yi kontrol ederken hata olduğunu görürsün ve sadece o kısımda hata ararsın böylece zamandan da kazanmış olursun. C dili yazılan kodları okurken yukarıdan aşağıya yani top-down şeklinde okur. Örneğin

     

    printf("hede hödö");

    scanf("%c",&hebele);

    yazdığın zaman önce hede hödö yazdırıp ardından scanf komutunu okur. Goto da bu mantığa ters düştüğü için genelde tavsiye edilmez ama dediğim gibi kod olarak yanlış birşey değildir. Sadece ilerde programdaki hataları irdelerken ya da program ilerde birbaşkası tarafından okunurken durumu zorlaştırır.


    since 2005 // tbt
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    manyaki
    manyaki's avatar
    Kayıt Tarihi: 27/Temmuz/2005
    Erkek

    DeaD_BY bunu yazdı:
    -----------------------------

    hocam terminalde şu hatayı aldım,nedir anlamı;

    cahit.c:3:19: fatal error: conio.h: No such file or directory
    compilation terminated.

     

    ____

     (Hocam goto kullanmamanı öneririm. C'nin trace yapısına çok aykırı bir kod şekli.)

    hocam trance yapısı dediğin nedir?biraz daha detaysal açıklarmısın :)

     


    -----------------------------

    Kullandığın compiler yüzünden olabilir hocam #include "conio.h" şeklinde dener misin bir de

     

    OnLyGoDCaNStoPMe bunu yazdı:
    -----------------------------

    anladım hocam teşekkürler aydınlattığın için


    -----------------------------

    est. hocam ne demek


    since 2005 // tbt
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    bilenyok
    bilenyok's avatar
    Kayıt Tarihi: 17/Eylül/2009
    Erkek

    manyaki bunu yazdı:
    -----------------------------

    DeaD_BY bunu yazdı:
    -----------------------------

    hocam trance yapısı dediğin nedir?biraz daha detaysal açıklarmısın :)

    -----------------------------

    Trace etmek, yani programı adım adım çalıştırmak hocam. Değişkenlerin aldığı değerleri tek tek takip etmek. Dev C++ kullanıyorsan (diğer compilerları bilmediğim için bunun üzerinden örnek veriyorum onlarda da vardır diye tahmin ediyorum) Debug özelliğini kullanarak programın seçtiğin kısmına kadar senin verdiğin değişken değerlerini kullanarak gelir. Böylece programı irdeleyerek hatanın nerde olduğunu daha kolayca bulabilirsin. Programı kafanda a,b,c şeklinde 3e bölüp debug ı buna göre yaparsan, önce a kısmını kontrol edersin, sonra b kısmını kontrol edersin en son c yi kontrol ederken hata olduğunu görürsün ve sadece o kısımda hata ararsın böylece zamandan da kazanmış olursun. C dili yazılan kodları okurken yukarıdan aşağıya yani top-down şeklinde okur. Örneğin

     

    printf("hede hödö");

    scanf("%c",&hebele); yazdığın zaman önce hede hödö yazdırıp ardından scanf komutunu okur. Goto da bu mantığa ters düştüğü için genelde tavsiye edilmez ama dediğim gibi kod olarak yanlış birşey değildir. Sadece ilerde programdaki hataları irdelerken ya da program ilerde birbaşkası tarafından okunurken durumu zorlaştırır.


    -----------------------------

     

    hmm anladım hocam.yani demek istediğin; diyelim ki binlerce satırlık bi kod yazdık, o kod okunurken,kontrol edilirken veya güncellenirken goto kullanıldıgında okumada çok sıkıntı çıkıcak.700.satırda goto 5. satır diyecek örneğin,ordan oraya giderken mantık karışacak..dogru anladım?

  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    manyaki
    manyaki's avatar
    Kayıt Tarihi: 27/Temmuz/2005
    Erkek

    DeaD_BY bunu yazdı:
    -----------------------------

    manyaki bunu yazdı:
    -----------------------------

    DeaD_BY bunu yazdı:
    -----------------------------

    hocam trance yapısı dediğin nedir?biraz daha detaysal açıklarmısın :)

    -----------------------------

    Trace etmek, yani programı adım adım çalıştırmak hocam. Değişkenlerin aldığı değerleri tek tek takip etmek. Dev C++ kullanıyorsan (diğer compilerları bilmediğim için bunun üzerinden örnek veriyorum onlarda da vardır diye tahmin ediyorum) Debug özelliğini kullanarak programın seçtiğin kısmına kadar senin verdiğin değişken değerlerini kullanarak gelir. Böylece programı irdeleyerek hatanın nerde olduğunu daha kolayca bulabilirsin. Programı kafanda a,b,c şeklinde 3e bölüp debug ı buna göre yaparsan, önce a kısmını kontrol edersin, sonra b kısmını kontrol edersin en son c yi kontrol ederken hata olduğunu görürsün ve sadece o kısımda hata ararsın böylece zamandan da kazanmış olursun. C dili yazılan kodları okurken yukarıdan aşağıya yani top-down şeklinde okur. Örneğin

     

    printf("hede hödö");

    scanf("%c",&hebele); yazdığın zaman önce hede hödö yazdırıp ardından scanf komutunu okur. Goto da bu mantığa ters düştüğü için genelde tavsiye edilmez ama dediğim gibi kod olarak yanlış birşey değildir. Sadece ilerde programdaki hataları irdelerken ya da program ilerde birbaşkası tarafından okunurken durumu zorlaştırır.


    -----------------------------

     

    hmm anladım hocam.yani demek istediğin; diyelim ki binlerce satırlık bi kod yazdık, o kod okunurken,kontrol edilirken veya güncellenirken goto kullanıldıgında okumada çok sıkıntı çıkıcak.700.satırda goto 5. satır diyecek örneğin,ordan oraya giderken mantık karışacak..dogru anladım?


    -----------------------------

    Aynen öyle hocam. Küçük kodlamalarda goto nun programı basitleştireceğine inanıyorsan kullanmanda bence bir sakınca yok, fakat genelde çoğu coder tarafından C dili için uygunsuz bulunduğu için ben goto kullanmamaya özen gösteriyorum. Tavsiyem sen de goto yerine elini for/while/do-while döngülerine alıştır. Daha çok işine yarayacağına eminim :)


    since 2005 // tbt
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    wasd
    wasd's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    goto kullanmak okunulabilirliği azaltır. koda bakan adamı "neyi nereye göndermişsin ne yapmışın be amk" diye düşündürür :D

    Bunun dışında sayı tahminini şöyle yaparsın;

    while(tahmin==4)  //while ile sayı bulunana kadar döndürüceksin yapılacakları

    {

    printf("Tahmin et bakam: ");

    scanf("%d",&tahmin);

    if(tahmin==4)  //doğru bulunduysa

    printf("afferin sana bildin");

    else if(tahmin<4)  //girilen değer küçükse

    printf("biraz daha büyük bi sayı gir");

    else if(tahmin>4)  //girilen değer büyükse

    printf("biraz daha küçük bi sayı gir");

    else       //diğer durumlara karşı hata kontrolü

    printf("adam akıllı bi sayı gir!");   

    }

     

    bunun haricinde 2 tavsiyem daha var :)   srand()  fonksiyonunu araştır, bu fonksiyonla rastgele değil rassallaştırılmış sayılar üretirsin ve her seferinde yeni bir sayı verir. (eğer bu muhabbeti bilmiyosan rand ve srand fonksiyonlarını kullan dene aradaki farkı anlayacaksın,anlatmıyorumki merak duygun kabarsın :))

     

    ayrıca return komutunu kullanmayı tam bilmiyorsan if yapısından true false döndürmeyi dene return kullanarak ve whileın başka bir değişkenin true olup olmadığını kontrol etmesini sağla. çeşitlilik yarat kendine göre işte =)


    :)
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    bilenyok
    bilenyok's avatar
    Kayıt Tarihi: 17/Eylül/2009
    Erkek

    manyaki bunu yazdı:
    -----------------------------

    DeaD_BY bunu yazdı:
    -----------------------------

    manyaki bunu yazdı:
    -----------------------------

    DeaD_BY bunu yazdı:
    -----------------------------

    hocam trance yapısı dediğin nedir?biraz daha detaysal açıklarmısın :)

    -----------------------------

    Trace etmek, yani programı adım adım çalıştırmak hocam. Değişkenlerin aldığı değerleri tek tek takip etmek. Dev C++ kullanıyorsan (diğer compilerları bilmediğim için bunun üzerinden örnek veriyorum onlarda da vardır diye tahmin ediyorum) Debug özelliğini kullanarak programın seçtiğin kısmına kadar senin verdiğin değişken değerlerini kullanarak gelir. Böylece programı irdeleyerek hatanın nerde olduğunu daha kolayca bulabilirsin. Programı kafanda a,b,c şeklinde 3e bölüp debug ı buna göre yaparsan, önce a kısmını kontrol edersin, sonra b kısmını kontrol edersin en son c yi kontrol ederken hata olduğunu görürsün ve sadece o kısımda hata ararsın böylece zamandan da kazanmış olursun. C dili yazılan kodları okurken yukarıdan aşağıya yani top-down şeklinde okur. Örneğin

     

    printf("hede hödö");

    scanf("%c",&hebele); yazdığın zaman önce hede hödö yazdırıp ardından scanf komutunu okur. Goto da bu mantığa ters düştüğü için genelde tavsiye edilmez ama dediğim gibi kod olarak yanlış birşey değildir. Sadece ilerde programdaki hataları irdelerken ya da program ilerde birbaşkası tarafından okunurken durumu zorlaştırır.


    -----------------------------

     

    hmm anladım hocam.yani demek istediğin; diyelim ki binlerce satırlık bi kod yazdık, o kod okunurken,kontrol edilirken veya güncellenirken goto kullanıldıgında okumada çok sıkıntı çıkıcak.700.satırda goto 5. satır diyecek örneğin,ordan oraya giderken mantık karışacak..dogru anladım?


    -----------------------------

    Aynen öyle hocam. Küçük kodlamalarda goto nun programı basitleştireceğine inanıyorsan kullanmanda bence bir sakınca yok, fakat genelde çoğu coder tarafından C dili için uygunsuz bulunduğu için ben goto kullanmamaya özen gösteriyorum. Tavsiyem sen de goto yerine elini for/while/do-while döngülerine alıştır. Daha çok işine yarayacağına eminim :)


    -----------------------------

    eyvallah hocam.. son sorum :) ;

    hocam terminalde şu hatayı aldım,nedir anlamı;

    cahit.c:3:19: fatal error: conio.h: No such file or directory
    compilation terminated.

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    manyaki
    manyaki's avatar
    Kayıt Tarihi: 27/Temmuz/2005
    Erkek

    DeaD_BY bunu yazdı:
    -----------------------------

    eyvallah hocam.. son sorum :) ;

    hocam terminalde şu hatayı aldım,nedir anlamı;

    cahit.c:3:19: fatal error: conio.h: No such file or directory
    compilation terminated.


    -----------------------------

    Yok hocam istediğin kadar sor hiç sorun yok. Kullandığın derleyici nedir ? 


    since 2005 // tbt
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    bilenyok
    bilenyok's avatar
    Kayıt Tarihi: 17/Eylül/2009
    Erkek

    wasd bunu yazdı:
    -----------------------------

    goto kullanmak okunulabilirliği azaltır. koda bakan adamı "neyi nereye göndermişsin ne yapmışın be amk" diye düşündürür :D

    Bunun dışında sayı tahminini şöyle yaparsın;

    while(tahmin==4)  //while ile sayı bulunana kadar döndürüceksin yapılacakları

    {

    printf("Tahmin et bakam: ");

    scanf("%d",&tahmin);

    if(tahmin==4)  //doğru bulunduysa

    printf("afferin sana bildin");

    else if(tahmin

    printf("biraz daha büyük bi sayı gir");

    else if(tahmin>4)  //girilen değer büyükse

    printf("biraz daha küçük bi sayı gir");

    else       //diğer durumlara karşı hata kontrolü

    printf("adam akıllı bi sayı gir!");   

    }

     

    bunun haricinde 2 tavsiyem daha var :)   srand()  fonksiyonunu araştır, bu fonksiyonla rastgele değil rassallaştırılmış sayılar üretirsin ve her seferinde yeni bir sayı verir. (eğer bu muhabbeti bilmiyosan rand ve srand fonksiyonlarını kullan dene aradaki farkı anlayacaksın,anlatmıyorumki merak duygun kabarsın :))

     

    ayrıca return komutunu kullanmayı tam bilmiyorsan if yapısından true false döndürmeyi dene return kullanarak ve whileın başka bir değişkenin true olup olmadığını kontrol etmesini sağla. çeşitlilik yarat kendine göre işte =)


    -----------------------------

     

    while(tahmin==4)  //while ile sayı bulunana kadar döndürüceksin yapılacakları

    burda tahmin 4e eşit olacak demek olmuyor mu? kodda sanki çok mantık hatası mı var yoksa ben mi hala çakamadım durumu? :S

     

    if yapısından true false döndürmek tam olarak nedir hocam?true false olayını hiç bilmiyorum :S 

  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    bilenyok
    bilenyok's avatar
    Kayıt Tarihi: 17/Eylül/2009
    Erkek

    manyaki bunu yazdı:
    -----------------------------

    DeaD_BY bunu yazdı:
    -----------------------------

    eyvallah hocam.. son sorum :) ;

    hocam terminalde şu hatayı aldım,nedir anlamı;

    cahit.c:3:19: fatal error: conio.h: No such file or directory
    compilation terminated.


    -----------------------------

    Yok hocam istediğin kadar sor hiç sorun yok. Kullandığın derleyici nedir ? 


    -----------------------------

     

    linux terminal hocam.. gcc

  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    manyaki
    manyaki's avatar
    Kayıt Tarihi: 27/Temmuz/2005
    Erkek

    DeaD_BY bunu yazdı:
    -----------------------------

    manyaki bunu yazdı:
    -----------------------------

    DeaD_BY bunu yazdı:
    -----------------------------

    eyvallah hocam.. son sorum :) ;

    hocam terminalde şu hatayı aldım,nedir anlamı;

    cahit.c:3:19: fatal error: conio.h: No such file or directory
    compilation terminated.


    -----------------------------

    Yok hocam istediğin kadar sor hiç sorun yok. Kullandığın derleyici nedir ? 


    -----------------------------

     

    linux terminal hocam.. gcc


    -----------------------------

    conio.h windows a bağlı çalışıyor diye biliyorum. conio.h yerine curses.h veya ncurses.h yazıp tekrar dener misin ? Olmazsa conio.h yerine stdlib.h yazıp, getch(); yerine de System("PAUSE"); yazıp dener misin bi


    since 2005 // tbt
Toplam Hit: 3738 Toplam Mesaj: 23