Pseudolosowe liczby całkowite / Poziom 2
Ostatnio zmodyfikowano 2012-11-10 21:58
Najsu Temat założony przez niniejszego użytkownika |
Pseudolosowe liczby całkowite / Poziom 2 » 2012-11-10 21:21:47 Witam serdecznie. Utknąłem przy lekcji 16, chciałbym się zwrócić do Was o pomoc. W chwili obecnej mój kod wygląda tak: #include <iostream> #include <cstdlib> #include <ctime> int main() { int liczbastrzalow = 0; int strzal; int los; srand( time( NULL ) ); do { int los =( rand() % 10 ); std::cout << "Liczba zostala wylosowana!" << std::endl; std::cout << "Strzelam, ze to: "; std::cin >> strzal; if( strzal == los ) { std::cout << "" << std::endl; std::cout << "Gratulacje, zgadles!" << std::endl; std::cout << "" << std::endl; } else { ++liczbastrzalow; std::cout << "" << std::endl; std::cout << "Niestety nie udalo sie! Do tej pory chybiles " << liczbastrzalow << " razy." << std::endl; std::cout << "" << std::endl; } } while( los != strzal ); std::cout << "Koniec!" << std::endl; }
Analizowałem go dosyć długo i nie wiem gdzie jest błąd, a polega on na tym, że gdy wylosujemy liczbę prawidłowo pętla WHILE, zamiast się skończyć nadal się powtarza. Co wygląda następująco: Gratulacje, zgadles! Liczba zostala wylosowana! Strzelam, ze to: Proszę o nakierowanie, z góry dziękuje i pozdrawiam. @edit Chciałbym dodać, że dopiero później będę to zabezpieczać. |
|
DejaVu |
» 2012-11-10 21:37:24 Wywal 'int' w tym miejscu. int los =( rand() % 10 );
Gdzieś był podobny temat na forum w ciągu ostatnich 2 tygodni, ale znaleźć nie mogę... /edit: Problem z maszyną losującą |
|
zaVIstic |
» 2012-11-10 21:54:51 A nie wystarczy dodać instrukcji break w tym miejscu? if( strzal == los ) { std::cout << "" << std::endl; std::cout << "Gratulacje, zgadles!" << std::endl; std::cout << "" << std::endl; break; } Tak tylko gdybam :) |
|
Najsu Temat założony przez niniejszego użytkownika |
Dziękuje » 2012-11-10 21:58:14 DejaVu - twoja odpowiedź mi pomogła, dziwne że tego nie zauważyłem, określiłem typ zmiennej już powyżej i nie powinienem tego robić ponownie, ale tłumacze się, że jestem początkujący. Dziękuje bardzo i przepraszam jeszcze za to, że napisałem w niepoprawnym dziale, powodem tego był tzw. missclick. |
|
« 1 » |