Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Program generuje liczbę niecałkowitą zamiast całkowitej

Ostatnio zmodyfikowano 2010-02-07 18:43
Autor Wiadomość
nehemaah
Temat założony przez niniejszego użytkownika
Program generuje liczbę niecałkowitą zamiast całkowitej
» 2010-02-07 11:51:05
Witam,

Usiluje napisac prosty programik, w ktorym gracz mialby za zadanie zgadnac liczbe wygenerowana przez komputer, przy czym program mialby podpowiadac czy szukana liczba jest wieksza czy mniejsza od podanej przez gracza. Tlumaczac prostote mojego problemu chcialbym dodac, ze "bawie" sie programowaniem dopiero kilka dni. Przerobilem kilka lekcji kursu i stwierdzilem ze napisza cos prostego co potem w miare poznawanie nowych sztuczek bede rozwijac.

Do rzeczy: Program niby generuje liczbe i niby podpowiada czy liczba ma byc wieksza czy mniejsza, ale zawsze wychodzi, ze szukana liczba nie jest calkowita...
Zerknijcie prosze na kod:
C/C++
int main()

{
    int i =( rand() % 100 );
    int a;
   
    cout << "Komputer wylosowal liczbe z przedzialu 1-100. Zgadnij jaka to liczba." << endl;
   
    do
    {
        cin >> a;
       
        if( a < i )
        {
            cout << "Szukana liczba jest wieksza" << endl;
        }
       
        if( a > i )
        {
            cout << "Szukana liczba jest mniejsza" << endl;
        }
       
    } while( i = a );
   
    if( a = i )
    {
        cout << "Brawo!" << endl;
    }
    getch();
    return( 0 );
}
Bede wdzieczny za wskazanie problemu i ewentualne sugestie jak skrocic lub uporzdakowac kod.

#pixelmaster: zmieniłem tytuł, zapoznaj się z http://forum.ddt.pl/?Tid=622
P-13624
pekfos
» 2010-02-07 12:34:52
chodzi chyba o to:
C/C++
int main() {
    int rnd = 1 + rand() % 100, sz = 0;
    cout << "liczba 1-100\nzgadnij ja" << endl;
    while( rnd != sz ) {
        cin >> sz;
        if( sz > rnd ) cout << "nie przesadzaj!!" << endl;
        else if( sz < rnd ) cout << "za mało!!" << endl;
       
    }
    cout << "bravo!!" << endl;
    getch();
    return 0;
}
P-13625
pacco
Program generuje liczbę niecałkowitą zamiast całkowitej
» 2010-02-07 13:01:46
Jeżeli chcesz pozostać przy swoim sposobie
C/C++
do
{
    cin >> a;
   
    if( a < i )
    {
        cout << "Szukana liczba jest wieksza" << endl;
    }
   
    if( a > i )
    {
        cout << "Szukana liczba jest mniejsza" << endl;
    }
   
} while( i = a ); /*while(i = a) -> while(i != a)*/

Przy twoim warunku pętla jest nieskończona
P-13626
malan
» 2010-02-07 13:05:27
Przy twoim warunku pętla jest nieskończona, ponieważ zrobiłeś przypisanie zamiast porównania :).
P-13627
nehemaah
Temat założony przez niniejszego użytkownika
» 2010-02-07 17:40:52
Dziekuje wszystkim - teraz widze swoj blad :)

Wyszlo jednak na to, ze program generuje teraz liczbe calkowita, ale zawsze taka sama. Jakmozna najprosciej temu zaradzic?

edit: temat zamknalem, ale otworzylem ponownie, zeby nie tworzyc nowego.
P-13631
Elaine
» 2010-02-07 18:28:22
Tam na dole jest "zamknij temat", wystarczy kliknąć.
P-13632
pixelmaster
» 2010-02-07 18:43:37
jeden problem = jeden wątek
P-13633
« 1 »
  Strona 1 z 1