



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、. 科学计算器设计报告学院 材料学院 班级 材料074 学号 072008 姓名 孙红楠 成绩 一、设计思路1.要达到的目的 培养利用VB的标准控件进行应用程序设计的能力,培养综合利用VB语言进行程序设计的能力。练习如何使用键盘输入数据。了解各个控件属性,培养对控件属性的设置。加强对控件使用的熟练程度。练习使用子函数及子程序。2.关键问题的解决 对于计算器,首要问题就是就是对数据的运算,这里是通过运用了控件数组calu(),speci()等以求提高代码的利用率,简化程序。对运算设置了子程序Sub cacul(op1, op, op2) Sub cacul(op1, op, op2) Selec
2、t Case op Case 0 op1 = op1 + op2 Case 1 op1 = op1 - op2 Case 2 op1 = op1 * op2 Case 3 If op2 = 0 Then MsgBox "0不能做除数", vbCritical: Exit Sub op1 = op1 / op2 End SelectEnd Sub 对于其他功能键则采取了分别编译的方法,分别编写其功能。此外窗体支持彩色按钮以此区分不同的功能区。 数字的输入要有指定的格式,使其符合规范i = Len(xianshi) If InStr(xianshi, "."
3、) Then Do While Mid(xianshi, i, 1) = "0" i = i - 1 Loop If Mid(xianshi.Caption, i, 1) = "." Then i = i - 1 xianshi = Left(xianshi, i)End If对每个数字键都要对应相应数字的输入,由控件数组num()编译较简单明确。且最基本的就是每个按一个键就在原基础上加一个数字:xianshi = xianshi & CStr(Index),但对于在运算符或等号之后输入的数就要进行相应的别的设置,由此应加上一个记号,判断属于哪种
4、方式的输入,在此程序中m和z完成此项功能。特别地,对于小数点的使用,要按输入时的显示习惯:在输入非零数字后不应该再显示前导0,输入非零数字前无论输入多少个0一律不显示,输入1以下的小数时,不需要输入成“0.”,直接输入“.”即可。为此应用字符的查找方法判断输入数中是否含有小数点,然后分别进行相应设置, 设置如下If Not z Then If InStr(xianshi, ".") Then Exit Sub If z Then xianshi = "0" z = False End Ifxianshi = xianshi + "."
5、值得特别注意的是,在什么情况下按数字键输入新的数字,在什么情况下是对原数字上的添加。此时就用到了逻辑变量z:z 如果是 false 那么此数需要继续输入,如果是true 则这个数输入完毕,可以输入下一个数。 还有一个重要方面就是对数字输出格式的设置,使其符合平时的书写显示习惯。对此,设置了规范最后输出数据的形式的子函数Function myfunction()此程序支持直接使用小键盘上的数字键和运算符键进行运算,功能和用鼠标点击相应的按钮等效。每当有键按下时,就会发生该事件,运用了程序Private Sub Form_KeyDown(KeyCode%, Shift%) 鼠标事件。调用调用For
6、m1其他控件特殊函数caculmyfunction等号,运算符myfunction二、模块之间的调用关系,或程序流程图三、部分程序关键源代码及注释'清除按键设置(保留基本键0)Private Sub CE_Click() If Len(xianshi) > 0 Then xianshi = Left(xianshi, Len(xianshi) - 1) 只要大于0就清除最后一位If xianshi = "" Then xianshi = "0": z = True如果为空,则把0赋给xianshiEnd Sub'规范最后输出数据的形
7、式的子函数Function myfunction(t As Double) As StringDim s As String s = Format(t, "#0.0#")将数据转变成规定格式的字符串形式 If Right(s, 2) = ".0" Then s = Left(s, (Len(s) - 2)将整数后的“.0”去掉 myfunction = sEnd Function运算符的设置Dim i As Byte在进行运算前,将数据变成习惯形式 Dim t As Doublei = Len(xianshi) If InStr(xianshi, &qu
8、ot;.") Then 运用字符串的查找判断是否含小数点 Do While Mid(xianshi, i, 1) = "0" i = i - 1 Loop If Mid(xianshi.Caption, i, 1) = "." Then i = i - 1 xianshi = Left(xianshi, i)End Ift = Val(xianshi)If m = 1 Then 设计记号进行存储 n(1) = t c(1) = Index m = 2ElseIf Index < 2 Or (c(m - 1) > 1 And Inde
9、x > 1) Then '对加减法进行运算或者乘除,算术优先级 Call cacul(n(m - 1), c(m - 1),t) c(m - 1) = Index xianshi = myfunction(n(m - 1)Else n(m) = Val(xianshi): c(m) = Index: m = m + 1 '为其他计算纪录数据End Ifz = TrueEnd Sub四、设计方案的完善及目前存在的问题1设计方案要完善的地方支持运算符的优先级。支持括号。增加进制转换功能,结果可以以2、8、10、16进制进行显示。加统计功能,如平均值,方差,标准偏差等。2. 目
10、前存在的问题 取整函数只对正数起作用。 程序太长五、本次设计的收获及心得体会经过这一个学期VB的学习,我由不知老师所云到开始享受自己编译的程序在眼底运行,我觉得自己有所进步,也享受到了成功的乐趣,特别是这次看到自己竟能把一套完整的程序编译出来,由衷感到欣慰和兴奋(原来计算机上一个又一个神奇的窗口和功能是这样出现的)。本来觉得自己对书本上的VB简单应用已经掌握了,但由这次,我发现自己还真的存在很多不足,同时感觉 的应用还真是博大精深。拿到本次的课程设计,不由的心虚了,自己确实还差得很远。在这一周里经过了对VB的查找和询问,确确实实的学到了很多东西。其实一个人的力量真的是很微弱,本次课程设计的完成
11、不是我一个人的功劳,其间参考了老师做的范例,请教了老师很多问题,也借助网络查找了一些资料,特别是在对键盘输入编译的部分我在一知半解的情况下粘上了自己的查找资料。通过本次的课程设计,不仅使我在知识上有了很大增长,也使我对待学问的态度又很跟大转变,而且这次设计的时间安排挺紧,挺锻炼心理素质,我对自己承接事务的信心增长了。只要努力,没有做不了的事!六、对该题目和VB设计的意见和建议1. 对该题目的意见和建议本人觉得这道题目特别好,拿到它之后就有一个挺明确的思路,知道从何做起。个人而言,这道题不是很简单,而且各项要求也比较多。要求的控件比较多,设计起来有点乱,而且它们还必须要组成一个系统的整体。但是通过老师的范例,确实是自己有了个比较明确的思路。此后便可按部就班的一点一点的攻克了,这个题目特别好,它跟平时课上的内容联系紧密,并不需要花费太多的时间去查找课程之
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 产业园区租赁运营合作协议书及要点
- 金融投资合规培训
- 员工离职管理保密协议
- 环保技术转让与合作协议
- 车辆占用协议书范本
- 车间行车梁安装合同协议
- 未交就业协议书
- 车房转让协议书合同
- 款项代收协议书
- 水井共用协议书
- 2024春期国开电大思政课《中国近现代史纲要》在线形考(专题检测一至八)试题及答案
- 2024年上海市行政执法类公务员招聘笔试参考题库附带答案详解
- 全过程工程咨询服务项目管理服务方案
- 2024年安徽皖丰长能投资有限责任公司招聘笔试参考题库附带答案详解
- 复方氨基酸注射液(17AA-II)-临床用药解读
- 客房服务员:高级客房服务员考试题
- 贫血中医辨证分析
- PLC的故障排除与维护技巧与方法
- 2019版新人教版高中英语必修+选择性必修共7册词汇表汇总(带音标)
- 跨行业合作与创新
- 微波技术与天线实验3利用HFSS仿真分析矩形波导
评论
0/150
提交评论