我的程序确定用户输入了一个字母而不是一个数字,但在此之后它并没有要求用户输入。我需要能够提示用户输入另一个数字值并创建一个循环或每次都要检查值的东西,以确保它不是一个字母/秒。
这是我的代码中检查无效字符的部分:
while (!cin.good())
{
cout << "Error! I only accept numbers! Enter in a number." << endl;
cin.clear();
cin.ignore(numeric_limits<streamsize>::max());
}
答案 0 :(得分:0)
这很简单......这回答了我的问题:http://www.dreamincode.net/forums/topic/186890-c-excluding-letters-on-user-input/
答案 1 :(得分:-1)
不要这样做:
int j;
cin >> j;
因为什么只读取数字而你需要读取数字以外的东西,这样你就可以在输入时报告错误。