我用VB做一个计算器,大家帮我看看哪里有问题!!谢过

来源:百度知道 编辑:UC知道 时间:2024/05/11 17:09:51
Dim a, b, c, d As String

Private Sub Command11_Click()
Text1 = Text1 & 7
End Sub

Private Sub Command12_Click()
Text1 = Text1 & 8
End Sub

Private Sub Command13_Click()
Text1 = Text1 & 9
End Sub

Private Sub Command14_Click()
Dim a, b, c, d As String
d = Command14
d = Val(Text1)
Text1 = ""
End Sub

Private Sub Command16_Click()
Text1 = Text1 & 4
End Sub

Private Sub Command17_Click()
Text1 = Text1 & 5
End Sub

Private Sub Command18_Click()
Text1 = Text1 & 6
End Sub

Private Sub Command19_Click()
Dim a, b, c, d As String
c = Command19
c = Val(Text1)
Text1 = ""
End Sub

Private Sub Command21_Click()
Text1 = Text1 & 1
End Sub

Private Sub Command22_Click()
Text1 = Text1 & 2
End Sub

Private Sub Command23_Click()
Text1 = Text1 &

1、代码上比较杂乱,每个按钮名称最好有代表性;
2、缺少一定的代码注释,当然这些代码很简单,但有注释方便他人查看,也方便自己以后维护;
3、算法有问题,Command28你多点几下看看;
4、全局变量a,b,c,d是啥意思?有些过程还有局部变量a,b,c,d这样混和使用以后容易出错;
5、为啥不用控件数组,这样可以省好些代码,维护也方便。

算法不够高明

代码冗余过多,不够简洁。

网上有现成的www.mndsoft.com搜索计算器即可

Dim OV[color=#0000ff](500)
Dim OP(500)
Dim Adv(500)
Dim Ops, Ovs, K As Integer
Dim isEmpty As Boolean

Function Process(Formula As String)
ClearAll

Formula = Formula & ";"

Dim P, str, o
P = 1

Do While (P < Len(Formula))

If IsNumeric(Mid$(Formula, P, 1)) Then
str = ""
Do While ((IsNumeric(Mid$(Formula, P, 1))) or Mid$(Formula, P, 1) = ".") And (P < Len(Formula))

str = str & Mid$(Formula, P, 1)
P = P + 1
Loo