这不接受任何答案:
cout << "Restart yes or no: ";
cin >> retry;
while (retry != "yes" or retry != "no"){
cout << "Restart yes or no: ";
cin >> retry;
system("cls");
}
如果有人可以提供替代/修复,我们将不胜感激。
答案 0 :(得分:6)
每个字符串都不同于class
或template<template<typename, typename> class>
。只要字符串与 "yes"
和"no"
不同,您就意味着循环 - 这意味着使用逻辑“和”运算符,而不是“或”运算符:< / p>
"yes"
答案 1 :(得分:4)
您的代码有retry != yes or retry != no
。这种情况是重言式,因此总是评估为真。
将您的代码编辑为:
cout << "Restart yes or no: ";
cin >> retry;
while (retry != "no"){
cout << "Restart yes or no: ";
cin >> retry;
system("cls");
}
如果您打算循环直到收到yes
或no
,那么while
循环应该运行,直到输入的字符串不等于任何一个。您打算使用逻辑AND代替OR。代码应为:
while (retry != "yes" && retry != "no"){