如果输入不是整数,则连续提示用户输入

时间:2013-12-05 00:05:13

标签: c++

没有C ++ 11的最简单的方法是什么,它会提示用户输入一个整数,如果它们没有输入整数,会给它们一个错误信息并重新提示它们?

这是我尝试过的:

int number;
cin >> number;

while(!cin){
   cin.clear();
   cin >> number;
}

1 个答案:

答案 0 :(得分:1)

这是一种方法,我从底部的链接复制。有多种方法可以做到这一点,包括如果你愿意的话,以字符形式读取数字。但是这个应该解决你的困境。

#include <iostream>
#include <cmath>

int main()
{
    double teger;
    int teger2;
    do
    {
        std::cout << "enter an int" << std::endl;
        std::cin >> teger;
        std::cin.ignore();
        std::cin.clear();
        std::cout << "you entered: " << teger << std::endl;
        teger2 = teger;
        std::cout << "the int of that is: " << teger2 << std::endl;
        std::cout << std::endl;
        if (teger != teger2) std::cout << "Sorry, that isn't an int, try again." << std::endl;
        std::cout << std::endl;
    } while (teger != teger2);
std::cout << "congrats, you passed the int test" << std::endl;
return 0;

}

您可以阅读以下讨论以获取更多示例:

http://www.cplusplus.com/forum/beginner/76374/