这是一个旧的学校IF声明给你,但有一个问题

Bar*_*der 14 qbasic

我在QBASIC中有一个IF声明......是的... QBASIC ......

我一直在教别人编程(我认为这很好,很容易看出语法是如何工作的).

......无论如何,我有这个代码:

CLS

start:
INPUT ">>", a$

PRINT a$
IF (INSTR(a$, "do you")) THEN
    IF (INSTR(a$, "like")) THEN
        IF (INSTR(a$, "cheese")) THEN PRINT "Yep, I like cheese":
        IF (INSTR(a$, "music")) THEN PRINT "Depends, which genre?": GOTO musicGenre
    ELSE IF (INSTR(a$, "hate")) THEN
            IF (INSTR(a$, "cheese")) THEN PRINT "No, I like cheese"
        END IF
    END IF
END IF


musicGenre:
INPUT ">>", m$
SELECT CASE (m$)
    CASE "pop"
        PRINT "..pop! lol, baa baa"
    CASE "rock"
        PRINT "Rock is ok"
END SELECT
GOTO start
Run Code Online (Sandbox Code Playgroud)

但是当我输入" do you like cheese?"时,它似乎Yep, I like cheese每隔一段时间才回复" "

谁能对此有所了解?

注意:
" do you like music?" 每次都有效......

注2:
输出截图:
替代文字

Ste*_*ven 4

您提供的代码看起来是正确的。

尝试以下方法之一:

  • 如果可能,请向我们发送更大的代码示例。我猜错误超出了您提供的代码范围。
  • a$在第一个之前输出输入 ( )IF以确认您的代码将使用预期的输入。
  • 在大多数语言中,FALSE为零, true 则为其他值。但是,您可能希望更明确地使用以下内容IF (INSTR(a$) > 0)

编辑:你应该goto start在任何奶酪结果上加上一个。否则,就会进入musicGenre代码。