用VB编写计算器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用VB编写计算器
2007-01-09 10:36
一.实验目的
用vb语言编写一个简易计算器
二.实验要求
1.能够完成浮点数的加,减,乘,除;(平方等)
2.能够实现退格和清除功能;
3.初始值为0.0;
4.小数点不能重复输入;
5.高位数的0不出现;
6.应用控件数组实现。
三.控件属性列表
1、创建控件组的方法
a、首先创建一个命令按钮,调整其大小—宽、高为 495,名称为Command1,caption 属性为数字 0 。
b、然后进行“复制”和“粘贴”,当选择“粘贴”时,出现对话框提示已有一个同名控件,询问是否创建控件组,选择“是”后,即创建了一个名为“Command”的控件组。这时,第一个按钮的Index属性值默认为“0”,第二个的Index属性值自动设为“1”,并且大小与第一个按钮相同,只需修改其 Caption 属性为数字“1”并将其拖至合适位置即可。此后继续使用“粘贴”的方法建立其他控件组中其余按钮,共19个按钮,每建立一个,就将它拖到合适处,并修改相应的Caption属性值。
c、建立其他控件:如右图所示
2、各控件属性设置如下:
控件控件
控件名称 Caption 控件名称 Caption
窗体 Form 1 计算器按钮 Command 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 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).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.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 = shu1 * 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() '假如输入错误,可每次退后一格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_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