2014-09-06 64 views
-1

所以,即时尝试编写一个文本冒险的事情,每当我尝试比较一个字符串与消息,我总是会得到相同的输出,无论我写什么.. 。我已经搜索和搜索,并且找不到答案...我有使用Java,LUA和一些HTML编程的经验......也许我尝试做的事与Java的方式太类似了?那么,这里有一些可能最终有助于帮助的代码。C++ if语句字符串只给出一个答案

string sex; 

cout << "Would you like to be a boy or a girl?" << endl; 
cin >> sex; 
cout << sex; 
//statement to declare what you are... 
if (sex == "boy" || "Boy"){ 
    cout << "You have chosen to be a boy!" << endl; 
} 
else if (sex == "girl" || "Girl"){ 
    cout << "You have chosen to be a girl!" << endl; 
} 
else{ 
    create(); 
} 

任何形式的帮助将不胜感激。谢谢。

+0

c中的字符串是不同的。尝试使用['strcasecmp'](http://linux.die.net/man/3/strcasecmp) – DOOM 2014-09-06 03:24:17

回答

1

变化

if (sex == "boy" || sex == "Boy"){ 
    cout << "You have chosen to be a boy!" << endl; 
} 
else if (sex == "girl" || sex == "Girl"){ 
    cout << "You have chosen to be a girl!" << endl; 
} 

if (sex == "boy" || sex == "Boy"){ 
    cout << "You have chosen to be a boy!" << endl; 
} 
else if (sex == "girl" || sex =="Girl"){ 
    cout << "You have chosen to be a girl!" << endl; 
} 

原因是if (sex == "boy" || "Boy")声明,第二部分将始终评估为真。