



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
用VB编写一个简单计算器一、功能:实现简单的加减乘除功能,C归零,CE取消输入,%计算并显示第一个操作数的百分比。二、控件:1个label, 20个commandbutton。三、计算器运行界面:四、详细代码: Option Explicit Dim Op1, Op2 前面输入的操作数 Dim DecimalFlag As Integer 小数点仍然存在吗? Dim NumOps As Integer 操作数个数 Dim LastInput 指示上一次按键事件的类型 Dim OpFlag 指示未完成的操作 Dim TempReadout C (取消) 按钮的 Click 事件过程 重新设置显示并初始化变量 Private Sub Cancel_Click() Readout = Format(0, 0.) Op1 = 0 Op2 = 0 Form_Load End Sub CE (取消输入) 按钮的 Click 事件过程 Private Sub CancelEntry_Click() Readout = Format(0, 0.) DecimalFlag = False LastInput = CE End Sub 小数点 (.) 按钮的 Click 事件过程 如果上一次按键为运算符,初始化 readout 为 0.; 否则显示时追加一个小数点 Private Sub Decimal_Click() If LastInput = NEG Then Readout = Format(0, -0.) ElseIf LastInput NUMS Then Readout = Format(0, 0.) End If DecimalFlag = True LastInput = NUMS End Sub 窗体的初始化过程 设置所有变量为其初始值 Private Sub Form_Load() DecimalFlag = False NumOps = 0 LastInput = NONE OpFlag = Readout = Format(0, 0.) Decimal.Caption = Format(0, .) End Sub 数字键 (0-9) 的 Click 事件过程 向显示中的数追加新数 Private Sub Number_Click(Index As Integer) If LastInput NUMS Then Readout = 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 End Sub 运算符 (+, -, x, /, =) 的 Click 事件过程 如果接下来的按键是数字键,增加 NumOps。 如果有一个操作数,则设置 Op1。 如果有两个操作数,则将 Op1 设置为 Op1 与 当前输入字符串的运算结果,并显示结果 Private Sub Operator_Click(Index As Integer) TempReadout = Readout If LastInput = NUMS Then NumOps = NumOps + 1 End If Select Case NumOps Case 0 If Operator(Index).Caption = - And LastInput NEG Then Readout = - & Readout LastInput = NEG End If Case 1 Op1 = Readout If Operator(Index).Caption = - And LastInput NUMS And OpFlag = Then Readout = - LastInput = NEG End If Case 2 Op2 = TempReadout Select Case OpFlag Case + Op1 = CDbl(Op1) + CDbl(Op2) Case - Op1 = CDbl(Op1) - CDbl(Op2) Case X Op1 = CDbl(Op1) * CDbl(Op2) Case / If Op2 = 0 Then MsgBox 除数不能为 0, 48, 计算器 Else Op1 = CDbl(Op1) / CDbl(Op2) End If Case = Op1 = CDbl(Op2) Case % Op1 = CDbl(Op1) * CDbl(Op2) End Select Readout = Op1 NumOps = 1 End Select If LastInput NEG Then LastInput = OPS OpFlag = Operator(Index).Caption End If End Sub 百分比键 (%) 的 Click 事件过程 计算并显示第一个操作数的百分数 Privat
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年区块链技术在物流行业应用前景与挑战分析报告
- 2025年智能制造技术在工业0时代的应用前景研究报告
- 商场保安安全培训计划课件
- 国家事业单位招聘2025自然资源实物地质资料中心招聘拟聘用人员笔试历年参考题库附带答案详解
- 四川省2025年四川资阳市雁江区引进急需紧缺专业人才笔试历年参考题库附带答案详解
- 北京市2025北京邮电大学人工智能学院招聘2人(人才派遣)笔试历年参考题库附带答案详解
- 2025福建厦门海沧湾投资开发有限公司招聘笔试参考题库附带答案详解
- 2025甘肃人力委托招聘风电叶片主修岗位10人笔试参考题库附带答案详解
- 2025广西北海市小微企业融资担保有限公司招聘实习生6人笔试参考题库附带答案详解
- 2025年贵州乌江水电开发有限责任公司大学毕业生招聘若干人笔试参考题库附带答案详解
- 人教版(新教材)高中生物选择性必修1课件3:4 3 免疫失调
- 《SLT 582-2025水工金属结构制造安装质量检验检测规程》知识培训
- “燕园元培杯”2023-2024学年全国中学生地球科学奥林匹克竞赛决赛试题详解
- 中国血脂管理指南(基层版+2024年)解读
- 分子诊断技术在感染性疾病中的应用-深度研究
- 《智能AI分析深度解读报告》课件
- 气道异物护理教学
- 2024年版机电产品国际招标标准招标文件
- 企业合规经营规范手册
- 企业员工心理健康与欺凌防范政策
- 四川省兴文县建设煤矿2021年矿山储量年报
评论
0/150
提交评论