VB大作业(计算器)_第1页
VB大作业(计算器)_第2页
VB大作业(计算器)_第3页
VB大作业(计算器)_第4页
VB大作业(计算器)_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一 课题的选材过程一 课题的选材过程 鉴于 VB 强大的设计功能 而自己所学的知识有限 思路不够宽广 所以参考老师给 的题目决定编一个简单实用的电子计算器 设计思路 设计思路 1 界面设计界面设计 计算器主体是一个计算器 需要一个标签 Lable 属性 CAPTION 作为显示 然后需 要 0 1 2 3 4 5 6 7 8 9 CE C Sqrt 1 X 共计 20 个 COMMAND 控件 2 程序基本思路程序基本思路 数字键的事件过程主要是靠调用 number num 过程来实现 一个控件数组和 0 键组成 加 减 乘 除运算键的事件过程主要是靠调用 Calculation 过程来实现 开方等特殊运算键的事件过程主要是靠调用 VB 工具内相应 VBA 函数来实现 例如 sqr 函数 接受键盘输入的运算操作是打开了建立了一个 Form KeyPress KeyAscii 通用过程 根 据 KeyAscii 的值响应相应事件 在代码中针对每个过程都有简单注释 在代码的开头例如 operand 操作数 Calculation 计算 这些都是帮助说明变量用途 而写 二 设计将要达到的目标二 设计将要达到的目标 用一个窗体模块 完成模仿市面简单计算器的功能 例如加减乘除 开方 求倒数 支持键盘输入 可以清零 重置 并可连贯运算这些功能 三 总体设计结构三 总体设计结构 1 总体设计结构介绍 设计结构图总体设计结构介绍 设计结构图 2 主要功能模块运行界面的介绍主要功能模块运行界面的介绍 运行结果 运行结果 四 设计结果四 设计结果 生成可执行程序运行结果 生成可执行程序运行结果 五 设计总结五 设计总结 经过这学期 VB 的学习 使我对 VB 有了更进一步的认识和了解 要想学好它要重在 实践 要通过不断的上机操作才能更好地学习它 虽然学校开的 VB 是选修课 但它 的实用性和通用性很强大 不比学过的 C 语言差 因为是面向对象 所以很直观 学 习中也可以发现很多乐趣 也激起了学习 VB 的兴趣 因为是初学 对 VB 的一些标 准库函数不太了解 还有对函数调用的正确使用不够熟悉 还有对 VB 中经常出现的 错误也不了解 同时在设计的过程中发现了自己的不足之处 对以前所学过的知识理 解得不够深刻 掌握得不够牢固 通过实践的学习 我认识到学习编程要重视实践操作 不仅仅是学习 VB 还是其它 的语言 以及其它的计算机方面的知识都要重在实践 所以后在学习过程中 我会更 加注视实践操作 使自己便好地学好计算机 六 附录六 附录 源程序如下源程序如下 operand 操作数 Calculation 计算 operation symbols 运算符号 decimal 小数点 plus 加 minus 减 multiply 乘 divide 除 equal to 等于 inverse reciprocal 倒数 SquareRoot 平方根 Dim LastInput As String 上次输入操作的类别 Dim NumOperand As Integer 操作数数量 Dim OperationSymbols As String 运算符号 Dim DecimalFlag 小数点状态 Dim Operation 1 操作数 1 的值 Dim Operation 2 操作数 2 的值 Dim Time As Integer 0 的使用次数 对操作数赋值 满足条件则可以运算 Private Sub ChooseOperand If LastInput 数字 Then NumOperand NumOperand 1 End If Select Case NumOperand Case 1 Operation 1 LabelOut Caption Case 2 Operation 2 LabelOut Caption Calculation End Select If LastInput 运算符号 Then LastInput 运算符号 End If DecimalFlag False End Sub 定义简单运算通用过程 Calculation Private Sub Calculation Select Case OperationSymbols Case Operation 1 Val Operation 1 Val Operation 2 Case Operation 1 Val Operation 1 Val Operation 2 Case Operation 1 Val Operation 1 Val Operation 2 Case If Val Operation 2 0 Then Operation 1 ERROR 除数不能为零 Beep Else Operation 1 Val Operation 1 Val Operation 2 End If Case Operation 1 Operation 2 Case Else End Select LabelOut Caption Operation 1 结果输出 NumOperand 1 操作数个数置 1 DecimalFlag False Time 0 End Sub 定义处理数字按钮过程 Private Sub Number num As Integer If Time 0 And Val LabelOut Caption 0 And DecimalFlag False Then LabelOut Caption End If If LastInput 数字 Then LabelOut Caption End If If DecimalFlag Then If Left LabelOut Caption 1 And LastInput 运算符号 Then LabelOut Caption End If LabelOut Caption LabelOut Caption num Else Tmp LabelOut Caption If Val Tmp 0 Then LabelOut Caption num Else Tmp Left Tmp Len Tmp 1 LabelOut Caption Tmp num End If End If Tmp LastInput 数字 End Sub 接受键盘输入的运算操作 Private Sub Form KeyPress KeyAscii As Integer Select Case KeyAscii Case 42 号 Call CommandMultiply Click Case 43 号 Call CommandPlus Click Case 45 号 CommandMinus Value True Call CommandMinus Click 与 CommandMinus Value True 作用相同 Case 46 小数点 Call CommandDecimal Click Case 47 号 Call CommandDivide Click Case Asc 0 48 为字符零的 Ascii 值 Call Command0 Click Command0 Value True 与 Call Command0 Click 作用相同 Case Asc 0 To Asc 9 49 To 57 数字键 1 至 9 的 Ascii 值 Char Chr KeyAscii Number Char Case 61 键 Call CommandEqual Click End Select End Sub 数字键 1 至 9 Private Sub Command Click Index As Integer Call Number Index Number Index End Sub 数字键 0 Private Sub Command0 Click If Val LabelOut Caption 0 And DecimalFlag False Then Time Time 1 End If If Time 2 Then Else Number 0 End If End Sub 小数点插入 实现小数 Private Sub CommandDecimal Click If LastInput 无 Or LastInput 运算符号 Then LabelOut Caption 0 ElseIf LastInput 负值 Then LabelOut Caption 0 ElseIf LastInput 数字 Then If DecimalFlag Then End If If Not DecimalFlag Then Tmp LabelOut Caption If Right Tmp 1 Then Else Tmp Tmp End If LabelOut Caption Tmp Tmp End If End If DecimalFlag True LastInput 数字 End Sub 当前显示结果置零 Private Sub CommandCE Click LabelOut Caption 0 DecimalFlag False LastInput 运算符号 End Sub 再次初始化窗体 Form Private Sub CommandC Click Form Load End Sub 设定变量 窗体和控件的值 Public Sub ClearData LabelOut Caption 0 LastInput 无 NumOperand 0 OperationSymbols DecimalFlag False Time 0 Operation 1 Operation 2 LabelOut BackColor vbBlack LabelOut ForeColor vbGreen LabelOut FontSize 12 LabelOut AutoSize False Form1 KeyPreview True End Sub 初始化窗体 设置变量及参数状态 本程序目前未使用菜单项功能 如工具 帮助 编辑 运行时可以用箭头键来调整默认的 按钮 进而可用 Enter 键来按下它 Private Sub Form Load Call ClearData End Sub 加法 Private Sub CommandPlus Click Call ChooseOperand OperationSymbols End Sub 减法 负号 Private Sub CommandMinus Click Call ChooseOperand OperationSymbols End Sub 乘法 Private Sub CommandMultiply Click Call ChooseOperand OperationSymbols End Sub 除法 Private Sub CommandDivide Click Call ChooseOperand OperationSymbols End Sub 求平方根 Private Sub CommandSquareRoot Click If Val LabelOut Caption 0 Then Operation 1 ERROR 被开方数不能为负值 Beep Else Operation 1 Sqr Val LabelOut Caption End If LabelOut Caption Operation 1 End Sub 求倒数 用除法 Private Sub CommandReciprocal Click If LastInput 数字 Then NumOperand NumOperand 1 End If Select Case NumOperand Case 1 Operation 1 LabelOut Caption Case 2 Operation 2 LabelOut Caption Calculation End Select

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论