如果功能和cin

时间:2017-02-19 20:13:57

标签: c++ if-statement boolean

我是c +的新手,试着写一个简单的游戏来学习一些基本的机制,我的代码有问题,

如何定义功能WantToPlay,以便当玩家进入"是"它回复得很棒,并且没有"没有"回复boooo?

我当前的代码给出的错误是WantToPlay必须是bool类型,但我不确定如何使用布尔函数来纠正它?

谢谢!

using std::cout;
using std::cin;
using std::endl;
using std::string;


string leader;
string WantToPlay;

int main()
 {
    std::cout << "Dungeon Master: Welcome to my dungeon, traveller! What is         your name?" << std::endl;
cin >> leader;
cout << "Dungeon Master: Well hello, " << leader << " I have a little quest for you if you're interested?" << endl;
cout << "(Please enter ""yes"" or ""no"")" << endl;


cin >> WantToPlay;

if (WantToPlay = "yes")
    cout << "Fantastic!" << endl;
else if (WantToPlay = "no")
    cout << "boooo" << endl;




return 0;


}

3 个答案:

答案 0 :(得分:2)

你需要使用o̶p̶e̶r̶a̶t̶o̶r̶c̶o̶m̶p̶a̶r̶a̶t̶o̶r̶平等算子。 “==” 你正在做的是分配,而不是比较。

答案 1 :(得分:0)

(WantToPlay =&#34;是&#34;)表示分配字符串值&#34;是&#34;到字符串变量WantToPlay

由于您要将变量的值与&#34;是&#34;进行比较,您应该使用&#34; ==&#34;,因为(WantToPlay ==&#34;是&#34;)表示字符串值&#34;是&#34;与字符串变量WantToPlay中的值相同

答案 2 :(得分:-1)

你知道“=”和“==”之间的区别吗?检查你的if语句,并更正它。 提示:如果条件允许,则不能使用赋值。