VB计算器代码

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第 3 章计算器第3 章计算器

3.1 开发任务

在本任务中,我们要分别实现基本算术运算、累加和计算、阶乘计算、三角函数计算、排列组合计算和对数计算等多个子任务。

3.1.1 计算器的实验版本

1. 程序界面设计

(1)新建工程

打开VB开发环境,在工程浏览器窗口中(见图3-1左),将工程名称改为“计算器”(如图3-1中);再将窗体名称改为“frmCalculator”如图3-1右)。

图3-1 改变工程和窗体名称

将窗体文件保存为“frmCalculator.frm”,工程文件保存为“prjCalculator”。

(2)添加控件

在本工程中,我们需要用到下列控件:1个文本框用于输入运算数和输出结果;16个按钮构成计算器键盘,其中10个用于输入10个数字字符,1个用于输入小数点,一个用于触发计算的等号,另外4个用于选择加、减、乘、除运算符。

首先在窗体上部添加一个文本框,默认名称是Text1,调整好大小和位置(如图3-2),并将属性Text的值清空,再将对齐方式Alignment 改成“1 -

Right Justify”右对齐;

图3-2 添加文本框控件

再来制作键盘,第1步,添加第1个按钮。在文本框下方添加一个按钮Command1,将它调整为一个按键般大小,并把Caption属性改成“1”。

第2步,添加第2个按钮。添加外形类似的按钮,用复制的方法即可。不过要注意,在粘贴时VB会询问“已经有一个控件为"Command1 "。创建一个控件数组吗?”(见图3-3),一定要回答“否”。将复制好的按钮Command2的Caption改成2,并移动到Command1的右边。

图3-3 创建控件数组询问对话框

第3步,重复进行粘贴操作,依次制作其它按钮,按图3-4的布局排列。前9个按钮的Caption改成与它们的顺序号相同,Command10的Caption改为“0”,Command11的Caption改为“.”,ommand12的Caption改为“=”,Command13~Command16的Caption依次改为“+”、“-”、“*”、“/”。

图3-4键盘制作

2. 程序代码编写

(1)数字按钮的处理

数字按钮的功能是,在单击按钮后,将对应的数字加入到文本框Text1中。

Private Sub Command1_Click()

Text1.Text = "1"

End Sub

测试一下,启动程序,连续单击按钮1,文本框中只会出现1个1。(2)错误的发现与修正

赋值语句中新的数据总会替换掉原有的内容。

以下是解决办法:

Private Sub Command1_Click()

Text1.Text = Text1.Text & "1"

End Sub

下面,再来接着写Command2的事件过程代码:

Private Sub Command2_Click()

Text1.Text = Text1.Text & "2"

End Sub

仿照上述做法,再写出其它8个数字按钮和小数点按钮的单击事件过程代码。

(3)Caption的利用

上述语句最后拼接的数据正好是被单击按钮的Caption。

Private Sub Command1_Click()

Text1.Text = Text1.Text & Command1.Caption '输入1

End Sub

Private Sub Command2_Click()

Text1.Text = Text1.Text & Command2.Caption '输入2

End Sub

…………

Private Sub Command11_Click()

Text1.Text = Text1.Text & Command11.Caption '输入小数点

End Sub

(4)运算符按钮的处理

1)运算数的暂存

Dim sglNumber As Single '用于暂存第1个运算数,前缀sgl是Single 的缩写

sglNumber = Text1.Text '保存第1个运算数,字符串自动转换称为单精度型

如果单击加法运算符,则单击事件过程如下:

Private Sub Command13_Click() '单击加法运算符按钮

Dim sglNumber As Single '用于暂存第1个运算数的变量sglNumber = Text1.Text '保存第1个运算数

Text1.Text = "" '用空串赋值,即可清空文本框

End Sub

2)加法运算代码

在输入第2个运算数之后,需要单击等号按钮来完成运算。

Private Sub Command12_Click() '单击等号按钮

Text1.Text = sglNumber + Val(Text1.Text) '取出第2个数与第1个数做加法并输出结果

End Sub

试运行程序,依次单击按钮5—加号—按钮6—等号,结果是6?调用MsgBox来找一下原因:

Private Sub Command12_Click() '单击等号按钮

MsgBox sglNumber '弹出变量的值

Text1.Text = sglNumber + Val(Text1.Text) '做加法运算并输出

End Sub

对话框中弹出空串!

流程再往后退,检查一下运算符按钮的单击事件过程。

Private Sub Command13_Click() '单击加法运算符按钮

Dim sglNumber As Single

sglNumber = Text1.Text

MsgBox sglNumber '弹出变量的值

Text1.Text = ""

End Sub

单击加号按钮后,对话框弹出了5,运行正确,错误不在本过程。(5)程序调试方法

最基本的3种程序调试方法。

1)在适当的地方加上MsgBox调用,通过弹出变量的当前值来进行

相关文档
最新文档