Lekcja nr 16, problem
Ostatnio zmodyfikowano 2016-03-03 11:00
Amoook Temat założony przez niniejszego użytkownika |
Lekcja nr 16, problem » 2016-03-02 12:24:24 #include <iostream> #include <cstdlib> #include <ctime> int main() { srand( time( NULL ) ); int liczba1; int liczba2; int liczba3; liczba2 = std::rand() % 10 + 1; std::cout << "To jest gra, w ktorej musisz zgadnac jaka liczbe wylosowal komputer" << std::endl; std::cout << "Komputer bedzie losowal liczbe z przedzialu od 1 do 10." << std::endl; std::cout << "Aby rozpoczac wcisnij 1" << std::endl; std::cin >> liczba1; if( liczba1 < 1 || liczba1 > 1 ) do { std::cout << "Pomyliles sie, sprobuj jeszcze raz." << std::endl; std::cin >> liczba1; } while( liczba1 < 1 || liczba1 > 1 ); std::cout << "Podaj liczbe wylosowana przez komputer: "; std::cin >> liczba3; if(( liczba3 < liczba2 ) &&( liczba3 < 10 ) ) { do { std::cout << "Liczba jest za duza, sprobuj jeszcze raz!" << std::endl; std::cin >> liczba3; } while( liczba3 > liczba2 ); } if(( liczba3 < liczba2 ) &&( liczba3 > 1 ) ) do { std::cout << "Lczba jest za mala, sprobuj jeszcze raz!" << std::endl; std::cin >> liczba3; } while( liczba3 < liczba2 ); if( liczba3 == liczba2 ) std::cout << "Brawo, trafiles!"; return 0; }
Nie mogę przez to przebrnąć. Po podaniu cyfry 1, co jest warunkiem dalszego działania programu, nic się nie dzieje. Kompilator nie wyrzuca żadnych błędów. Wygląda to tak, że część programu do momentu podania cyfry "1" działa poprawnie, druga część programu (po podaniu cyfry "1") też działa poprawnie, ale razem nie chcą funkcjonować. |
|
carlosmay |
» 2016-03-02 12:39:29 Mocno ta zakręcone.
Wystarczy jedna pętla, a w niej instrukcja warunkowa informująca o relacji między podaną i szukaną wartością. Zgaduj póki nie zgadniesz. To wszystko. |
|
Amoook Temat założony przez niniejszego użytkownika |
» 2016-03-02 12:57:24 No OK, może i pokręcone, ale czy widzisz dlaczego nie idzie po " while (liczba1<1 || liczba1 > 1); ? |
|
carlosmay |
» 2016-03-02 15:57:10 if(( liczba3 < liczba2 ) &&( liczba3 < 10 ) ) |
Ten warunek jest prawdziwy dla liczby mniejszej od wylosowanej (nie tego oczekujesz). ( liczba1 < 1 || liczba1 > 1 ) ==> ( liczba1 != 1 ) Zdecyduj, które jest czytelniejsze. |
|
Amoook Temat założony przez niniejszego użytkownika |
» 2016-03-03 11:00:57 @carlosmay Dzięki! |
|
« 1 » |