Praca domowa lekcja 16
Ostatnio zmodyfikowano 2013-07-14 11:49
danielpadewski Temat założony przez niniejszego użytkownika |
Praca domowa lekcja 16 » 2013-07-14 10:58:03 Cześć. Napisałem grę z lekcji 16 która ma za zadanie losować liczbe i gracz musi ją odgadnąć. Gra działa dobrze lecz nie umiem zrobić jednego. Mianowicie niewiem jak sprawdzic ile razy był oddane próby odgadnięcie liczby. Myślałem nad sprawdzeniem ile razy się wykonała pętla ale takie czegoś nawet ni eumiem. Oto kod : #include <iostream> #include <cstdlib> #include <ctime> int main() { srand( time( NULL ) ); int liczba; int los =( rand() % 1000 ) + 1; std::cout << "Losowanie... " << std::endl; do { std::cout << "Podaj liczbe od 1 do 1000 : "; std::cin >> liczba; if( liczba < los ) { std::cout << "Podana liczba jest za mala !" << std::endl; std::cin.clear(); std::cin.sync(); } if( liczba > los ) { std::cout << "Podana liczba jest za duza !" << std::endl; std::cin.clear(); std::cin.sync(); } } while( liczba != los ); std::cout << "Gratuluje ! Wylosowana liczba to : " << los << std::endl; return 0; } |
|
jsc |
» 2013-07-14 10:59:39 Musisz zrobić dodatkową zmienną, którą na początku pętli będziesz inkrementował. |
|
danielpadewski Temat założony przez niniejszego użytkownika |
» 2013-07-14 11:08:45 kod : #include <iostream> #include <cstdlib> #include <ctime> int main() { srand( time( NULL ) ); int liczba; int los =( rand() % 1000 ) + 1; int ile; std::cout << "Losowanie... " << std::endl; do { ile++; std::cout << "Podaj liczbe od 1 do 1000 : "; std::cin >> liczba; if( liczba < los ) { std::cout << "Podana liczba jest za mala !" << std::endl; std::cin.clear(); std::cin.sync(); } if( liczba > los ) { std::cout << "Podana liczba jest za duza !" << std::endl; std::cin.clear(); std::cin.sync(); } } while( liczba != los ); std::cout << "Gratuluje ! Wylosowana liczba to : " << los << std::endl; std::cout << "Twoja liczba sttrzalow to :" << ile << std::endl; return 0; } Zrobiłem tak jak mówiłeś. Program się kompiluje ale coś chyba jest nie tak. Do momentu konca pętli jest spoko ale gdy jest std::cout << "Twoja liczba sttrzalow to :" << ile << std::endl;
to program wypisuje jakies wielkie liczby niewiadomo skad. Czy zmienne przechowuje liczbe inkrementacji pętli ? Jak powinienem edytowac ten program ? |
|
jsc |
» 2013-07-14 11:16:25 Zapomniałeś wyzerować. |
|
danielpadewski Temat założony przez niniejszego użytkownika |
» 2013-07-14 11:24:07 Mógłbyś pokazać jakby wyglądał wtedy kod bo niewiem jak to zrobić :) |
|
danielpadewski Temat założony przez niniejszego użytkownika |
» 2013-07-14 11:29:03 W rejestracji zmiennej int ile; mam dodać int ile = 0; ? |
|
jsc |
» 2013-07-14 11:37:59 Taaaaak. |
|
danielpadewski Temat założony przez niniejszego użytkownika |
» 2013-07-14 11:42:16 Dzięki, pomógłes :D . Do zamknięcia |
|
« 1 » 2 |