1、 用VB编写计算器 2007-01-09 10:36 一.实验目的 用vb语言编写一个简易计算器 二.实验要求 1.能够完成浮点数的加,减,乘,除;(平方等) 2.能够实现退格和清除功能; 3.初始值为0.0; 4.小数点不能重复输入; 5.高位数的0不出现; 6.应用控件数组实现。 三.控件属性列表 1、创建控件组的方法 a、首先创建一个命令按钮,调整其大小 — 宽、高为 495,名称为Command1,aption 属性为数字 0 。 b、然后进行“复制”和“粘贴”,当选择“粘贴”时,出现对话框提示已有一个
2、同名控件,询问是否创建控件组,选择“是”后,即创建了一个名为“Command”的控件组。这时,第一个按钮的Index属性值默认为“0”,第二个的Index属性值自动设为“1”,并且大小与第一个按钮相同,只需修改其 Caption 属性为数字“1”并将其拖至合适位置即可。此后继续使用“粘贴”的方法建立其他控件组中其余按钮,共19个按钮,每建立一个,就将它拖到合适处,并修改相应的Caption属性值。 c、建立其他控件:如右图所示 2、各控件属性设置如下: 控 件 控 件 控件 名称 Caption 控件 名称 Caption 窗体 Form 1 计算器 按钮 Comm
3、and 2(0) + 按钮 Command 3 退格 按钮 Command 2(1) - *¸按钮 Command 4 . 按钮 Command 2(2) 按钮 Command 5 = 按钮 Command 2(3) / 按钮 command 6 + 按钮 Command 7 ± 按钮 Command 1(0)~Command1(9) Caption 0 ~ 9 各个属性修改后得到如图所示的界面 四 程序如下 Dim shu1 As Single, shu2 As Single, suanfu As
4、String '定义两个单精度数变量用与存放参与运算的数,一个字符型存放运算符 Private Sub Command1_Click(Index As Integer) Text1.Text = Text1.Text & Command1(Index).Caption '将command1的单击事件与文本框显示的内容连接 End Sub Private Sub Command2_Click(Index As Integer) shu1 = Val(Text1.Text) '将shu1隐藏起来 suanfu = Command2(Index
5、).Caption Text1.Text = "" End Sub Private Sub Command4_Click() Text1.Text = Text1.Text + "." If (InStr(Text1.Text, ".") = 1) Then '第一位不能为小数 Text1.Text = "" End If If InStr(Text1.Text, ".") < Len(Text1.Text) Then '防止出现两个小数点 Text1.Text = Left(Text1.
6、Text, Len(Text1.Text) - 1) End If End Sub Private Sub Command5_Click() '开始加减乘除的运算 shu2 = Val(Text1.Text) Select Case suanfu Case "+" Text1.Text = shu1 + shu2 Case "-" Text1.Text = shu1 - shu2 Case "*" Text1.Text = shu
7、1 * shu2 Case "/" If shu2 = 0 Then MsgBox "分母不能为零!", 1 + 32 + 0, "错误" '错误提示框图下所示 Text1.Text = "" Else Text1.Text = shu1 / shu2 End If End Select End Sub Private Sub Command3_Click() '假如输入错
8、误,可每次退后一格 If Text1.Text = "" Then Exit Sub End If Text1.Text = Left(Text1.Text, Len(Text1.Text) - 1) End Sub Private Sub Command6_Click() Text1.Text = "" '清除 End Sub Private Sub Command7_Click() '平方运算 Text1.Text = Text1.Text * Text1.Text End Sub Private Sub Command8
9、Click() If Left(Text1.Text, 1) <> "-" Then Text1.Text = "-" & Text1.Text Else Text1.Text = Right(Text1.Text, Len(Text1.Text) - 1) End If End Sub Private Sub Form_Click() a = Int(Rnd() * 255) b = Int(Rnd() * 255) c = Int(Rnd() * 255) Form1.BackColor = RGB(a, b, c) End Sub






