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
    bilenyok
    bilenyok's avatar
    Kayıt Tarihi: 17/Eylül/2009
    Erkek

    hocalar diyelimki bir sayı seçtik,kullanıcı o sayıyı girene kadar soruyu tekrarlatıcaz,aklıma gelen şey sanırım kullanılan method değil..Genelde bu tür döngülerde nasıl bi algoritma kullanılır?

    bi bakın bakalım;

     

    #include

    int tbt (int secenek)
    {
    printf("1 2 3 4 arasında bir sayı sec? \n");
    scanf("%d",&secenek);


    if (secenek==1 || secenek==2|| secenek==3)
    {
    printf("Yanlis tahmin.Tekrar dene.\n");
    tbt(secenek);
    }
    if (secenek==4)
    {
    printf("doğru tahmiiiinnnn!!!");
    }
    return 0;
    }

    int main(void)
    {
    int secenek;
    tbt(secenek);


    return 0;
    }

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

    while ( secilenSayi != girilenSayi ) {

    .

    .

    işlemlerin

    .

    .

                                                  }

     

    edit:

    // pc nin seçtiği sayının 4 olduğu farzedilerek yazılmış program

    #include <stdio.h>

    #include <conio.h>

    int main(){

     

    int tah=4, gir;

     

    do{

     

    printf("1 ile 4 arasında bir sayı giriniz \n");

     

    scanf("%d",&gir);

     

    if(tah==gir){

     

    printf("tebrikler \n");

     

    }

     

    else{

     

    printf("Yanlış Tahmin \n");

     

    }

     

    }while(gir!=tah);

    getch();

    return 0;

    }

     

    since 2005 // tbt
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    OnLyGoDCaNStoPMe
    OnLyGoDCaNStoPMe's avatar
    Kayıt Tarihi: 24/Mart/2010
    Erkek
    #include <stdio.h>
    
    int tbt (int secenek)
    {
    tekrardene: // yanlış seçtikçe burdan başlar
    printf("1 2 3 4 arasında bir sayı sec \n");
    scanf("%d",&secenek);
    
    
    if (secenek==1 || secenek==2|| secenek==3)
    {
    printf("Yanlis tahmin.Tekrar dene.\n");
    goto tekrardene; // eğer yanlış olursa yukarıdaki tekrardene: ye gidiyor program
    }
    if (secenek==4)
    {
    printf("doğru tahmiiiinnnn!!!");
    }
    return 0;
    }
    
    int main(void)
    {
    int secenek;
    tbt(secenek);
    
    
    return 0;
    }
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    bilenyok
    bilenyok's avatar
    Kayıt Tarihi: 17/Eylül/2009
    Erkek

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

    while ( secilenSayi != girilenSayi ) {

    .

    .

    işlemlerin

    .

    .

                                                  }

     

    edit:

    // pc nin seçtiği sayının 4 olduğu farzedilerek yazılmış program

    #include

    #include

    int main(){

     

    int tah=4, gir;

     

    do{

     

    printf("1 ile 4 arasında bir sayı giriniz \n");

     

    scanf("%d",&gir);

     

    if(tah==gir){

     

    printf("tebrikler \n");

     

    }

     

    else{

     

    printf("Yanlış Tahmin \n");

     

    }

     

    }while(gir!=tah);

    getch();

    return 0;

    }

     


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

     

    #include

    #include

    bunların devamı gözükmüyor hocam? stdio.h ile hangi libraryi kullandın?

    birde while içinde kullandıgın getch'in işlevi nedir?

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

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

    #include

    #include

    bunların devamı gözükmüyor hocam? stdio.h ile hangi libraryi kullandın?

    birde while içinde kullandıgın getch'in işlevi nedir?


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

    stdio.h ve conio.h

    getch(); aslında programı yanıltıcı bişey hocam. conio.h kütüphanesine bağlı olarak çalışıyor. Scanf gibi tek bir karakter almanı sağlar. örneğin char a; olarak tanımladığın bir değişken için a=getch(); şeklinde yazarsan girilen ilk tuş enter a basılmadan a değişkenine aktarılır. Burda benim yazmamın amacı Dev C++ ın kapanmasını engellemek, herhangi bir tuşa basılana kadar açık kalmasını sağlamak. SystemPause ile aynı işlevi görüyor yani.


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

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

    #include 
    
    int tbt (int secenek)
    {
    tekrardene: // yanlış seçtikçe burdan başlar
    printf("1 2 3 4 arasında bir sayı sec \n");
    scanf("%d",&secenek);
    
    
    if (secenek==1 || secenek==2|| secenek==3)
    {
    printf("Yanlis tahmin.Tekrar dene.\n");
    goto tekrardene; // eğer yanlış olursa yukarıdaki tekrardene: ye gidiyor program
    }
    if (secenek==4)
    {
    printf("doğru tahmiiiinnnn!!!");
    }
    return 0;
    }
    
    int main(void)
    {
    int secenek;
    tbt(secenek);
    
    
    return 0;
    }


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

     

    hocam işte tam merak ettiğim yerde burasıydı.saolasın.

     

     

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

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

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

    #include 
    
    int tbt (int secenek)
    {
    tekrardene: // yanlış seçtikçe burdan başlar
    printf("1 2 3 4 arasında bir sayı sec \n");
    scanf("%d",&secenek);
    
    
    if (secenek==1 || secenek==2|| secenek==3)
    {
    printf("Yanlis tahmin.Tekrar dene.\n");
    goto tekrardene; // eğer yanlış olursa yukarıdaki tekrardene: ye gidiyor program
    }
    if (secenek==4)
    {
    printf("doğru tahmiiiinnnn!!!");
    }
    return 0;
    }
    
    int main(void)
    {
    int secenek;
    tbt(secenek);
    
    
    return 0;
    }


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

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

    edit: goto için birçok kaynak, "ya hiç kullanmayın ya da olabildiğince az kullanın" demektedir.

     

     


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


    since 2005 // tbt
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    OnLyGoDCaNStoPMe
    OnLyGoDCaNStoPMe's avatar
    Kayıt Tarihi: 24/Mart/2010
    Erkek

    :/ hmm onu bilmiyordum üzüldüm şimdi goto yu çok severdim ve hep kullanırım ne gibi problemler oluşturur ?

  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ı:
    ----------------------------

    #include

    #include

    bunların devamı gözükmüyor hocam? stdio.h ile hangi libraryi kullandın?

    birde while içinde kullandıgın getch'in işlevi nedir?


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

    stdio.h ve conio.h

    getch(); aslında programı yanıltıcı bişey hocam. conio.h kütüphanesine bağlı olarak çalışıyor. Scanf gibi tek bir karakter almanı sağlar. örneğin char a; olarak tanımladığın bir değişken için a=getch(); şeklinde yazarsan girilen ilk tuş enter a basılmadan a değişkenine aktarılır. Burda benim yazmamın amacı Dev C++ ın kapanmasını engellemek, herhangi bir tuşa basılana kadar açık kalmasını sağlamak. SystemPause ile aynı işlevi görüyor yani.


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

     

    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 :)

     

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

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

    :/ hmm onu bilmiyordum üzüldüm şimdi goto yu çok severdim ve hep kullanırım ne gibi problemler oluşturur ?


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

    ilk öğrendiğimde ben de çok üzülmüştüm :) Aslına bakarsan kod olarak herhangi bir yanlış yanı yok sonuçta C'ye dahil bir kod fakat dediğim gibi çok tavsiye edilmiyor. Şöyle ki goto'nun kullanımı daha kapsamlı projelerde anlaşılması zor ve bakımı yapılması olanaksız programlar yaratabilir. Çünkü compiler yazılan kodu trace ederken yukarıdan aşağıya doğru okur ve goto yapısı buna mantık olarak ters.


    since 2005 // tbt
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    OnLyGoDCaNStoPMe
    OnLyGoDCaNStoPMe's avatar
    Kayıt Tarihi: 24/Mart/2010
    Erkek

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

Toplam Hit: 3553 Toplam Mesaj: 23