0

我试图根据给出的用户输入使 if 语句为真或假,但是当我将条件放入其中时,它将无效操作数表示为二进制表达式('string'(又名'basic_string')和'int')

这是我的代码

#include <iostream>
#include <string>


using namespace std;

 int main()
 {
 cout << "   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" << endl;
 cout << "   X                                             X" << endl;
 cout << "   X                    MENU                     X" << endl;
 cout << "   X                                             X" << endl;
 cout << "   X       Press 1 to Play The Word Game.        X" << endl;
 cout << "   X                                             X" << endl;
 cout << "   X       Press 2 Too See a calculator.         X" << endl;
 cout << "   X                                             X" << endl;
 cout << "   X                                             X" << endl;
 cout << "   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" << endl
 << endl;

string userinput;
cin >> userinput;
if (userinput == 1);{

    while (1<2)
    {
        cout << "Enter the Word." << endl;

        string UserInput;
        cin >> UserInput;

        cout << endl << UserInput << " is is not the right word but keep on trying" << endl << endl;

        cout << "Press Enter to Continue.";

        cin.clear();
        cin.ignore(255, '\n');
        cin.get();

        return 0;
    }
}
  if (userinput == 2);
  {   int z;
    int x;
    int sum;
    cout << " welcome to the calculator" << endl << endl;
    cin.clear();
    cin.ignore(255, '\n');
    cin.get();

    cout << "enter your first number";
    cin >> z; cout << endl << endl;
    cout << "enter your second number" << endl;
    cin >> x; cout << endl << endl;
    sum = z + x;
    cout << sum;
 }

cin.clear();
cin.ignore(255, '\n');
cin.get();

return 0;
}
4

2 回答 2

2
  if (userinput == 2);
                    ^^^

同样,你后面到处都有分号if,我认为这不是你想要的。

于 2012-09-15T16:18:04.153 回答
2

去掉这里的分号:

if (userinput == 1);{

if (userinput == 2);

而且您无法将字符串与 int 进行比较。

string userinput;
cin >> userinput;
if (userinput == 1);{

所以试试

int userInput ;

如果您坚持使用字符串,请查看: http ://www.cplusplus.com/reference/clibrary/cstdlib/atoi/

于 2012-09-15T16:18:21.707 回答