これは私のゲームの関数で、「iAuswahl」への入力と cin を要求します! 次に、while ループは、それが 1 ~ 9 の値のいずれかであるかどうかをチェックします。そうでない場合はアクティブになり、新しい入力を要求することになっています。ウィッチはintに対して行います。しかし、r のような文字を入力すると、おかしくなり、cout を返し続けて cin をスキップします! 私の質問は、なぜそれを行うのか、どうすればそれを止めることができるのですか?
void zug(string sSpieler, int iDran){
int iAuswahl;
char cXO = 'O';
if (iDran == 1)
{
cXO = 'X';
}
cout << sSpieler << ", Sie sind am Zug. Bitte waehlen sie eins der Felder.\n" << endl;
grafik();
cout << "Sie sind >> " << cXO << " <<." << endl;
cin >> iAuswahl;
cout << endl;
while (
iAuswahl != 1
&& iAuswahl != 2
&& iAuswahl != 3
&& iAuswahl != 4
&& iAuswahl != 5
&& iAuswahl != 6
&& iAuswahl != 7
&& iAuswahl != 8
&& iAuswahl != 9
)
{
cout << "Kein gültiges Feld bitte wählen sie noch einmal!\n" << endl;
cin >> iAuswahl;
}
feldfuellen(iAuswahl, cXO);
}