我似乎无法让这个程序正常工作。我可以让它接受两个整数并将它们打印到屏幕上。但我无法让程序在'|'时终止用来。一旦它进入它无限循环。这是我到目前为止的代码:
#include "../../std_lib_facilities.h"
int main()
{
int num1 = 0;
int num2 = 0;
char counter = '\0';
cout << "Please enter two integers and press enter. \n";
bool test = true;
while (counter != '|')
{
cin >> num1 >> num2;
cout << "Your numbers are: " << num1 << " " << num2 << endl;
if (cin.fail())
{
cout << "Goodbye!\n";
test = false;
}
else (counter != '|');
cout << "Enter more numbers or press '|' to exit.\n";
}
system("pause");
}
答案 0 :(得分:0)
你在while循环中使用了错误的条件。你永远不会改变counter
所以循环永远不会结束。但是,如果输入失败,您会在while循环中将test
更改为false
。您可以更改while循环的条件以使用test
而不是
while(test)
{
//...
}
由于不再使用counter
,您可以完全摆脱它。
请注意,除非您更改为接受字符串并解析输入,否则任何会导致cin
失败的输入将导致循环不仅仅是|
。