井字游戏规则: 只要双方中的一方3个子连在一条线上面就算赢.

1.井字游戏的9个格子分别用字符 '1' - '9'来表示,所以下子时就限定了只能输入1-9这几个数字,且有棋子的地方不能再下棋子,要求其他输入要抛出错误.

2.错误的输入,如: 0, 12,m,aaa。这些都是错误的输入,要求程序能识别判断,抛出错误.

3.字符型转化为整形的方法:字符'0'的ascii码是48,所以字符'1'的ascii码就是49,所以 int = char - 48;

4.字符串string:

                   如:string b;

                   其中b可以输入一个字符串,输入时按回车,会结束输入,并且的字符串末尾自动添加 '\0'。

                   所以,根据这个剧可以判断输入时候出现的 '12','aaa' 也就是一次输入多个的错误形式.

                 字符串第一位:b[0],第二位:b[1],我们这里就判断b[1],是不是 '\0' 就可以了。

1 //井字游戏输入判断.cpp
 2 
 3 #include <iostream>
 4 #include <string>
 5 using namespace std;
 6 
 7 int main()
 8 {
 9     int i;
10     char a[10];
11     string b;
12 
13     //井字游戏的9个格子分别用字符 '1' - '9'来表示.
14     a[1]='1'; a[2]='2'; a[3]='3';
15     a[4]='4'; a[5]='5'; a[6]='6';
16     a[7]='7'; a[8]='8'; a[9]='9';
17 
18     cout<<"您要走哪一步?请输入数字(1~9):";
19     cin>>b;
20 
21     i = b[0] - 48;  //字符'0'的ascii码是48
22 
23     while ((i<1) || (i>9) || (i!=a[i]-48) || ('\0' != b[1]))//判断人输入的数字是否正确
24     {
25         cout<<"对不起,您输入的数字不对,请重新输入(1~9):";
26         cin>>b;
27         i = b[0] - 48;
28     }
29 
30     cout<<"输入正确!结束..."<<endl;
31     
32     return 0;
33 }

这里是我从编写的游戏中抽出来的一段输入判断代码.