【发布时间】:2014-12-08 20:17:44
【问题描述】:
这是我想运行的一个非常基本的程序。要求用户在三个变体程序中进行选择,这些变体程序稍后会单独出现在代码中。
我只想接受整数输入,例如值 1、2、3、4 和 5。由于某种原因,当前程序只接受 1 输入,而对于非整数输入,while 循环会无限重复。
谁能发现这两个问题,并为我提出一些修复建议?提前致谢。
代码:
#include <iostream>
using namespace std;
int main() {
int programversion;
cout << "Which program version would you like to run? Basic [1], advanced [2], or advanced-variant [3]?\n";
cin >> programversion;
while (programversion != (1||2||3))
{
cout << "That is not a correct input integer - please choose [1], [2] or [3]\n";
cin >> programversion;
}
if (programversion == 1)
{
cout << "You chose option 1.\n";
}
if (programversion == 2)
{
cout << "You chose option 2.\n";
}
if (programversion == 3)
{
cout << "You chose option 3.\n";
}
return 0;
}
【问题讨论】:
-
您的
(programversion != (1||2||3))条件错误,但您应该通过调试代码发现。
标签: c++ loops while-loop cin indefinite