Я подозреваю, что ваша программа закрывается, потому что вы никогда не используете «Конец» для завершения оператора if. Если переменная D меньше нуля, программа БУДЕТ ВЫХОДИТЬ на этом операторе If, потому что каждая строка после нее считается частью оператора If и поэтому игнорируется. Используйте маркер «Конец», чтобы указать, какие строки являются частью оператора 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, так как ваш метод вызовет что-то похожее на переполнение стека/утечку памяти.
person
Roguebantha
schedule
18.06.2013