ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:245.81KB ,
资源ID:27492011      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/27492011.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(vb黄兰计算器.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

vb黄兰计算器.docx

1、vb黄兰计算器Vb 程序设计软件工程课程设计报告简单计算器的设计专 业:机械类班 级:13级学 号:1308020111姓 名:黄兰指导教师:翟任何第一章 系统简介 - 3 -1.1课程设计名称 - 3 -1.2任务要求 - 3 -1.3开发环境 - 3 -第二章 可行性分析 - 3 -2.1技术可行性 - 3 -2.2经济可行性 - 3 -2.3系统流程图 - 3 -第三章 需求分析 - 4 -3.1确定对系统的综合要求 - 4 -3.2分析系统的数据要求 - 5 -第四章总体设计 - 5 -4.1设想供选择的方案及选择合理方案 - 5 -4.2设计软件结构图 - 5 -第五章 详细设计及代

2、码实现 - 6 -5.1结构程序设计 - 6 -5.2界面设计 - 6 -5.3过程设计 - 7 -5.3.1 主程序的设计 - 7 -5.3.2 0-9的数字键设计 - 10 -5.3.3 运算符号键设计 - 10 -5.3.4 其他功能键设计 - 12 -5.3.5其他辅助设计 - 15 -第六章 调试分析过程描述 - 16 -6.1 利用vb的调试进行 - 16 -6.2易错边界点调试 - 17 -第一章 系统简介1.1课程设计名称1、课程设计名称简单科学计算器的设计1.2任务要求简单计算器主要有一下几个任务:1.具有小数点后10位以上的精度。2.可以输入09、00、小数点等数字或数学符

3、号,并能对数字取反。3.能够计算加、减、乘、除四则运算。4.可以计算倒数、开方、百分运算。1.3开发环境 科学计算器主要在visual basic6.0中开发。由于vb的开发要简单好用,同时为了学习vb的程序编制。第二章 可行性分析2.1技术可行性前辈们已经做过的,市面上有很多的计算器。使用vb6.0能够实现这个软件的编程。2.2经济可行性这个经济效益肯定不超过其开发的成本。但是开发成本低,周期短。主要用于练习vb编程。2.3系统流程图第三章 需求分析3.1确定对系统的综合要求 1.功能需求:这个功能实现是的能够实现简单的运算,同时适用于记账的简单功能。不需要太强大的功能。2.性能需求:计算速

4、度快,计算出错率低,用户使用习惯的符合,操作简单。3.可靠性和可用性需求:在计算一百万次不发生错误。在win7系统32位的电脑中程序崩溃每5000次出现一次。4.出错处理:提示用户在什么系统下正确安装,提示用户正确的使用方法。3.2分析系统的数据要求这里只有简单的数学运算并没有复杂的数据转换是很小型的系统软件。第四章总体设计4.1设想供选择的方案及选择合理方案由于市面上有很多成熟的计算器程序,但是要使用最简单的,最能体现在买卖中的所运用的计算就可以了,让用户可以很好的去操作。在需求分析中已经知道了所需要的功能。因此这里,只有选择前面的方案。先利用vb去实现再利用Java实现跨平台。4.2设计软

5、件结构图第五章 详细设计及代码实现5.1结构程序设计5.2界面设计5.3过程设计5.3.1 主程序的设计第一步给所有的用上的都定义和赋值,解释:operand -操作数Calculation -计算operation symbols - -运算符号decimal-小数点plus -加minus -减multiply -乘divide -除Percent -百分比equal to -等于amount-合计;等同,接近inverse; reciprocal- 倒数SquareRoot-平方根Dim LastInput As String 上次输入操作的类别Dim NumOperand As Int

6、eger 操作数数量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 + 1End IfSelect Case NumOperand Case 1 Operation_1 =

7、 LabelOut.Caption Case 2 Operation_2 = LabelOut.Caption CalculationEnd SelectIf LastInput 运算符号 Then LastInput = 运算符号End IfDecimalFlag = FalseEnd Sub第三步 定义简单运算通用过程Calculation():* 定义简单运算通用过程Calculation()Private Sub Calculation()Select Case OperationSymbols Case + Operation_1 = Val(Operation_1) + Val(O

8、peration_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 Els

9、eEnd SelectLabelOut.Caption = Operation_1 结果输出NumOperand = 1 操作数个数置1DecimalFlag = FalseTime = 0End Sub第四步 定义处理数字按钮过程:* 定义处理数字按钮过程Private Sub Number(num As Integer)If Time 0 And Val(LabelOut.Caption) = 0 And DecimalFlag = False Then LabelOut.Caption = End IfIf LastInput 数字 Then LabelOut.Caption = .En

10、d IfIf DecimalFlag Then If Left(LabelOut.Caption, 1) = . And LastInput = 运算符号 Then LabelOut.Caption = End If LabelOut.Caption = LabelOut.Caption & numElse Tmp = LabelOut.Caption If Val(Tmp) = 0 Then LabelOut.Caption = num & . Else Tmp = Left(Tmp, Len(Tmp) - 1) LabelOut.Caption = Tmp & num & . End If

11、End IfTmp = LastInput = 数字End Sub第五步 接受键盘输入的运算操作:*接受键盘输入的运算操作Private Sub Form_KeyPress(KeyAscii As Integer)Select Case KeyAscii Case 8 退格键 Call CommandBackSpace_Click Case 37 %百分号 Call CommandPercent_Click Case 42 *号 Call CommandMultiply_Click Case 43 +号 Call CommandPlus_Click Case 45 -号 CommandMinu

12、s.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(Ke

13、yAscii) Number (Char) Case 61 =键 Call CommandEqual_ClickEnd SelectEnd Sub这是最关键的主程序,这是这个计算器的核心,把主程序写好后后面的工作就很好完成了。5.3.2 0-9的数字键设计*数字键1至9Private Sub Command_Click(Index As Integer)Call Number(Index)Number (Index)End Sub*数字键0Private Sub Command0_Click()If Val(LabelOut.Caption) = 0 And DecimalFlag = Fal

14、se Then Time = Time + 1End IfIf Time = 2 Then Else Number (0)End IfEnd Sub5.3.3 运算符号键设计*加法Private Sub CommandPlus_Click()Call ChooseOperandOperationSymbols = +End Sub*减法;负号Private Sub CommandMinus_Click()Call ChooseOperandOperationSymbols = -End Sub* 乘法Private Sub CommandMultiply_Click()Call ChooseO

15、perandOperationSymbols = *End Sub*除法Private Sub CommandDivide_Click()Call ChooseOperandOperationSymbols = /End Sub *求平方根Private Sub CommandSquareRoot_Click()If Val(LabelOut.Caption) 0 Then Operation_1 = ERROR! 被开方数不能为负值! BeepElse Operation_1 = Sqr(Val(LabelOut.Caption)End IfLabelOut.Caption = Operat

16、ion_1End Sub*当前操作数的百分比Private Sub CommandPercent_Click()If OperationSymbols = = Or LastInput = 数字 ThenSelect Case NumOperand Case 1 If OperationSymbols = / And Val(LabelOut.Caption) = 0 Then Calculation Else Operation_2 = LabelOut.Caption Calculation Var = Val(LabelOut.Caption) Var = Var / 100 Label

17、Out.Caption = Str(Var) End If Case Else Var = Val(LabelOut.Caption) Var = Var / 100 LabelOut.Caption = Str(Var)End SelectNumOperand = 0End IfEnd Sub*求倒数,用除法Private Sub CommandReciprocal_Click()If LastInput = 数字 Then NumOperand = NumOperand + 1End IfSelect Case NumOperand Case 1 Operation_1 = LabelOu

18、t.Caption Case 2 Operation_2 = LabelOut.Caption CalculationEnd SelectIf NumOperand = 0 And (LastInput = 无 Or LastInput = 负值 Or OperationSymbols ) ThenElse Operation_2 = Operation_1 Operation_1 = 1 OperationSymbols = / Calculation NumOperand = 0 OperationSymbols = End IfEnd Sub*等于Private Sub CommandE

19、qual_Click()Call ChooseOperandOperationSymbols = =End Sub5.3.4 其他功能键设计*正负号键转化Private Sub CommandSign_Click()If LastInput 负值 And Left(LabelOut.Caption, 1) - Then Tmp = LabelOut.Caption LabelOut.Caption = - & Tmp Tmp = LastInput = 数字End IfEnd Sub*小数点插入,实现小数Private Sub CommandDecimal_Click()If LastInpu

20、t = 无 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 IfEnd IfDecim

21、alFlag = TrueLastInput = 数字End Sub*退格键Private Sub CommandBackSpace_Click()Tmp = LabelOut.CaptionIf Operation_1 = 0 Then If Len(Tmp) = 0 Or Len(Tmp) = 2 Then Tmp = 0. End If If Len(Tmp) 2 Then Select Case Right(Tmp, 1) Case . If Len(Tmp) = 6 And Left(Tmp, 1) = - Then Tmp = 0. ElseIf Len(Tmp) = 4 Then

22、 Tmp = 0. Else Tmp = Left(Tmp, Len(Tmp) - 3) Tmp = Tmp + . End If Case Else If Len(Tmp) 1 Then Select Case Right(Tmp, 1) Case . If Len(Tmp) = 3 And Left(Tmp, 1) = - Then Tmp = 0. ElseIf Len(Tmp) = 2 Then Tmp = 0. Else Tmp = Left(Tmp, Len(Tmp) - 2) Tmp = Tmp + . End If Case Else If Len(Tmp) = 2 And L

23、eft(Tmp, 1) = - Then Tmp = 0. Else Tmp = Left(Tmp, Len(Tmp) - 1) End If End Select End If End IfIf Tmp = . Then Tmp = 0.LabelOut.Caption = TmpEnd Sub*当前显示结果置零Private Sub CommandCE_Click()LabelOut.Caption = 0.DecimalFlag = FalseLastInput = 运算符号End Sub*再次初始化窗体FormPrivate Sub CommandC_Click()Form_LoadE

24、nd Sub*设定变量、窗体和控件的值Public Sub ClearData()LabelOut.Caption = 0.LastInput = 无NumOperand = 0OperationSymbols = DecimalFlag = FalseTime = 0Operation_1 = Operation_2 = LabelOut.BackColor = vbBlackLabelOut.ForeColor = vbGreenLabelOut.FontSize = 12LabelOut.AutoSize = FalseForm1.KeyPreview = TrueEnd Sub5.3.

25、5其他辅助设计*当前显示结果置零Private Sub CommandCE_Click()LabelOut.Caption = 0.DecimalFlag = FalseLastInput = 运算符号End Sub*再次初始化窗体FormPrivate Sub CommandC_Click()Form_LoadEnd Sub*设定变量、窗体和控件的值Public Sub ClearData()LabelOut.Caption = 0.LastInput = 无NumOperand = 0OperationSymbols = DecimalFlag = FalseTime = 0Operati

26、on_1 = Operation_2 = LabelOut.BackColor = vbBlackLabelOut.ForeColor = vbGreenLabelOut.FontSize = 12LabelOut.AutoSize = FalseForm1.KeyPreview = TrueEnd Sub* 初始化窗体,设置变量及参数状态(本程序目前未使用菜单项功能,如工具、帮助、编辑;运行时可以用箭头键来调整默认的按钮,进而可用Enter键来按下它)Private Sub Form_Load()Call ClearDataEnd Sub第六章 调试分析过程描述6.1 利用vb的调试进行1.做逐语句调试没有问题2.做逐过程分析分析出来没有问题6.2易错边界点调试1.用函数1-1.2=0点无法输出2.用正负号转换按钮不能转换,不过简单功能能够实现不影响使用

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1