vb6初学者:[2]制作一个四则运算的计算器
来源:网络收集 点击: 时间:2024-02-29如图,左侧是我们第一条经验做的计算器,右侧是windows的计算器。有一个很重要的差别是我们的计算器只具有“加法”功能,而 windows计算器可以进行四则运算。现在我们就来完善它。


我们在上次的窗口中拖入一个combo(选择框)控件,text属性修改为“请选择运算法则”

然后修改list属性,增加“加”“减”“乘”“除”四行。
(每增加一条都需要回车,然后重新进行该步骤)

一、 增加代码,根据combo1的内容进行不同的运算
双击command1,将command1原代码删掉,改为如下代码:
Dim jieguo As string 定义一个叫做jieguo的变量,用以储存结果
select case combo1.text ‘选择combo1中的内容
Case “加” ‘如果选择的是“加”
Jieguo= Val(Text1.Text) + Val(Text2.Text) ‘执行加法
Case “减” ‘如果选择的是“减”
Jieguo= Val(Text1.Text) - Val(Text2.Text) ‘执行减法
Case “乘” ‘如果选择的是“乘”
Jieguo= Val(Text1.Text) * Val(Text2.Text) ‘执行乘法
Case “除” ‘如果选择的是“除”
Jieguo= Val(Text1.Text) /Val(Text2.Text) ‘执行除法
Case else ‘如果选择的是其他字符
Jieguo= “无此运算符”
End select ‘结束选择语句
Msgbox(jieguo) ‘将内容用消息框展示出来
5/8纠错机制
1、如果我们在文本框中输入的不是数字而是字符,则val( )函数会自动将其转化为0进行计算。如图所示。
为了限制文本框只输入数字,我们可以双击文本框,分别输入代码后,应如下文显示:
Private Sub Text1_Change()
Text1.Text = Val(Text1.Text)
End Sub
Private Sub Text2_Change()
Text2.Text = Val(Text2.Text)
End Sub

有时候程序在运行过程中会出现下面的错误,问题在哪呢?就是因为0不能做除数
为了解决0不能做除数的问题,我们可以引入一个判断语句(if….then…..else….end if)
If Combo1.Text = 除 And Text2.Text = 0 Then
MsgBox (被除数不能为0)
exit sub
End If

我们把上面的语句放入Command1_Click()事件的前端,完整代码如下:
Private Sub Command1_Click()
If Combo1.Text = 除 And Text2.Text = 0 Then
MsgBox (被除数不能为0)
exit sub
End If
Dim jieguo As string 定义一个叫做jieguo的变量,用以储存结果
select case combo1.text ‘选择combo1中的内容
Case “加” ‘如果选择的是“加”
Jieguo= Val(Text1.Text) + Val(Text2.Text) ‘执行加法
Case “减” ‘如果选择的是“减”
Jieguo= Val(Text1.Text) - Val(Text2.Text) ‘执行减法
Case “乘” ‘如果选择的是“乘”
Jieguo= Val(Text1.Text) * Val(Text2.Text) ‘执行乘法
Case “除” ‘如果选择的是“除”
Jieguo= Val(Text1.Text) /Val(Text2.Text) ‘执行除法
Case else ‘如果选择的是其他字符
Jieguo= “无此运算符”
End select ‘结束选择语句
Msgbox(jieguo) ‘将内容用消息框展示出来
End Sub
8/8这样,我们要的功能基本完成。
你可以通过修饰,让程序更美观

本人所有经验均为原创,若您有收获,请点一下下面的投票,谢谢
计算器版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_172517.html