我正在为一个期末项目进行文字冒险,我有很多 If 语句来检查你是否输入了类似“look lantern” 的内容,然后它会显示相关信息等
我想做到这一点,如果您输入类似“srjfdrszdgrf” 的内容,它只会告诉您“您不能那样做”。在底部有一个 else
语句,但它似乎不能正常工作,而是在每个 if
之后重复 else
语句。
我做错了什么吗?
if (command == "look_lantern")
{
cout << "It's an ordinary lantern.\n";
}
if (command == "look_door")
{
cout << "It's a large wooden door.\n";
}
else
{
cout << "You can't do that.\n";
}
所以当你输入“look lantern”时,它会说:
It's an ordinary lantern.
You can't do that.
我在这里使用的 else
语句不正确吗?
最佳答案
是的,你有两个 block ,第一个:
if (command == "look_lantern")
{
cout << "It's an ordinary lantern.\n";
}
第二个:
if (command == "look_door")
{
cout << "It's a large wooden door.\n";
}
else
{
cout << "You can't do that.\n";
}
如果您只想执行一个 block ,则需要让第二个 block 仅在第一个 block 失败时执行:
if (command == "look_lantern")
{
cout << "It's an ordinary lantern.\n";
} else if (command == "look_door")
{
cout << "It's a large wooden door.\n";
}
else
{
cout << "You can't do that.\n";
}
这两个都被执行了,因为在第一个之后没有什么可以停止执行。
关于c++ - Else 语句重复自身?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10477649/