Conditional TI-84程序,代码进入错误的if语句

Conditional TI-84程序,代码进入错误的if语句,conditional,ti-basic,Conditional,Ti Basic,我的TI-84计算器上有一个程序,可以计算三维形状的体积。这是密码 ClrHome Disp "Z=Cuboid Disp "Y=Tri Prism Disp "X=Square Pyramid Disp "W=Tri Pyramid Disp "V=Cylinder Disp "U=Cone Disp "T=Sphere Prompt S Pause If S=Z Then Prompt W,L,H W*L*H→θ ClrHome Disp "V= Disp θ Pause ClrHome

我的TI-84计算器上有一个程序,可以计算三维形状的体积。这是密码

ClrHome
Disp "Z=Cuboid
Disp "Y=Tri Prism
Disp "X=Square Pyramid
Disp "W=Tri Pyramid
Disp "V=Cylinder
Disp "U=Cone
Disp "T=Sphere
Prompt S
Pause

If S=Z
Then
Prompt W,L,H
W*L*H→θ
ClrHome
Disp "V=
Disp θ
Pause
ClrHome
Stop
End

If S=Y
Then
Prompt A,B,C,H
*formula*→θ
ClrHome
Disp "V=
Disp θ
Pause
ClrHome
Stop
End

If S=X
Then
Prompt H,L,W
*formula*→θ
ClrHome
Disp "V=
Disp θ
Pause
ClrHome
Stop
End

这是我现在的全部程序,问题是当我输入S的值为X,(S=X)并按enter键继续时,程序进入If S=Y并询问A、B、C和H。如果我输入S=Z,则程序进入S=Z没有问题。如果我输入S=Y,程序将进入S=Y,没有问题。但是当我输入S=X时,程序进入S=Y。为什么呢?

它的工作或多或少是偶然的。此代码依赖于变量
X
Y
Z
等的值不同,以便区分它们。这显然是一个非常脆弱的设计

由于这是一个菜单,您可能对
菜单感兴趣(
命令:

Menu("Select Shape","Cuboid",C,"Tri Prism",TP,"Square Pyramid",SP
Lbl C
Prompt W,L,H
W*L*H
Disp Ans
Stop
Lbl TP
Prompt A,B,C,H
"dunno
Disp Ans
Stop
Lbl SP
Prompt H,L,W
"dunno
Disp Ans
我将公式放在这里“bare”,然后
Disp Ans
,这样用户就可以轻松地在后续计算中使用答案,而无需不必要地覆盖某些变量