Поэтому я пытаюсь создать простую текстовую RPG. Но эта одна проблема сдерживает меня.
#include <iostream>
using namespace std;
int main()
{
int input;
long Sven;
long Macy;
cout<<"Choose your Character- 1.Sven or 2.Macy: ";
cin>>input;
cin.ignore();
if ( input == Sven ){
cout<<"Welcome to CRPG, my good Sir!";
}
if ( input == Macy ){
cout<<"Girls cant fight, go back: ";
}
}
Вот этот код и есть у меня на данный момент. Когда я запускаю программу, она позволяет мне ввести имя персонажа, которого я хочу выбрать. Но вывод всегда является пустой областью текста. Я более или менее новичок в C++, но у меня есть хорошие предварительные знания. Любая помощь велика.
Что меня отбросило, когда вы сказали, что это позволяет мне набирать имя персонажа, которого я хочу выбрать
В этом случае продолжите сравнение строк:
EDIT: Как предложил Мохаммед, сравнение строк можно сделать напрямую:
string input;
cout<<"Choose your Character- 1.Sven or 2.Macy: ";
cin>>input;
cin.ignore();
if ( input == "Sven" ){
cout<<"Welcome to CRPG, my good Sir!";
}
else if ( input == "Macy"){
cout<<"Girls cant fight, go back: ";
}
strcmp
когда вы используете std::string
?
Sven
иMacy
не были присвоены значения. Они могут содержать что угодно. Назначьте им такие значения, какlong Sven = 1;
иlong Macy = 2;
когда вы объявляете ихif ( input == 1 )
сlong Sven = 1;
, Все еще пусто.