c++ - 只要用户输入,如何从用户那里获取整数?

标签 c++ loops while-loop integer cin

我和我的 friend 正在做一个学校项目,我们希望我们的程序从用户那里获取整数值并将其存储在一个 vector 中,只要用户输入一些值并在用户停止输入数字时退出输入循环。

这是我的第一个无限运行的示例代码:

while(cin>>x){
                v.push_back(x);
        }

有一个条件,数字必须大于 1,但输入的整数值大于 0,所以我的第二个代码是,但它不起作用,它也会无限地继续下去。

这是我的示例代码:

while(cin>>x){
            if(x<0){
                break;
            }
            else{
                v.push_back(x);
            }
        }

请提前向我建议一个解决方案:)

最佳答案

对你来说最重要的部分是清楚地描述你想要什么。程序必须有一些终止条件。

两个想法:

  1. 用户输入以空格分隔的整数值,然后按回车键

  2. 用户输入一个整数,按下回车键并继续。他按了两次 Enter,它就终止了。

怎么做:

  1. 简单地使用 cin 和一个字符串,用空格分隔,然后转换为整数。

  2. 将 cin 与字符串一起使用,否则就像您现在所做的那样,询问字符串是否为“”,如果不是则转换为整数。

关于c++ - 只要用户输入,如何从用户那里获取整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45391728/

相关文章:

c# - 循环遍历响应对象 Angular

Java渲染循环和逻辑循环

php - 检索数组的最后一个数字(不是索引)——PHP 和 MySQL

python :不明白 "while len(list1) and len(list2):"

jquery - 循环内的 WordPress 循环无法正常工作

c++ - 如何读取自定义 TIFF 标签(无 TIFFFieldInfo)

c++ - 注册管理技巧

c++ - 为什么建议包含googletest源文件

java - while(true) 中断后 while 循环打印错误语句

C++ - 如何将字符串转换为 wchar_t(西里尔字母)