


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、科学计算器设计报告学院材料学院班级材料074学号072008姓名孙红楠成绩、设计思路1. 要达到的目的 培养利用VB的标准控件进行应用程序设计的能力,培养综合利用VB语言进行程序设计的能力。 练习如何使用键盘输入数据。 了解各个控件属性,培养对控件属性的设置。加强对控件使用的熟练程度。 练习使用子函数及子程序。2. 尖键问题的解决 对于计算器,首要问题就是就是对数据的运算,这里是通过运用了控件数组calu(),speci()等以求提高代码的利用率,简化程序。对运算设置了子程序Sub cacul(op1, op, op2)Sub cacul(op1, op, op2)Select Case op
2、Case 0op1 = op1 + op2Case 1op1 = op1 op2Case 2op1 = op1 * op2Case 3If op2 = 0 Then MsgBox 0 不能做除数, vbCritical: Exit Subop1 = op1 / op2End SelectEnd Sub对于其他功能键则采取了分别编译的方法,分别编写其功能。此外窗体支持彩色按钮以此区分不同的功能区。 数字的输入要有指定的格式,使其符合规范i = Len( xia nshi)If InStr(xianshi,”.”)ThenDo While Mid(xia nshi, i, 1) = ,0,fi =
3、 i - 1LoopIf Mid(xianshi.Caption, i, 1) = Then i = i -1xia nshi = Left(xia nshi, i)End If对每个数字键都要对应相应数字的输入,由控件数组n um()编译较简单明确。且最基本的就是每个按一个键就在原基础上加一个数字:xian shi = xia nshi & CStr(l ndex),但对于在运算符或等号之后输入的数就要进行相应的别的设置,由此应加上一个记号,判断属于哪种方式的输入,在此程序中m和z完成此项功能。特别地,对于小数点的使用,要按输入时的显示习惯:在输入非零数字后不应该再显示前导0,输入非零数字前
4、无论输入多少个0律不显示,输入 1以下的小数时,不需要输入成“0.” ,直接输入“”即可。为此应用字符的查找方法判断输入数中是否含有小数点,然后分别进行相应设置,设置如下If Not z Then If lnStr(xianshi, Then Exit SubIf z The nxia nshi = “0”z = FalseEnd Ifxia nshi = xia nshi +值得特别注意的是,在什么情况下按数字键输入新的数字,在什么情况下是对原数字上的添加。此时就用到了逻辑变量z: z如果是false那么此数需要继续输入,如果是true则这个数输入完毕,可以输入下一个数。 还有一个重要方面就
5、是对数字输出格式的设置,使其符合平时的书写显示习惯。对此,设置了规范最后输出数据的形式的子函数Fun ction myfun ctio n() 此程序支持直接使用小键盘上的数字键和运算符键进行运算,功能和用鼠标点击相应的按钮等效。每当有键按下时,就会发生该事件,运用了程序Private Sub Form_KeyDow n( KeyCode%,Shift%)鼠标事件。、模块之间的调用尖系,或程序流程图三、部分程序矢键源代码及注释 清除按键设置(保留基本键0)Private Sub CE_Click()If Len( xia nshi) 0 Then xia nshi = Left(xia nsh
6、i, Len( xia nshi) 1),只要大于0就清除最后一位If xianshi = ,H Then xianshi = ”0”: z = True,如果为空,则把 0 赋给xia nshiEnd Sub 规范最后输出数据的形式的子函数 Function myfunction(t As Double) As String Dim s As Strings = Format(t, “#0.0#”)将数据转变成规定格式的字符串形式If Right(s, 2) = ”.0”Then s = Left(s, (Len(s) - 2)将整数后的.0 ”去掉myfunction = sEnd Fun
7、ction 1运算符的设置Dim i As Byte在进行运算前,将数据变成习惯形式Dim t As Doublei = Len (xianshi)If lnStr(xianshi,)Then 运用字符串的查找判断是否含小数点.八、Do While Mid(xianshi, i, 1) = n0Hi = i - 1 Loop If Mid(xianshi.Caption, i, 1) = Then i = i -1 xianshi = Left(xianshi, i) End If t = Val(xianshi)lfm = 1 Then设计记号进行存储n(1) = t c(1) = Inde
8、x m = 2Elself Index 1 And Index 1) Then 对加减法进行运算或者乘除,算术优先级Call cacul(n(m 1), c(m 1),t)c(m 1) = Indexxianshi = myfunction(n(m 1)Elsen(m) = Val(xianshi): c(m) = Index: m = m + 1 为其他计算纪录数据 End If z = True End Sub四、设计方案的完善及目前存在的问题1设计方案要完善的地方 支持运算符的优先级。 支持括号。 增加进制转换功能,结果可以以2、8、10、16进制进行显示 加统计功能,如平均值,方差,标
9、准偏差等2.目前存在的问题 取整函数只对正数起作用。 程序太长五、本次设计的收获及心得体会经过这一个学期VB的学习,我由不知老师所云到开始享受自己编译的程序在眼底运行,我觉得自己有所进步, 也享受到了成功的乐趣,特别是这次看到自己竟能把一套完整的程序编译出来,由衷感到欣慰和兴奋(原来计算机上 一个又一个神奇的窗口和功能是这样出现的)。本来觉得自己对书本上的VB简单应用已经掌握了,但由这次,我发 现自己还真的存在很多不足,同时感觉的应用还真是博大精深。拿到本次的课程设计,不由的心虚了,自己确实还差 得很远。在这一周里经过了对VB的查找和询问,确确实实的学到了很多东西。其实一个人的力量真的是很微弱
10、,本次课程设计的完成不是我一个人的功劳,其间参考了老师做的范例,请教了老 师很多问题,也借助网络查找了一些资料,特别是在对键盘输入编译的部分我在一知半解的情况下粘上了自己的查找资 料。通过本次的课程设计,不仅使我在知识上有了很大增长,也使我对待学问的态度又很跟大转变,而且这次设计的时 间安排挺紧,挺锻炼心理素质,我对自己承接事务的信心增长了。只要努力,没有做不了的事! !六、对该题目和VB设计的意见和建议1 对该题目的意见和建议本人觉得这道题目特别好,拿到它之后就有一个挺明确的思路,知道从何做起。个人而言,这道题不是很简单,而 且各项要求也比较多。要求的控件比较多,设计起来有点乱,而且它们还必须要组成一个系统的整体。但是通过老 师的范例,确实是自己有了个比较明确的思路。此后便可按部就班的一点一点的攻克了,这个题目特别好,它跟平 时课上的内容联系紧密,并不需要花费太多的时间去查找课程之外的资料。但又有一部分不通过查
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 离婚协议中子女抚养费、监护及探望权明确合同
- 生态修复工程种树土地租赁与植被重建合作协议
- 离婚协议补充协议正本及子女抚养权变更及探望权协议
- 离婚协议公证在调解离婚纠纷中的实际效果评估
- 城市核心区域离婚房产分割及补偿协议
- 新能源科技公司股东个人股权转让及环保责任协议
- 主题公园内商户租赁合同范本:景区商业合作租赁协议
- 班长安全培训内容课件
- 个人素养提升培训
- 高校师生安全培训
- 青岛版二年级下册万以内数的加减法竖式计算300题及答案
- 2024年天津港集团有限公司招聘笔试参考题库附带答案详解
- 传统体育运动在小学课堂中的应用课件教案
- 类脑计算与神经网络
- 手术授权申请表
- 2023年度全国出版专业技术人员职业资格考试-基础知识(初级)试题
- 2023届高考语文备考之整句与散句变换(10道真题含答案)
- 灌注桩后注浆施工记录
- 食品样品的采集和预处理-食品样品的采集与制备
- 昆明元朔建设有限公司高速收费岗位笔试题
- 2023医疗机构信息系统等级保护定级工作指南
评论
0/150
提交评论