1、 课程设计报告 题 目 计算器的设计与实现 专业班级 信息管理 101 学 号 1 计算器的设计与实现 摘要:摘要:通过学习 VISUAL BASIC 语言应用 VB 开发工具,利用响应鼠标事件即可 制作简易计算器,响应鼠标事件即:当用户想要进行运算时,可以用鼠标直接点 击界面的数字键、运算符以及各功能的按钮(清除,退出,鼠标位置) 。具体操作如 下:用鼠标按动界面上第一个数字,然后按动运算符,再按动界面上的第二个数字, 最后按等于即可运算出结果。 1.界面设计界面设计: 应用 VISUAL BASIC 开发工具,根据 WINDOWS 计算器界面模型,修改后 制作计算器界面。新建一个窗体,添加
2、一个文本框用于显示运算数字和结果,添 加若干按钮包括(数字 09,+,-,*,/,=,CE, C, Back,%,1/x , sqrt) 。 当单击数字按钮时输入运算数时,单击运算符按钮,再单击“=”按钮,则再文 本框中显示计算结果。具体如下图所示: 图 1 计算器界面设计示意图 2.程序设计程序设计: (1)新建框体和按键模型后定义变量:输入的操作数,Dim Op1, Op2。小 数点是否仍然存在,Dim DecimalFlag As Integer。操作数个数,Dim NumOps As Integer。指示上一次按键事件的类型,Dim LastInput。指示未完成的操作,Dim OpF
3、lag。定义文本框输出,Dim TempReadout。窗体的初始化过程,设置所有变 2 量为其初始值:DecimalFlag = False NumOps = 0 LastInput = “NONE“ OpFlag = “ “ Readout = Format(0, “0.“) Decimal.Caption = Format(0, “.“)。 (2) 输入数字键(0-9)的 Click 事件过程, 向显示中的数追加新数: 调用 format 函数强制定义始终在第一位添加一个”.”,并在显示数中追加新数,如果显示数 小于零,则添加负号。 If LastInput “NUMS“ Then Re
4、adout = Format(0, “.“) DecimalFlag = False End If If DecimalFlag Then Readout = Readout + Number(Index).Caption Else Readout = Left(Readout, InStr(Readout, Format(0, “.“) - 1) + Number(Index).Caption + Format(0, “.“) End If If LastInput = “NEG“ Then Readout = “-“ & Readout LastInput = “NUMS“ (3)运算符(+, -, x, /, =)的 Click 事件过程如果接下来的按键是数 字键,增加 NumOps 如果有一个操作数,则设置 Op1 如果有两个操作数,则将 Op1 设置为 Op1 与当前输入字符串的运算结果,并显示结果(以其中加法部分 为例) : If LastInput = “NUMS“ Then NumOps = NumOps + 1 E