2017-10-18 54 views
-3

我正在建立一个简单的菜单,用户可以从中选择。出于某种原因,||不工作如果其他C++

else if (letterSelect == "C" || letterSelect = "c") 

的||正在出现一个错误。另一个||工作正常。错误是:没有运算符“||”匹配这些操作数。操作数类型是; bool ||的std :: string

#include <iostream> 
#include <cmath> 
#include <string> 
using namespace std; 

int main() 
{ 


cout << "********* General Purpose Calculator Program ***************\n" 
    << "Please Select an Option by inputting its associated letter\n" 
    << "A) Determine Highest of Three Numbers\n" 
    << "B) Reverse a Number\n" 
    << "C)Calculate Parking Garage Charges\n" 
    << "D) Exit\n"; 

string letterSelect = " "; 


cin >> letterSelect; 

if (letterSelect == "A" || letterSelect == "a") 

{ 

    //call program listed for A; 

} 

else if (letterSelect == "B" || letterSelect == "b") 

{ 

    //call program listed for B; 

} 

else if (letterSelect == "C" || letterSelect = "c") 

{ 

    //call program listed for C; 

} 

else (letterSelect == "D" || letterSelect == "d"); 


    cout << "Exiting..."; 


} 
+0

letterSelect =“c”应该是letterSelect ==“c” –

回答

1

这里:

else if (letterSelect == "C" || letterSelect = "c") 

您在条件第二部分失踪=。 它应该是letterSelect == "c"

1

只是一个错字。 '||'的右侧,在你的代码中是一个赋值(=),而不是一个相等性检查(==)。

1

的代码

letterSelect = "c" 

线路的分配操作,不用比较。更改为

letterSelect == "c" 

它应该工作。

快乐编码。