VBS计算器问题

时间:2014-10-20 23:09:00

标签: vbscript

在此计算器程序中,+有效但-*/不起作用。为什么呢?

Option Explicit
Dim IB, Sum1, Sum2, Sym
Sum1 = InputBox("Enter first #NO", "VBS Calculator")
If Not IsNumeric(IB) Then
    MsgBox "Please enter a valid Number"
ElseIf IsNumeric(IB) Then
    If Not IsNumeric(IB) Then
        MsgBox " Please enter a valid Number"
    ElseIf IsNumeric(IB) Then
        Sum2 = InputBox("Enter second #NO", "VBS Calculator")
        Sym = InputBox("Enter a law of Arithmetic", "VBS Calculator")
        If Sym = "+" Then MsgBox (CInt(Sum1) + CInt(Sum2))
    ElseIf Sym = "-" Then MsgBox (CInt(Sum1) - CInt(Sum2))
    ElseIf Sym = "/" Then MsgBox (CInt(Sum1) / CInt(Sum2))
    ElseIf Sym = "*" Then MsgBox (CInt(Sum1) * CInt(Sum2))
    End If
End If

1 个答案:

答案 0 :(得分:2)

如果您将语句与if then放在同一行,则其他任何子句都无效。 e.g。

if a=b then statement

的逻辑等价物
if a = b then
    statement
end if

您的代码也有其他问题,例如检查Elseif IsNumeric(IB) then后跟if Not IsNumeric(IB) then第二个if将永远被跳过,直接进入elseif