我的 CIN 命令完全跳过输入?我什么都试过了
My CIN command skips input entirely? I've tried everything
#include <iostream>
#include <ctime>
#include <limits>
#include <cstdlib>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int main()
{
int a, b;
int I, P;
unsigned int x;
unsigned int y;
int n, m;
unsigned int X, O;
int tictac[3][3] = {
{1, 1, 1},
{1, 1, 1} ,
{1, 1, 1} };
cout << "Player 1, enter X or O:" << endl;
cin >> a;
while (a == X);
{
cout << "Now, fill in the desired coordinated in a 3x3 square, a[x][y]" << endl;
cout << "Enter 'x' in [x]" << endl;
cin.ignore (std::numeric_limits<std::streamsize>::max(), '\n');
cin >> x;
cout << "Enter 'y' in [y]" << endl;
cin.ignore (std::numeric_limits<std::streamsize>::max(), '\n');
cin >> y;
tictac[x][y] == X;
}
}
我正在编写一个程序,让 2 名玩家在 3x3 网格上玩井字游戏,其余 "CIN" 命令拒绝接受输入。
我尝试将 "CIN" 命令更改为:
getline (cin, x)
getline (cin, y)
尝试将变量从 (Unsigned int) 更改为 (Signed int),并使用 cin.ignore() 命令,但问题仍然存在。
unsigned int X, O;
int tictac[3][3] = {
{1, 1, 1},
{1, 1, 1} ,
{1, 1, 1} };
cout << "Player 1, enter X or O:" << endl;
cin >> a;
while (a == X);
在最后一行中,X
尚未初始化,因此您将 a
的值与没有特别的值进行比较。此外,末尾的分号使循环重复一个空语句。
tictac[x][y] == X;
这是一个你丢弃其结果的比较。使用 =
进行赋值。
#include <iostream>
#include <ctime>
#include <limits>
#include <cstdlib>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int main()
{
int a, b;
int I, P;
unsigned int x;
unsigned int y;
int n, m;
unsigned int X, O;
int tictac[3][3] = {
{1, 1, 1},
{1, 1, 1} ,
{1, 1, 1} };
cout << "Player 1, enter X or O:" << endl;
cin >> a;
while (a == X);
{
cout << "Now, fill in the desired coordinated in a 3x3 square, a[x][y]" << endl;
cout << "Enter 'x' in [x]" << endl;
cin.ignore (std::numeric_limits<std::streamsize>::max(), '\n');
cin >> x;
cout << "Enter 'y' in [y]" << endl;
cin.ignore (std::numeric_limits<std::streamsize>::max(), '\n');
cin >> y;
tictac[x][y] == X;
}
}
我正在编写一个程序,让 2 名玩家在 3x3 网格上玩井字游戏,其余 "CIN" 命令拒绝接受输入。
我尝试将 "CIN" 命令更改为:
getline (cin, x)
getline (cin, y)
尝试将变量从 (Unsigned int) 更改为 (Signed int),并使用 cin.ignore() 命令,但问题仍然存在。
unsigned int X, O;
int tictac[3][3] = {
{1, 1, 1},
{1, 1, 1} ,
{1, 1, 1} };
cout << "Player 1, enter X or O:" << endl;
cin >> a;
while (a == X);
在最后一行中,X
尚未初始化,因此您将 a
的值与没有特别的值进行比较。此外,末尾的分号使循环重复一个空语句。
tictac[x][y] == X;
这是一个你丢弃其结果的比较。使用 =
进行赋值。