我在尝试检查if语句中的多种可能性时遇到问题。

用户输入一个字符串,然后针对多种可能性检查该字符串。

if (theString == "Seven" || "seven" || "7")
 {
   theInt = 7;
   cout << "You chose: " << theInt << endl;
 }
else if (theString == "Six" || "six" || "6")
 {
   theInt = 6;
   cout << "You chose: " << theInt << endl;
 }

因此,这里有一个简短的示例说明了我要完成的工作。在我的程序中,这些if语句在函数中,并且我正在使用#include [string]。 (我什至不确定是否可以使用“6”或“7”,但是现在我什至无法测试我的代码:(
因此,现在在我的代码中,如果用户输入6,则我的程序将运行并将值7分配给TheInt。有任何想法吗?

谢谢。

最佳答案

您不能将变量与C++中的多个值进行比较。您应该这样做:

if (theString == "Seven" || theString == "seven" || theString ==  "7")
 {
   theInt = 7;
   cout << "You chose: " << theInt << endl;
 }
else if (theString == "Six" || theString == "six" || theString == "6")
 {
   theInt = 6;
   cout << "You chose: " << theInt << endl;
 }

09-26 16:42