【发布时间】:2017-07-25 21:08:39
【问题描述】:
我正在尝试在 C++ 中创建一个复杂的 if 语句,这将使我免于编写一大堆 if 语句,我想知道下面的代码是否真的有意义,或者我忽略了一个错误。
if(input==choice) {
cout << "Tie!" << endl;
}else if(input=="rock" && choice=="scissors"
|| input=="scissors" && choice=="paper"
|| input="paper" && choice=="rock") {
cout << input " beats " << choice << ", you win!" << endl;
}else if(input=="rock" && choice=="paper"
|| input=="scissors" && choice=="rock"
|| input=="paper" && choice=="scissors"){
cout << choice << " beats " << input << ", you lose!" << endl;
}
我想要实现的是:
"if input is x AND choice is y, OR if...."
基本上,我正在测试多个“if-and”条件,以便在满足任何 if-and 条件时执行单行代码。输出抛出“'operator||' 不匹配”错误。
【问题讨论】:
-
如果性能很重要,我会尽量避免进行如此多的字符串比较。
-
@Bungles 我只是想创建一个简单的与计算机对抗的石头剪刀布游戏。我正在努力编写高效流畅的代码,所以我正在尝试一些新的东西。
-
input="paper"->input=="paper",投票以错字结束。 -
输入和选择有什么区别?你可能想想出更好的名字。
-
只需编写一个接受
input和choice的函数,进行测试,并返回一个指示结果的代码。当你转向 Rock、Paper、Scissors、Lizard、Spock 时,你会发现它的扩展性要好得多。
标签: c++ if-statement