在要求输入

时间:2016-03-27 04:15:32

标签: c++ validation

所以我正在设置一个程序,它要求用户输入一个数量(然后程序接受输入并对数字进行一些数学运算等),如果用户输入的内容不正确,则会显示错误一个数字。

这是我正在使用的代码:

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消息?

非常感谢任何帮助或建议。

0 个答案:

没有答案