私は C++ を学んでおり、このコードの塊は単純な採点プログラムからのものです。しかし、ユーザー入力を取得しようとすると、問題が発生します。数値を入力すると、それが 0 未満か 100 を超えているか、またはその中間であるかに関係なく、私のループは正常に動作します。しかし、任意の文字または英数字以外の文字 (例: +、(、% など) を入力すると、「0 から 100 までの成績値を入力してください」という無限ループが表示され、永遠に出力されます。違う?
ありがとう。
int _tmain(int argc, _TCHAR* argv[])
{
using namespace std;
int grade = -1; // grade will hold grade value; initialized to -1
do {
cout << "Please enter a grade value between 0 and 100." << "\n";
cin >> grade;
} while (grade < 0 || grade > 100);
cout << grade << "\n";
printGrade(grade);
return 0;
}