2015-12-14 2 views
-7

Я пытаюсь сделать небольшую игру, и я новичок.C++ if/else uneclared identifier, пытающийся использовать слова

Проблема заключается в деталях с ifs и else, где говорится «Lady» и «Sir».

#include <iostream> 
#include <string> 


using namespace std; 

int main() 
{ 
    string playerName; 
    int age; 
    int playerGender; 

    cout << "Are you a Lady or a Sir?" << endl; 
    cin >> playerGender; 

    if (playerGender = Lady) 
    { 
    cout << "So you're a girl. " << endl; 
    } 
    else if (playerGender = Sir) 
    { 
    cout << "So you're a boy." << endl; 
    } 
    cout << "What is your name " << playerGender << "?" << endl; 
    cin >> playerName; 

    cout << "What is your age?" << playerName << endl; 
    cin >> age; 

    if (age <= 10) 
    { 
    cout << "You're too young " << playerName << "! " << endl; 
    } 
    else if (age >= 11) 
    { 
    cout << "You are old enough to play" << playerName << ". " << endl; 

Это то, что у меня есть, я не знаю, что случилось. Помоги пожалуйста!

+1

'playerGender = Lady' - это присвоение, а не проверка равенства. Кроме того, что/где определяется «Леди» (или они строятся для проверки, но вы забыли кавычки), но playerGender является «int», а не строкой ...?) – John3136

+0

Что означает @ john3136, это означает, что, Леди "является фактической определенной вещью, вы хотели бы, чтобы это было' if (playerGender == Lady) ... ' –

+1

Что на самом деле происходит, когда вы пытаетесь скомпилировать? Какие ошибки или предупреждения вы видите? – owacoder

ответ

1

При выполнении следующих действий:

std::cin >> playerGender; 

Вы извлекаете номер от пользователя. Затем Вы назначая, что номер вашего playerGender следующим:

if (playerGender = Lady) 

Вы используете только один =, который присваивает значение, которая находится в Lady к playerGender. Вероятно, вы хотите написать ==, который будет сравнить значение playerGender и Lady.

Я не могу сказать, что Lady и Sir есть, но для ваших целей вы должны убедиться, что они являются int:

const int Lady = 0, Sir = 1; 

Илиenum:

enum genders { Lady = 0, Sir = 1 }; 

сейчас вы можете сделать следующее: сравнение:

if (playerGender == Lady) 
{ 
} 
else if (playerGender == Sir) 
{ 
} 
Смежные вопросы