2017-10-09 171 views
1

我创建了一个函数(displayChoice)来生成一个随机数,然后创建另一个函数(getComputerChoice)来获取该数字并将该随机整数赋值给一个字符串。当我打印该字符串时,什么都不显示。我失去了为什么会发生这种情况。为什么我的函数不返回一个字符串?

#include <iostream> 
#include <limits> 
#include <ctime> 
#include <cstdlib> 
int getComputerChoice(); 
std::string displayChoice(int dChoice); 


int main() 
{ 

std::string comp = displayChoice(getComputerChoice()); 
std::cout << comp; 
} 
int getComputerChoice() 
{ 
    srand(time(NULL)); 
    int ranCompChoice = (rand() % 6) + 1; 
    return ranCompChoice; 
} 


std::string displayChoice(int dChoice) 
{ 
std::string ChoiceString; 
if (dChoice == 1) 
{ 
    ChoiceString == "rock"; 

} 
else if (dChoice == 2) 
{ 
    ChoiceString == "paper"; 
} 
else if (dChoice == 3) 
{ 
    ChoiceString == "scissors"; 
} 
else if (dChoice == 4) 
{ 
    ChoiceString == "lizard"; 
} 
else 
{ 
    ChoiceString == "Spock"; 
} 
    return ChoiceString; 
} 
+0

请正确缩进您的代码。另外,您可能希望将'<< std :: endl'添加到打印输出的末尾。 –

+0

C++再次成为C++并让你做不好。 –

回答

4

您必须使用赋值运算符。

例如 ChoiceString = "Spock";

+0

谢谢,我觉得自己像个白痴现在大声笑。 – Seven

相关问题