0

私は誰かが助けることができるかどうか疑問に思っていました.私は以下のコードを持っています.ユーザーが1未満または9を超える数字を入力できないことを確認するために検証を追加したいと思います.助けてくれてありがとう。

入れてみました

if(x >=1 && x <= 9) 

以下のコードの内容の周りのステートメントですが、それは機能しません。

for(int x = 0;x < 9; x++) 

私が持っているコード:

void interactiveSudokuFill(int grid1[9][9]){

for(int y=0;y<9;y++){
 for(int x=0;x<9;x++){
    string theString;
    cout<<"Write the value to place in Sudoku["<<y<<"]["<<x<<"] :"<<endl;
    std::getline(cin,theString);
    int nr=atoi(theString.c_str());
    grid1[y][x]=nr;
    system("cls");

}

}
}
4

2 に答える 2

1

まあx、ユーザーが入力している値ではありません。チェックする必要がありますnr

if(nr >= 1 && nr <= 9) {
  grid1[y][x] = nr;
}

通常、intfromの抽出は次のstd::cinように行われます。

int nr;
std::cin >> nr;

ユーザーが整数と正しい整数の両方である値を入力するまで、ユーザーに新しい値を求め続ける場合は、次のようにします。

int nr = 0;
do {
  std::cin >> nr;
  std::cin.clear();
} while(nr < 1 || nr > 9);
grid[y][x] = nr;
于 2013-04-08T09:52:31.567 に答える