以下は私のコードです:
char name;
bool isValid = true;
int mode;
cout << "Enter name:" << endl;
cin >> name;
do
{
cout << "Choose a mode" << endl;
cin >> mode;
switch (mode)
{
case 1:
iniCharacter (name, 110, 100, 100);
break;
case 2:
iniCharacter (name, 100, 110, 100);
break;
case 3:
iniCharacter (name, 100, 100, 110);
break;
default:
isValid = false;
cout << "Invalid mode, ";
break;
}
}while (!isValid);
しかし、上記のコードを実行すると、次のような出力が得られました。
[output]Please enter name:
[input] test
[output] Invalid mode
[output] Invalid mode
[output] Invalid mode
[output] Invalid mode
[output] Invalid mode
...
モードへの値の入力を開始していないのに、コードがループするのはなぜですか?
プログラムはユーザーが「モード」を入力するのを待つべきではありませんか?