修正了If - Else语句

Bug in a fixed If - Else statement

本文关键字:Else 语句 If      更新时间:2023-10-16

这是我在这个网站上的第一篇文章。

正如标题所说,我在If - else If - else代码块中遇到了一个bug。问题是,我很有信心我已经涵盖了所有9种可能的结果。

这很难解释,所以如果你们能看看我的。cpp文件并运行它(希望它能运行,因为我在mac上使用了c++),你可能会更容易理解我的问题。

源代码CPP文件

如果您浏览我的action();,在else语句中,我故意显示您遇到了一个错误,以便万一有错误,我将被告知。

我想做的是:

userinput | randomAImove | outcome
A             1           statement
A             2           statement
A             3           statement
D             1           statement
D             2           statement
D             3           statement
W             1           statement
W             2           statement
W             3           statement
else        1||2||3       statement

满足的每个条件都有相应的语句。'A', 'W', 'D'是用户输入。我使用了一个toupper命令来强制编译器只检查' a ' 'W' 'D'。然而,我发现的主要问题是,即使toupper工作(我确认),程序经常显示正确的语句,但即使用户(我尝试过)从A, W, D(不区分大小写,因为toupper)输入,仍然不知何故设法出错。

请尝试一下,尝试几次后你可能也会遇到它。如果你遇到了一个bug,我就写"你遇到了一个bug"

请帮助我,因为我真的不知道还有什么其他方法可以找到错误。也许它就在我眼前,但我似乎看不出是哪一个。

谢谢!

AImove函数更改为

void AImove()
{
    turn = rand () % 3 + 1;
}

(添加+ 1),否则可能会在turn中得到0,从而导致您"遇到bug"