雅阁什么颜色好看:vb 计算器如何实现四则混合运算?

来源:百度文库 编辑:高考问答 时间:2024/05/02 08:45:00
各位大虾,555请问如何实现vb四则混合运算?
举例:就是在计算器里面输入:7+1*3 本来答案应该是10的,但是
计算器只能显示答案24.
我已经作出了vb计算器的程序编写:

Dim x!, N1!, N2!
Dim StrN1$, StrN2$
Dim FirstN As Boolean
Dim PointFlag As Boolean
Dim Runsign As Integer
Dim SignFlag As Boolean
Dim k As Single
Private Sub Command1_Click(Index As Integer)
Select Case Index
Case 0 To 9
If FirstN Then
StrN1 = Str(Index)
FirstN = False
Else
StrN1 = StrN1 + Str(Index)
End If
Label1.Caption = StrN1
Case 10
If Not PointFlag Then
If FirstN Then
StrN1 = "0."
FirstN = False
Else
StrN1 = StrN1 + "."
End If
Else
Exit Sub
End If
PointFlag = True
Label1.Caption = StrN1
Case 17
If Sgn(Val(StrN1)) = 1 Then
StrN1 = "-" + StrN1
Else
If Sgn(Val(StrN1)) = -1 Then
StrN1 = Right(StrN1, Len(StrN1) - 1)
End If
StrN1 = "0."
End If
Label1.Caption = StrN1

Case 12 To 15
FirstN = True
PointFlag = False
If SignFlag Then
Call run
Else
SignFlag = True
StrN2 = StrN1
StrN1 = ""
End If
Runsign = Index - 11
Case 11
If Not SignFlag Then
LabXs.Caption = StrN1
k = Val(StrN1)
FirstN = True
PointFlag = False
Else
Call run
SignFlag = False
End If
Case 16
N1 = 0
N2 = 0
StrN1 = ""
StrN2 = ""
FirstN = True
PointFlag = False
Runsign = 0
SignFlag = False
Label1.Caption = "0."
End Select
End Sub

Private Sub Command9_Click()
Unload Me
End Sub

Private Sub Form_Load()
N1 = 0: N2 = 0
StrN1 = "": StrN2 = ""
FirstN = True
Runsign = 0
SignFlag = False
End Sub
Private Sub run()
Dim k As Single
N1 = Val(StrN2)
N2 = Val(StrN1)
Select Case Runsign
Case 1
k = N1 + N2
Case 2
k = N1 - N2
Case 3
k = N1 * N2
Case 4
k = N1 / N2
End Select
StrN2 = Str(k)
StrN1 = StrN2
Label1.Caption = StrN2
End Sub

在以上要加入什么代码?
或许有其他方法,可以解决吗?

希望编程大虾赐教!!!!!!!!!!!!!!!!!!!!!!!!

你很怪也.
为什么不让用户一次输入一条算是然...然后就outcome=7+1*3,msgbox,text或label不管你用什么.Text.text=outcome.