组成包括Label控件2个,其中一个用来显示数字,一个在那个显示数字的上方空白显示,纯属修饰作用
按钮19个,分别为10个数字0~9,小数点,四则运算按钮,正负号按钮,求倒数按钮,等号按钮,清零按钮(C和CE有啥区别我还真不知道。。所以就写了C了)

通用声明里面:
Dim n, m As Integer
Dim a, b, ab As Single
Dim dy As String
m和n是用来表示计算时的状态,方便调整
a、b、ab是最简运算时3个量,因为牵扯到字符串和实数型之间的转换,所以定义了这3个量
dy也是牵扯到转换问题所定义
将显示数字的Label控件名称设置为“XS”,即“显示”之意
先将单击“0”按钮的程序写下:
If n >= 1 Then XS.Caption = ""
n = 0
If XS.Caption <> "0" Then XS.Caption = XS.Caption + "0"
n的定义后文会提到,重点是后面这句
当显示不为0时,才在原数后面添加一个“0”,如果显示是0,则不添加,因为0不可以在首位显示多次,这也是出于实际的考虑
然后写出“1”:
If n >= 1 Then XS.Caption = ""
n = 0
If XS.Caption = "0" Then
XS.Caption = "1"
Else
XS.Caption = XS.Caption + "1"
End If
如果当时显示为“0”,则将“0”替换为“1”,否则直接在后面添加“1”
2~9同理,这里不再写出
写出单击“.”小数点的程序:
If n >= 1 Then XS.Caption = "0"
n = 0
XS.Caption = XS.Caption + "."
spoint.Enabled = False
小数点使用后变为不可用状态,以免出现多个小数点
写出单击“±”正负号的程序:
If Val(XS.Caption) > 0 Then
XS.Caption = "-" + XS.Caption
Else
XS.Caption = -Val(XS.Caption)
End If
如果原数为正,则直接添加负号;如果为负,则直接取原数之绝对值
写出单击“+”加号的程序:
a = Val(XS.Caption)
n = 1
m = 1
spoint.Enabled = True
将输入的数保存到a中,n=1为已经写入一个数的状态,m=1为做的加法运算,同时将小数点标记为可用状态
写出单击“-”加号的程序:
a = Val(XS.Caption)
n = 1
m = 2
spoint.Enabled = True
m=2为做减法运算,同理m=3为乘法,m=4为除法
写出单击“=”等号的程序:
spoint.Enabled = True
b = Val(XS.Caption)
If m = 1 Then
ab = a + b
a = ab
ElseIf m = 2 Then
ab = a - b
a = ab
ElseIf m = 3 Then
ab = a * b
a = ab
ElseIf m = 4 Then
ab = a / b
a = ab
End If
If ab > 0 And ab < 1 Then
dy = ab
XS.Caption = "0" + dy
ElseIf ab > -1 And ab < 0 Then
dy = -ab
XS.Caption = "-0" + dy
Else
XS.Caption = ab
End If
n = 2
首先将小数点标记为可用状态,然后将当前显示的数存在b中,然后选择结构,用到了m值,根据m的值决定使用什么方法进行计算。因为牵扯到得数为-1到1之间不显示小数点前面的0,所以特别单独用分支结构进行标出,同时n=2标记运算结束
写出单击“1/x”求倒数的程序:
ab = 1 / Val(XS.Caption)
If ab > 0 And ab < 1 Then
dy = ab
XS.Caption = "0" + dy
ElseIf ab > -1 And ab < 0 Then
dy = -ab
XS.Caption = "-0" + dy
Else
XS.Caption = ab
End If
n = 2
直接包含了等号的运算以及绝对值小于1的有关表示方法
写出单击“C”清理的程序:
XS.Caption = "0"
n = 0
spoint.Enabled = True
n=0表示可重新输入数并覆盖原显示数,以上各个片段中也是表示此意