[C++] Program "zapomina" dane
Ostatnio zmodyfikowano 2013-02-22 21:47
korkoran Temat założony przez niniejszego użytkownika |
[C++] Program "zapomina" dane » 2013-02-22 21:20:20 Jest to mój pierwszy post na tym forum, a więc chciałbym się serdecznie przywitać :). Mam następujący problem. Chcę stworzyć program, którego jedną z możliwości będzie wylosowanie pięciu kart. Skrypt losujący działa bardzo dobrze, lecz jego wyniki nie przenoszą się na karty. Prawdopodobnie gdzieś zrobiłem błąd, ale nie jestem w stanie go znaleźć. Byłbym bardzo wdzięczny za pomoc. void Player::give_cards() { int n = 0; while( n <= 4 ) { card[ n ] =( rand() % 20 ) + 1; cout << card[ n ] << endl;; n++; }; const char * karta[ 20 ] = { "Dwójka trefl ", "Dwójka karo ", "Dwójka kier ", "Dwójka pik ", "Trójka trefl ", "Trójka karo ", "Trójka kier ", "Trójka pik ", "Czwórka trefl", "Czwórka karo", "Czwórka kier", "Czwórka pik", "Piątka trefl", "Piątka karo", "Piątka kier", "Piątka pik", "Szóstka trefl", "Szóstka karo", "Szóstka kier", "Szóstka pik", }; int i = 0; while( i <= 4 ) { if( card[ i ] = 1 ) cout << n << karta[ 1 ] << endl; else if( card[ i ] = 2 ) cout << n << karta[ 2 ] << endl; else if( card[ i ] = 3 ) cout << n << karta[ 3 ] << endl; else if( card[ i ] = 4 ) cout << n << karta[ 4 ] << endl; else if( card[ i ] = 5 ) cout << n << karta[ 5 ] << endl; else if( card[ i ] = 6 ) cout << n << karta[ 6 ] << endl; else if( card[ i ] = 7 ) cout << n << karta[ 7 ] << endl; else if( card[ i ] = 8 ) cout << n << karta[ 8 ] << endl; else if( card[ i ] = 9 ) cout << n << karta[ 9 ] << endl; else if( card[ i ] = 10 ) cout << n << karta[ 10 ] << endl; else if( card[ i ] = 11 ) cout << n << karta[ 11 ] << endl; else if( card[ i ] = 12 ) cout << n << karta[ 12 ] << endl; else if( card[ i ] = 13 ) cout << n << karta[ 13 ] << endl; else if( card[ i ] = 14 ) cout << n << karta[ 14 ] << endl; else if( card[ i ] = 15 ) cout << n << karta[ 15 ] << endl; else if( card[ i ] = 16 ) cout << n << karta[ 16 ] << endl; else if( card[ i ] = 17 ) cout << n << karta[ 17 ] << endl; else if( card[ i ] = 18 ) cout << n << karta[ 18 ] << endl; else if( card[ i ] = 19 ) cout << n << karta[ 19 ] << endl; else if( card[ i ] = 20 ) cout << n << karta[ 20 ] << endl; else cout << "Błąd" << endl; i++; }; }
A oto wynik działania programu: http://scr.hu/0qyc/cz73o |
|
krzyk |
» 2013-02-22 21:39:27 if( card[ i ] = 1 ) if( card[ i ] == 1 )
poza tym jeśli card[ i ] jest indeksem do karta[] to prościej zapisać to tak karta[ card[ i ] ] będziesz miał trochę mniej if-ów. |
|
korkoran Temat założony przez niniejszego użytkownika |
» 2013-02-22 21:47:06 Oczywiście teraz wszystko działa - bardzo dziękuję za pomoc. |
|
« 1 » |