gpt4 book ai didi

c++ - 用户输入字母时卡在循环中

转载 作者:行者123 更新时间:2023-11-30 02:51:54 26 4
gpt4 key购买 nike

我在仅对数字输入进行输入验证时遇到问题。下面是我的代码,每次我输入一个字母时它都会循环,但输入错误的数字不会。它循环“输入无效,请重试。”唯一的选择是关闭它。我该如何解决这个问题?

        while (!(cin >> userOption) || userOption < 1 || userOption > 12) {
cout << "Invalid Input, please try again." << endl;
cin >> userOption;
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
std::cin.clear();

最佳答案

您不希望在 while 条件和循环内都使用 cin >> userOption,因为这会使每个循环有两个输入。

while 条件中的一个就够了。

关于c++ - 用户输入字母时卡在循环中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19383487/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com