Şimdi Ara

acele C++ yardımı

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
23
Cevap
0
Favori
1.164
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 12
Sayfaya Git
Git
sonraki
Giriş
Mesaj
  • #include <iostream>
    #include <stdlib.h>
    using namespace std;
    int main()
    {
    int a,b,c,d;
    int randomize();
    a=rand()%10;
    b=rand()%10;
    cout<<a<<" "<<" "<<b<<endl;
    c=a*b;
    while (c!=d){
    cout<<"How much"<<" "<<a<<" "<<"times"<<" "<<b<<" "<<"?"<<endl;
    cin>>d;

    cout<<"No,please try again.."<<endl;

    }
    cout<<"Very good.."<<endl;

    return 0;
    }


    koddadagörüldüğü üzere random 2 adet sayı üretiliyor ve bu sayıların çarpımı kullanıcıdan isteniyor.
    Sorunlar şu şekilde:
    1-her zaman aynı sayıyı üretmesini nasıl engellerim,kodda nereye yazmalıyım?
    2-doğru cevabı veren kullanıcı için bile no please try again'den sonra very good diyor,bunu nasıl engellerim.

    Acil cevap yazarmısınız.Tşk.



    < Bu mesaj bu kişi tarafından değiştirildi spike -- 20 Ocak 2006 22:46:13 >







  • doğru cevap verildiğini while e tekrar girerken kontrol ediyosun..dolayısıyla whilenin sonundaki "No,please try again" der ve while başa döner eşit olduğundan çıkar bi daha girmez ve "Very Good" der.biter...

    while (c!=d)
    {
    if (d==c)
    {
    doğru
    }
    else
    {
    yanlış try again vs..
    }
    }

    yada...


    cin>>d;
    while(c!=d)
    {
    cout<<"No,please try again.."<<endl;
    cin>>d;
    }
    cout<<"Very good.."<<endl;



    pek optimize deil ama çalışır.. uykum var idare et
  • Döngüyü yaptım ancak şimdide bana söyleyebilirmisiniz,aynı sayıları üretmesini nasıl engellerim acil söylermisiniz..
  • acil olarak yukarıdaki random kullanımını tarif edebilirmisiniz,acil bir durum.
  • " int randomize();" "randomize();" olarak değiştir başındaki int'i sil öyle dene
  • yaptım ancak olmuyor visual c++ da olmuyormu yoksa bunu bu compiler'da kullanmanın başka bir yolumu var acil söylermisiniz.?bu hatayı veriyor:

    'randomize' : undeclared identifier



    < Bu mesaj bu kişi tarafından değiştirildi spike -- 21 Ocak 2006 16:21:38 >
  • Aşağıdakini Visual c++ 2003 de denedim sen de bi dene istersen

    #include <cstdlib>
    #include <ctime>
    #include <stdlib.h>
    using namespace std;
    int main()
    {
    int a;
    int b;
    int c;
    int d;
    srand(unsigned(time(NULL)));// buna dikkat
    a=rand()%10;
    b=rand()%10;
    cout<<a<<" "<<" "<<b<<endl;
    c=a*b;
    while (c!=d){
    cout<<"How much"<<" "<<a<<" "<<"times"<<" "<<b<<" "<<"?"<<endl;
    cin>>d;

    cout<<"No,please try again.."<<endl;

    }
    cout<<"Very good.."<<endl;

    return 0;
    }
  • çok iyi bir zamanlama,tam komutu buldum sen yazdın ,yinede saol.Bu bölümün dahada gelişmesi için elele vermeliyiz.3-5 kişiden başka bu programlama dillerini bilen yardım eden kimse yok..Teşekkürler,akagi.
  • Bu kodların çalıştığı C++ programını söylermisiniz bana acaba?
  • bu c++ oluşturma programı hangisi acaba?borland mı?visual 2003 mü?
  • g++,borland,visual studio farketmiyor hepsi compile eder
    #include <cstdlib>
    #include <ctime>
    #include <stdlib.h>
    #include <iostream> //Bunu nasıl unuttum acaba hadi unuttum compiler nasıl derledi acaba
    using namespace std;
    int main()
    {
    int a;
    int b;
    int c;
    int d;
    srand(unsigned(time(NULL)));// buna dikkat
    a=rand()%10;
    b=rand()%10;
    cout<<a<<" "<<" "<<b<<endl;
    c=a*b;
    while (c!=d){
    cout<<"How much"<<" "<<a<<" "<<"times"<<" "<<b<<" "<<"?"<<endl;
    cin>>d;

    cout<<"No,please try again.."<<endl;

    }
    cout<<"Very good.."<<endl;

    return 0;
    }
  • kodu derlemeye firsatim olmadi ama ilk bakista göze carpan ufak bi hata var sanirim.
    While döngüsünde (c!=d) sorgusu yapilmis ama d'nin ilk degeri atanmamis.yani d icin
    sadece bellkete yer var ama deger olmadigi icin program hata verir bence.ya en basta d=0;
    gibi bi atama yapilmali yada
    cout<<"How much"<<" "<<a<<" "<<"times"<<" "<<b<<" "<<"?"<<endl;
    cin>>d;
    while 'in öncesine tasinmali ve

    cout<<"No,please try again.."<<endl; 'den sonra cin>>d; eklenmeli.
    Hem böylece her seferinde How much soru sorulmayarak sadece no please try again cikar
    ve buda daha sade bir görüntü yaratir.
    selamlar



    < Bu mesaj bu kişi tarafından değiştirildi tamers -- 26 Ocak 2006 18:10:43 >
  • while (c!=d){
    cout<<"How much"<<" "<<a<<" "<<"times"<<" "<<b<<" "<<"?"<<endl;
    cin>>d;

    cout<<"No,please try again.."<<endl;

    Döngüye giriş scope'u eksik. Bir döngü girişinde birden fazla ifade kullanılıcaksa scope verilmeli. Ayrıca ödev amaçlı bir çalışma gibi görünüyor.
    while()
    {
    statement1;
    statement1;
    ..
    }

    Aksi takdirde ikinci ifade döngüden bağımsız çalışır.
  • #include <stdafx.h>// sadece vs için ekleyin
    #include <cstdlib>
    #include <ctime>
    #include <stdlib.h>
    #include <iostream> //Bunu nasıl unuttum acaba hadi unuttum compiler nasıl derledi acaba
    using namespace std;
    int main()
    {
    int a;
    int b;
    int c;
    int d;
    srand(unsigned(time(NULL)));// buna dikkat
    a=rand()%10;
    b=rand()%10;
    cout<<a<<" "<<" "<<b<<endl;
    c=a*b;
    do
    {
    cout<<"How much"<<" "<<a<<" "<<"times"<<" "<<b<<" "<<"?"<<endl;
    cin>>d;
    }while ((c!=d)&&(cout<<"No,please try again.."<<endl));
    cout<<"Very good.."<<endl;
    return 0;
    }



    < Bu mesaj bu kişi tarafından değiştirildi akagi -- 28 Ocak 2006 21:58:10 >
  • while ((c!=d)&&(cout<<"No,please try again.."<<endl));

    Koşul sınama deyimi içerisinde logic operasyonu overloaded operator ile bu şekilde kullanılmamalı.
    Hatalı kodlama.
  • kodun neresi tam olarak hatalı ?
    ancak
    1) kafa karıştırıyor
    2) aslında tamamen compilerin kodu düzgün şekilde optimize edeceği fikri üzerine dayanıyor
    derseniz tamam
  • (c!=d)&&(cout<<"No,please try again.."<<endl));

    Döngü koşul sınamasını c!=d && logic operatörü ile stream out ile && yapılmış. c!=d dönüşü ile while sonlandıracktır. cout ile &&'si hatalı.
  • kodu derledin mi ?
  • Derlenmesine gerek yok. Yukarıdaki kodun derlendiğinde çalışmasının sebebi döngü sınama deyiminin sadece c !=d sınaması ile sağlanıyor olması. Döngü stream ifade ile bir && sınama yapmadığı için çalışır. Stream ifadeleri sınama değeri döndürmezler, ki yukarıdaki kodda bir derleyici c!=0 şartı ile sadece sonlanır veya devam eder. Diğer ifadeyi "cout<<.." yanlız başına denenirse sonsuza dek cin>> ile input alarak programın hiç sonlanmadığı görülecektir.
  • kafam karışmış ya ben zaten onu sadece yanlış değer verdiği zaman cout ile mesaj versin diye koydum ! öbür türlü iş uzayacaktı.



    < Bu mesaj bu kişi tarafından değiştirildi akagi -- 28 Ocak 2006 23:15:48 >
  • 
Sayfa: 12
Sayfaya Git
Git
sonraki
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.