Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Program "zapomina" dane

Ostatnio zmodyfikowano 2013-02-22 21:47
Autor Wiadomość
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.
C/C++
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
P-76742
krzyk
» 2013-02-22 21:39:27
C/C++
if( card[ i ] = 1 ) // przypisanie
if( card[ i ] == 1 ) // porównanie
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.
P-76743
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.
P-76744
« 1 »
  Strona 1 z 1