如果用户输入字母c ++

时间:2019-05-02 13:52:41

标签: c++ validation input

我要对用户提交的输入内容进行验证检查。

我的程序是一个基本的订购系统,要求用户输入他们想要订购的商品数量。如果用户输入整数,程序将按预期运行。但是,如果用户输入的不是整数,例如“ a”,我的程序将进入无限循环。

我尝试添加else语句,希望它可以捕获任何无效的输入并循环返回以要求用户重新输入他们的选择,但是,如果用户输入字母,则程序将进入无穷循环

我确实设法使其部分工作,因为如果输入了错误的数据,程序将再次要求用户输入他们的选择,但是当按下任何键时,程序将立即退出。

void orderQuantity()
{
    cout << "Please enter the quantity you would like to order. Please enter a quantity between 1 and 6\n";

    cin >> pizzaQuantity;

    if (pizzaQuantity >= 1 && pizzaQuantity <= 6)
    {
        cout << "Input accepted";
        Size();


    }
    else if  (cin.fail())
    {
        cout << "\nPlease enter  a number between 1 and 6\n";
        orderQuantity;

    }
}

int main()
{
    orderQuantity();
    _getch();
}

我期望输出允许我重新输入数据。但是,通过这种方式,程序再次要求输入,但立即关闭。我的另一种说法是,如果用户输入了除int以外的任何内容,程序将进入无限循环。

非常感谢您的帮助

谢谢

0 个答案:

没有答案