Lekcja 16- podstawy
Ostatnio zmodyfikowano 2011-06-28 20:13
Prefix Temat założony przez niniejszego użytkownika |
Lekcja 16- podstawy » 2011-06-28 19:37:09 Witam, chciałbym, abyście przejrzeli ten kod, napisany przeze mnie do lekcji, z rozdziału 16 i zobaczyli, czy coś tu nie trzeba zmienić: Wszystko wydaje MI się ok, ale liczbe strzałów po zgadnięciu, zawsze pokazuje "50". Dlaczego tak jest?? ;). Z góry dzięki za odp, bo utknąłem, a chcę iść dalej w kursie. #include <iostream> #include <ctime> #include <cstdlib> using namespace std;
int main() { srand( time( NULL ) ); int liczba; int strzaly; strzaly--; int los =( rand() % 1000 ) + 1; cout << "Podaj liczbe: "; cin >> liczba; cout << endl; do { if( liczba > los ) { cout << "Liczba, ktora podales jest za duza."; cout << endl; cout << "Podaj liczbe: "; cin >> liczba; } else { cout << "Liczba, ktora podales jest za mala."; cout << endl; cout << "Podaj liczbe: "; cin >> liczba; } } while( los != liczba ); do { if( los == liczba ) { cout << "BRAWO WYGRALES!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"; cout << "BRAWO WYGRALES!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"; cout << "BRAWO WYGRALES!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"; cout << "BRAWO WYGRALES!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"; cout << "BRAWO WYGRALES!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"; cout << "BRAWO WYGRALES!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"; system( "cls" ); cout << "Liczba Twoich strzałów, to: " << strzaly; cout << endl; cout << endl; } } while( strzaly != 0 ); system( "pause" ); }
|
|
Dawidsoni |
» 2011-06-28 19:48:35 Kod w C++ umieszczaj w [ cpp ] [/cpp]. Ta instrukcja jest bezsensu, bo nie zainicjalizowałeś obiektu strzały, więc jego wartość jest bezsensowna. Od niej odejmujesz 1, co jest też bezsensu. Powinno być: int strzaly = 0; Powinno działać po tej poprawce. |
|
Prefix Temat założony przez niniejszego użytkownika |
» 2011-06-28 20:00:52 No teraz wyświetla 0. |
|
Dawidsoni |
» 2011-06-28 20:08:20 To użyj w tej 1 pętli wyrażenia: strzaly++; , czyli powiększ o 1. |
|
a3780459 |
» 2011-06-28 20:09:26 tu masz poprawiony kod: #include <iostream> #include <ctime> #include <cstdlib>
using namespace std;
int main() { srand( time( NULL ) ); int liczba; int strzaly = 0; int los = rand() % 1000 + 1; do { cout << "Podaj liczbe: "; cin >> liczba; if( liczba > los ) { cout << "Liczba, ktora podales jest za duza."; } else if( liczba < los ) { cout << "Liczba, ktora podales jest za mala."; } cout << endl << endl; strzaly++; } while( los != liczba ); cout << "BRAWO WYGRALES!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" << endl; cout << "BRAWO WYGRALES!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" << endl; cout << "BRAWO WYGRALES!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" << endl; cout << "BRAWO WYGRALES!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" << endl; cout << "BRAWO WYGRALES!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" << endl; cout << "BRAWO WYGRALES!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" << endl; system( "cls" ); cout << "Liczba Twoich strzałów, to: " << strzaly; cout << endl; cout << endl; system( "pause" ); }
Pozmieniałem jeszcze parę rzeczy (bo ten program chyba jakoś tak miał wyglądać), możesz porównać oba kody to zobaczysz, co i jak... |
|
szyx_yankez |
» 2011-06-28 20:10:25 int strzaly = 0; do { strzaly++; ...
|
|
Prefix Temat założony przez niniejszego użytkownika |
» 2011-06-28 20:13:52 Dzięki a3780459. Wszystko działa;) Zamykam |
|
asembler |
» 2011-06-28 20:13:57 <FACEPALM> Nie [/cpp] tylko [ cpp] bez spacji na początku, kiedy kończysz kod używasz [/cpp]
@EDIT Poprawiłeś :) |
|
« 1 » |