所以我正在设置一个程序,它要求用户输入一个数量(然后程序接受输入并对数字进行一些数学运算等),如果用户输入的内容不正确,则会显示错误一个数字。
这是我正在使用的代码:
int number;
while (std::cout << "Enter a number " && !(std::cin >> number))
{
std::cin.clear();
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
std::cout << "Invalid input; please re-enter.\n";
}
这样可行,直到用户输入“-200”,“+ 50”之类的内容或以“ - ”或“+”开头的数字,因为程序会将这些内容视为有效。
这对我来说是一个巨大的问题,因为如果将“-100”作为输入,我无法正确计算数学。那么,如果用户输入负数等,如何让程序显示ERROR消息?
非常感谢任何帮助或建议。