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

Kółko i krzyżyk w kosoli - Problem z niewykonującym się ifem

Ostatnio zmodyfikowano 2015-02-25 18:20
Autor Wiadomość
Gravity
Temat założony przez niniejszego użytkownika
Kółko i krzyżyk w kosoli - Problem z niewykonującym się ifem
» 2015-02-25 17:12:21
Witam,
wziąłem się za nowy projekt po skończeniu generatora nicków i napotkałem na jeden problem ponieważ w kodzie if się nie wykonuje mimo tego , że moim zdaniem jest poprawny oraz gdy sprawdzałem go debuggerem w visual studio to debugger do tej linijki nigdy nie dochodzi . Wie ktoś dlaczego ?
To mój kod :
C/C++
void Game( char & p1, char & p2, char & p3, char & p4, char & p5, char & p6, char & p7, char & p8, char & p9 )
{
    char kto = 'o';
    char gdzie;
    char statystyki;
    char check = 'n';
    do
    {
       
        cout << "Teraz tura gracza : " << kto << endl;
        cout << "Wpisz swoje pole wyboru np p1,p2 itp : ";
        cin >> gdzie;
       
        if( p1 == 'n' && gdzie == 'p1' )
        {
            if( kto == 'o' ) <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Te ify nigdy si ę nie wykonuj ą
            {
                p1 = 'o';
                kto = 'x';
                check = Check_Game( p1, p2, p3, p4, p5, p6, p7, p8, p9, kto );
            }
            else
            {
                p1 = 'x';
                kto = 'o';
                check = Check_Game( p1, p2, p3, p4, p5, p6, p7, p8, p9, kto );
               
            }
           
        }
       
        if( p2 == 'n' && gdzie == 'p2' )
        {
            if( kto == 'o' )
            {
                p2 = 'o';
                kto = 'x';
                check = Check_Game( p1, p2, p3, p4, p5, p6, p7, p8, p9, kto );
               
            }
            else
            {
                p2 = 'x';
                kto = 'o';
                check = Check_Game( p1, p2, p3, p4, p5, p6, p7, p8, p9, kto );
               
            }
           
        }
       
        if( p3 == 'n' && gdzie == 'p3' )
        {
            if( kto == 'o' )
            {
                p3 = 'o';
                kto = 'x';
                check = Check_Game( p1, p2, p3, p4, p5, p6, p7, p8, p9, kto );
               
            }
            else
            {
                p3 = 'x';
                kto = 'o';
                check = Check_Game( p1, p2, p3, p4, p5, p6, p7, p8, p9, kto );
               
            }
           
        }
       
        if( p4 == 'n' && gdzie == 'p4' )
        {
            if( kto == 'o' )
            {
                p4 = 'o';
                kto = 'x';
                check = Check_Game( p1, p2, p3, p4, p5, p6, p7, p8, p9, kto );
            }
            else
            {
                p4 = 'x';
                kto = 'o';
                check = Check_Game( p1, p2, p3, p4, p5, p6, p7, p8, p9, kto );
            }
           
        }
       
        if( p5 == 'n' && gdzie == 'p5' )
        {
            if( kto == 'o' )
            {
                p5 = 'o';
                kto = 'x';
                check = Check_Game( p1, p2, p3, p4, p5, p6, p7, p8, p9, kto );
            }
            else
            {
                p5 = 'x';
                kto = 'o';
                check = Check_Game( p1, p2, p3, p4, p5, p6, p7, p8, p9, kto );
            }
           
        }
       
        if( p6 == 'n' && gdzie == 'p6' )
        {
            if( kto == 'o' )
            {
                p6 = 'o';
                kto = 'x';
                check = Check_Game( p1, p2, p3, p4, p5, p6, p7, p8, p9, kto );
            }
            else
            {
                p6 = 'x';
                kto = 'o';
                check = Check_Game( p1, p2, p3, p4, p5, p6, p7, p8, p9, kto );
            }
           
        }
       
        if( p7 == 'n' && gdzie == 'p7' )
        {
            if( kto == 'o' )
            {
                p7 = 'o';
                kto = 'x';
                check = Check_Game( p1, p2, p3, p4, p5, p6, p7, p8, p9, kto );
            }
            else
            {
                p7 = 'x';
                kto = 'o';
                check = Check_Game( p1, p2, p3, p4, p5, p6, p7, p8, p9, kto );
               
            }
           
        }
       
        if( p8 == 'n' && gdzie == 'p8' )
        {
            if( kto == 'o' )
            {
                p8 = 'o';
                kto = 'x';
                check = Check_Game( p1, p2, p3, p4, p5, p6, p7, p8, p9, kto );
            }
            else
            {
                p8 = 'x';
                kto = 'o';
                check = Check_Game( p1, p2, p3, p4, p5, p6, p7, p8, p9, kto );
            }
           
        }
       
        if( p9 == 'n' && gdzie == 'p9' )
        {
            if( kto == 'o' )
            {
                p9 = 'o';
                kto = 'x';
                check = Check_Game( p1, p2, p3, p4, p5, p6, p7, p8, p9, kto );
            }
            else
            {
                p9 = 'x';
                kto = 'o';
                check = Check_Game( p1, p2, p3, p4, p5, p6, p7, p8, p9, kto );
            }
           
        }
       
        if( p1 != 'n' && gdzie == 'p1' )
        {
            cout << "To pole jest juz zapelnione ! " << endl;
        }
       
        if( p2 != 'n' && gdzie == 'p2' )
        {
            cout << "To pole jest juz zapelnione ! " << endl;
        }
       
        if( p3 != 'n' && gdzie == 'p3' )
        {
            cout << "To pole jest juz zapelnione ! " << endl;
        }
       
        if( p4 != 'n' && gdzie == 'p4' )
        {
            cout << "To pole jest juz zapelnione ! " << endl;
        }
       
        if( p5 != 'n' && gdzie == 'p5' )
        {
            cout << "To pole jest juz zapelnione ! " << endl;
        }
       
        if( p6 != 'n' && gdzie == 'p6' )
        {
            cout << "To pole jest juz zapelnione ! " << endl;
        }
       
        if( p7 != 'n' && gdzie == 'p7' )
        {
            cout << "To pole jest juz zapelnione ! " << endl;
        }
       
        if( p8 != 'n' && gdzie == 'p8' )
        {
            cout << "To pole jest juz zapelnione ! " << endl;
        }
       
        if( p9 != 'n' && gdzie == 'p9' )
        {
            cout << "To pole jest juz zapelnione ! " << endl;
        }
       
    }
    while( check != 'y' );
   
}
P-127358
Monika90
» 2015-02-25 17:14:57
tu jest błąd
C/C++
gdzie == 'p1'
zmienna gdzie nigdy nie będzie miała wartości 'p1', bo zmienna gdzie to pojedyńczy znak. Jeżeli chodziło Ci o porównanie wartości zmiennych gdzie i p1, to po prostu napisz gdzie == p1
P-127359
Gravity
Temat założony przez niniejszego użytkownika
» 2015-02-25 18:20:11
Nie chodzi mi tu o porównywanie zmiennych bo przecież nie będę porównywał zmiennej w której jest puste pole do zmiennej którą wpisał użytkownik , która ma właśnie wypełnić to puste pole . Poprostu mi się zapomniało , że char przechowuje tylko jedną literkę a char*  może cały napis.
P-127363
« 1 »
  Strona 1 z 1