【发布时间】:2017-07-29 16:47:20
【问题描述】:
我正在和我的朋友一起做一个学校项目,我们希望我们的程序从用户那里获取整数值并将其存储在一个向量中,只要用户输入一些值并在用户停止输入数字时退出输入循环。
这是我第一个无限运行的示例代码:
while(cin>>x){
v.push_back(x);
}
有一个条件是数字必须大于一,但输入的整数值大于0,所以我的第二个代码是,但它不起作用,它也无限继续。
这是我的示例代码:
while(cin>>x){
if(x<0){
break;
}
else{
v.push_back(x);
}
}
请提前给我建议一个解决方案谢谢:)
【问题讨论】:
-
用户输入的结尾是什么?
-
当用户停止输入数字并按回车时。
-
那你怎么猜到uses按回车后就不会再输入任何物品了?
-
我想接受用户输入的所有数字。
-
"...数字必须大于 1 但输入大于 0..." - 解读它听起来像你'说只要输入的值大于零就接受输入。如果是这种情况,那么
if(x<0)是错误,因为它只测试小于 的值小于零。当if (x <= 0) break;为真时,严格大于零的整数会中断。事实上,作为 while 条件的一部分来测试相反的阳性:while (std::cin >> x && x > 0) v.push_back(x);
标签: c++ loops while-loop integer cin