0

不知道为什么,但我的程序不断终止。我删除了所有停止功能。这是代码:

    :Lbl A
    :ClrHome
    :Prompt A
    :ClrHome
    :Prompt B
    :ClrHome
    :Prompt C
    :Disp "B^2-4AC=" (Program stops here for some reason)
    :If D<0
    :Then
    :ClrHome
    :Disp "Nonreal answer"
    :"..."
    :Pause
    :ClrHome
    :Menu("Menu", "Restart", D"
    :Lbl prgmQUADSTE3
    :Lbl A
    :...
4

1 回答 1

1

我怀疑您的程序正在退出,因为您从不使用“结束”来结束您的 if 语句。除非 var D 小于零,否则程序将在该 If 语句上退出,因为此后的每一行都被视为 If 语句的一部分,因此被忽略。使用“End”标记来指定哪些行是 If 语句的一部分,哪些行不是。我怀疑你想要:

:If D<0
:Then
:ClrHome
:Disp "Nonreal answer"
:"..."
:Pause
:ClrHome
:Menu("Menu", "Restart", D"
:End
:...

或者类似的东西。我 99% 确定这是您的问题。

需要注意的另一件事是您两次声明 Lbl A。在 TI-BASIC 中,当您使用 Goto A 时,计算器从程序的开头开始并查找第一个“Lbl A”,在本例中为第一行。其次,在您的菜单中,通过将该参数“D”放在您唯一的选项之后,一旦用户单击它,您将标记 D,它不存在,因此,程序将退出并出现错误 Lbl .

此行:Lbl prgmQUADSTE3

不是有效行。我假设您希望程序调用自身或调用单独的程序。如果程序正在调用自己,我建议您改用 Goto 语句,因为您的方法会导致类似于堆栈溢出/内存泄漏的情况。

于 2013-06-18T18:16:49.003 回答