C++ 如何在一个函数中包含所有选项?
所以我正在做一个文本冒险游戏,我希望能够有一个包含所有输入的函数。因此,我不必每次都做if语句来检查每个方向,我只需要把所有这些都放在一个函数中。我怎么做这个C++ 如何在一个函数中包含所有选项?,c++,C++,所以我正在做一个文本冒险游戏,我希望能够有一个包含所有输入的函数。因此,我不必每次都做if语句来检查每个方向,我只需要把所有这些都放在一个函数中。我怎么做这个 string input; while (input != "n", "s", "e", "w") { getline(cin, input); if (input == "n") { dTable(); }
string input;
while (input != "n", "s", "e", "w")
{
getline(cin, input);
if (input == "n")
{
dTable();
}
if (input == "e")
{
cout << "You sit on the sofa. Congratulations" << endl;
}
if (input == "w")
{
cout << "You just ran into a wall" << endl;
}
if (input == "s")
{
outsideHouse();
}
if (input == "stats")
{
stats();
}
if (input == "help")
{
help();
}
else
{
cout << "Sorry I am not Siri I don't understand" << endl;
getline(cin, input);
}
break;
}
return 0;
}
字符串输入;
while(输入!=“n”、“s”、“e”、“w”)
{
getline(cin,输入);
如果(输入=“n”)
{
dTable();
}
如果(输入=“e”)
{
你能在这里看到使用函数的不同方法吗,
这就是我解决这个问题的方法。
您可以专注于在main()部分添加新问题,而无需编写
所有的if请求都一遍又一遍
#包括
#包括
使用名称空间std;
无效帮助();
void stats();
字符串检查(字符串输入、字符串n、字符串s、字符串w、字符串e)
{
字符串结果;
如果(输入=“n”){
结果=n;}
否则如果(输入=“s”){
结果=s;}
否则如果(输入=“w”){
结果=w;}
否则如果(输入=“e”){
结果=e;}
else if(输入=“帮助”){
问题是什么?你想把这个循环改成函数还是什么?排序相关:我发现std::map
在这里很方便。如果你把字符串
映射到一个对该字符串执行正确行为的函数,你可以getline(cin,input);menumap[input]()强烈建议使用一些额外的包装来进行验证。while(输入!=“n”、“s”、“e”、“w”)
不会像您认为的那样。您应该改用while(getline(cin,input))
。