2017-07-11 7 views
-3

私はC言語で初心者です++およびコードチックにしよう - タック - 足... 私は数が1で置き換えると言うプレーヤー ヒットした場合の数値の形式でユーザからの入力をしたいですそれはXで動作していません!グローバルなchar変数値を配列に代入する方法は?

#include <iostream>  
using namespace std;  
char player = 'X';  
char matrix [3] [3] = { '1' , '2' , '3' , '4' , '5' , '6' , '7' , '8' ,'9'};  
void Draw(){  
for (int i=0 ; i<3 ; i++){        
for (int j=0 ; j<3 ; j++){  
     cout << matrix [i][j] << " ";  
    }   
     cout << endl ;   
}  
}  
void Input() {  
    char a;  
    cin >> a;  
    if (a == 1) {  
     matrix [0] [0] = player;  //player 1 turn print X from   
             // char player='X';  
     }  
    else if(a==2){ 
     matrix[0][1]=player; 
     } 
    else if(a==3){ 
     matrix[0][2]=player; 
     } 

    else if(a==4){ 
     matrix[1][0]=player; 
     } 
    else if(a==5){ 
     matrix[1][1]=player; 
     } 
    else if(a==6){ 
     matrix[1][2]=player; 
     } 
    else if(a==7){ 
     matrix[2][0]=player; 
     } 
    else if(a==8){ 
     matrix[2][1]=player; 
     } 
    else if(a==9){ 
     matrix[2][2]=player; 
     } 

出力が1でないX
uは私に答えを記入してくださいすることができます!
多くのありがとうございます。

+0

[最小、**完全**、および検証可能な例](http://stackoverflow.com/help/mcve)を作成してください。 –

+0

一貫性のあるインデントでコードをよりきれいに書式設定すると、ロジックに従うのが簡単になり、おそらく人々がエラーを発見するのに役立ちます。 – Galik

+0

なぜあなたはシンのスペースを持っていますか – VIPER

答えて

2

数字を文字と比較しないでください。 a == '1'である必要があります。 残りはあなたのロジックです。

+0

実際にyou-tubeチュートリアルに従っています...彼のコードは正常に動作しますが、私の作業はうまくいきません! –

+1

@AliNawaz - なぜ彼に*助けを求めないのですか? – StoryTeller

+1

数字を文字と比較すると完全に意味をなすことができます( 'char'は単なる数字です)。この特定のケースでは、OPが望んでいないものがあります。 – user463035818

関連する問題