Zadanie z rozdziału 16 sprawdzenie kodu
Ostatnio zmodyfikowano 2022-06-14 01:42
piratek Temat założony przez niniejszego użytkownika |
Zadanie z rozdziału 16 sprawdzenie kodu » 2022-06-11 05:35:57 Czy wszystko działa wedle założenia? #include <iostream> #include <limits> #include <cstdlib> #include <ctime> using namespace std;
int main() { srand( time( NULL ) ); int Wylosujliczbe =(( rand() % 100 ) + 1 ); int Wybierzliczbe; bool blad; cout << "Witamy w grze losujacej" << endl; cout << "Aby wygrac musisz wylosowac wylosowana liczbe" << endl; do { do { cout << "Wybrales liczbe = "; cin >> Wybierzliczbe; blad = cin.fail(); cin.clear(); cin.ignore( numeric_limits < streamsize >::max(), '\n' ); } while( blad ); if( Wylosujliczbe > Wybierzliczbe ) { cout << "Za malo!" << endl; } if( Wylosujliczbe < Wybierzliczbe ) { cout << "Za duzo!" << endl; } } while( Wybierzliczbe != Wylosujliczbe ); cout << "Gratulacje! Udalo Ci sie!" << endl; }
|
|
pekfos |
» 2022-06-11 12:55:02 Czy działa i działa zgodnie z treścią zadania? Nie. Powinieneś być w stanie sam sobie odpowiadać na takie pytania. |
|
piratek Temat założony przez niniejszego użytkownika |
» 2022-06-12 07:58:31 Czy działa i działa zgodnie z treścią zadania? Nie. Powinieneś być w stanie sam sobie odpowiadać na takie pytania. Wychodzę z założenie, że lepiej jest się zapytać i pokazać swoją pracę dla pewności, niżeli nieświadomie popełnić błąd, o którym mogę sobie nie zdawać pojęcia i nieświadomie uznać zadanie za gotowe. Szczególnie że niekiedy miewam problem, by zrozumieć prawidłowo treść zadania. Rzeczywiście przeoczyłem 4 punkt, powinienem był doczytać przed zadaniem pytania. Teraz powinno być prawidłowo. #include <iostream> #include <limits> #include <cstdlib> #include <ctime> using namespace std;
int main() { srand( time( NULL ) ); int Wylosujliczbe =(( rand() % 100 ) + 1 ); int Wybierzliczbe; int Strzaly = 0; bool blad; cout << "Witamy w grze losujacej" << endl; cout << "Aby wygrac musisz zgadnac wylosowana liczbe" << endl; do { do { cout << "Wybrales liczbe = "; cin >> Wybierzliczbe; blad = cin.fail(); cin.clear(); cin.ignore( numeric_limits < streamsize >::max(), '\n' ); if( blad != 1 && Wybierzliczbe > 0 && Wybierzliczbe < 101 ) { Strzaly++; } } while( blad ); if( Wylosujliczbe > Wybierzliczbe ) { cout << "Za malo!" << endl; } if( Wylosujliczbe < Wybierzliczbe ) { cout << "Za duzo!" << endl; } } while( Wybierzliczbe != Wylosujliczbe ); cout << "Gratulacje! Udalo Ci sie!" << endl << endl; cout << "Wylosowana liczba, to = " << Wylosujliczbe << endl; cout << "Udalo Ci sie za " << Strzaly << " razem"; }
|
|
pekfos |
» 2022-06-12 12:01:03 W zadaniu losowe liczby miały być od 1 do 1000. Warunek dla liczenia strzałów jest zbędny. Póki pozwalasz wybrać liczbę poza zakresem, to też się liczy jako strzał. Sprawdzanie blad jest potrzebne tylko dlatego, że całość wpisałeś w złe miejsce. Liczenie prób powinno być razem z obsługą tych prób, czyli za tą pętlą. |
|
piratek Temat założony przez niniejszego użytkownika |
» 2022-06-14 01:42:18 W zadaniu losowe liczby miały być od 1 do 1000. Warunek dla liczenia strzałów jest zbędny. Póki pozwalasz wybrać liczbę poza zakresem, to też się liczy jako strzał. Sprawdzanie blad jest potrzebne tylko dlatego, że całość wpisałeś w złe miejsce. Liczenie prób powinno być razem z obsługą tych prób, czyli za tą pętlą.
Niepotrzebna komplikacja z mojej strony, rzeczywiście. Dziękuję serdecznie za pomoc. Edit: Poprawiłem błędną liczbę w rand #include <iostream> #include <limits> #include <cstdlib> #include <ctime> using namespace std;
int main() { srand( time( NULL ) ); int Wylosujliczbe =(( rand() % 1000 ) + 1 ); int Wybierzliczbe; int Strzaly = 0; bool blad; cout << "Witamy w grze losujacej" << endl; cout << "Aby wygrac musisz zgadnac wylosowana liczbe" << endl; cout << "Zakres liczb zaczyna sie od 1 i konczy sie na 1000" << endl; do { do { cout << "Wybrales liczbe = "; cin >> Wybierzliczbe; cout << Wylosujliczbe; blad = cin.fail(); cin.clear(); cin.ignore( numeric_limits < streamsize >::max(), '\n' ); } while( blad != false ); if( Wybierzliczbe >= 1 && Wybierzliczbe <= 1000 ) { Strzaly++; if( Wylosujliczbe > Wybierzliczbe ) { cout << "Za malo!" << endl; } if( Wylosujliczbe < Wybierzliczbe ) { cout << "Za duzo!" << endl; } } else { cout << "Wybrales liczbe poza zakresem liczb. Sprobuj ponownie" << endl; } } while( Wybierzliczbe != Wylosujliczbe ); cout << "Gratulacje! Udalo Ci sie!" << endl << endl; cout << "Wylosowana liczba, to = " << Wylosujliczbe << endl; cout << "Udalo Ci sie za " << Strzaly << " razem"; }
|
|
« 1 » |