代码之家  ›  专栏  ›  技术社区  ›  Barrie Reader

这里有一个老式的IF语句,但是有一个问题

  •  14
  • Barrie Reader  · 技术社区  · 14 年前

    我一直在教别人编程(我决定这将是很好的,很容易看到)

    …不管怎样,我有个密码:

    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
    

    但当我打字时” do you like cheese? Yep, I like cheese “每隔一次。。。

    注:
    " do you like music? “工作 每一个 时间。。。

    注2:
    输出屏幕截图:
    alt text

    3 回复  |  直到 14 年前
        1
  •  4
  •   Steven    14 年前

    您提供的代码似乎正确。

    • 如果可能的话,给我们一个更大的代码样本。我猜错误在你提供的代码之外。
    • a$ )在第一个之前 IF 以确认您的代码将与预期的输入一起工作。
    • 在大多数语言中, FALSE 是零,其他都是真。但是,您可能需要更明确地使用以下内容 IF (INSTR(a$) > 0)

    编辑: 你应该放一个 goto start 任何奶酪的结果。不然的话,它就要变成 musicGenre 代码。

        2
  •  1
  •   Wookie88    11 年前
    CLS
    
    start:
        INPUT ">>", a$
    
        IF (INSTR(1, a$, "do you")) THEN
            IF (INSTR(1, a$, "like")) THEN
                IF (INSTR(1, a$, "cheese")) THEN PRINT "Yep, I like cheese"
                IF (INSTR(1, a$, "music")) THEN PRINT "Depends, which genre?": GOSUB musicGenre
            END IF
        IF (INSTR(1, a$, "hate")) THEN
            IF (INSTR(1, a$, "cheese")) THEN PRINT "No, I like cheese"
        END IF
    END IF
    
    GOTO start
    musicGenre:
        INPUT ">>", m$
        SELECT CASE (m$)
            CASE "pop"
                PRINT "..pop! lol, baa baa"
            CASE "rock"
                PRINT "Rock is ok"
        END SELECT
    RETURN
    
        3
  •  0
  •   eoredson    8 年前

    REM Cheese progran source:
    CLS
    DO
        INPUT ">>", a$
        a$ = LCASE$(a$)
        PRINT a$
        IF INSTR(a$, "do you") THEN
            IF INSTR(a$, "like") THEN
                IF INSTR(a$, "cheese") THEN
                    PRINT "Yep, I like cheese":
                END IF
                IF INSTR(a$, "music") THEN
                    PRINT "Depends, which genre?"
                    GOSUB MusicGenre
                END IF
            ELSE
                IF INSTR(a$, "hate") THEN
                    IF INSTR(a$, "cheese") THEN
                        PRINT "No, I like cheese"
                    END IF
                END IF
            END IF
        END IF
    LOOP
    END
    MusicGenre:
    INPUT ">>>", m$
    a$ = LCASE$(a$)
    SELECT CASE (m$)
        CASE "pop"
            PRINT "..pop! lol, baa baa"
        CASE "rock"
            PRINT "Rock is ok"
    END SELECT
    RETURN