vb课程设-06-072008-科学计算器

vb课程设-06-072008-科学计算器

ID:24434771

大小:45.50 KB

页数:4页

时间:2018-11-14

vb课程设-06-072008-科学计算器_第1页
vb课程设-06-072008-科学计算器_第2页
vb课程设-06-072008-科学计算器_第3页
vb课程设-06-072008-科学计算器_第4页
资源描述:

《vb课程设-06-072008-科学计算器》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、科学计算器课程设计报告(VB)编号:06科学计算器设计报告学院材料学院班级材料074学号072008姓名孙红楠成绩一、设计思路1.要达到的目的①培养利用VB的标准控件进行应用程序设计的能力,培养综合利用VB语言进行程序设计的能力。②练习如何使用键盘输入数据。③了解各个控件属性,培养对控件属性的设置。加强对控件使用的熟练程度。④练习使用子函数及子程序。2.关键问题的解决①对于计算器,首要问题就是就是对数据的运算,这里是通过运用了控件数组calu(),speci()等以求提高代码的利用率,简化程序。对运算设置了子程序Subcacul(op1,op,op2)Subcacul(op

2、1,op,op2)SelectCaseopCase0op1=op1+op2Case1op1=op1-op2Case2op1=op1*op2Case3Ifop2=0ThenMsgBox"0不能做除数",vbCritical:ExitSubop1=op1/op2EndSelectEndSub对于其他功能键则采取了分别编译的方法,分别编写其功能。此外窗体支持彩色按钮以此区分不同的功能区。②数字的输入要有指定的格式,使其符合规范i=Len(xianshi)IfInStr(xianshi,".")ThenDoWhileMid(xianshi,i,1)="0"i=i-1LoopIfMi

3、d(xianshi.Caption,i,1)="."Theni=i-1xianshi=Left(xianshi,i)EndIf对每个数字键都要对应相应数字的输入,由控件数组num()编译较简单明确。且最基本的就是每个按一个键就在原基础上加一个数字:xianshi=xianshi&科学计算器课程设计报告(VB)编号:06CStr(Index),但对于在运算符或等号之后输入的数就要进行相应的别的设置,由此应加上一个记号,判断属于哪种方式的输入,在此程序中m和z完成此项功能。特别地,对于小数点的使用,要按输入时的显示习惯:在输入非零数字后不应该再显示前导0,输入非零数字前无论输入

4、多少个0一律不显示,输入1以下的小数时,不需要输入成“0.”,直接输入“.”即可。为此应用字符的查找方法判断输入数中是否含有小数点,然后分别进行相应设置,设置如下IfNotzThenIfInStr(xianshi,".")ThenExitSubIfzThenxianshi="0"z=FalseEndIfxianshi=xianshi+"."值得特别注意的是,在什么情况下按数字键输入新的数字,在什么情况下是对原数字上的添加。此时就用到了逻辑变量z:z如果是false那么此数需要继续输入,如果是true则这个数输入完毕,可以输入下一个数。①还有一个重要方面就是对数字输出格式的设

5、置,使其符合平时的书写显示习惯。对此,设置了规范最后输出数据的形式的子函数Functionmyfunction()④ 此程序支持直接使用小键盘上的数字键和运算符键进行运算,功能和用鼠标点击相应的按钮等效。每当有键按下时,就会发生该事件,运用了程序PrivateSubForm_KeyDown(KeyCode%,Shift%)鼠标事件。调用调用Form1其他控件特殊函数caculmyfunction等号,运算符myfunction二、模块之间的调用关系,或程序流程图三、部分程序关键源代码及注释①'清除按键设置(保留基本键0)PrivateSubCE_Click()IfLen(x

6、ianshi)>0Thenxianshi=Left(xianshi,Len(xianshi)-1)‘只要大于0就清除最后一位Ifxianshi=""Thenxianshi="0":z=True‘如果为空,则把0赋给xianshiEndSub科学计算器课程设计报告(VB)编号:06② '规范最后输出数据的形式的子函数Functionmyfunction(tAsDouble)AsStringDimsAsStrings=Format(t,"###0.0#########")‘将数据转变成规定格式的字符串形式IfRight(s,2)=".0"Thens=Left(s,(Len(s)

7、-2))‘将整数后的“.0”去掉myfunction=sEndFunction③ ’运算符的设置DimiAsByte’在进行运算前,将数据变成习惯形式DimtAsDoublei=Len(xianshi)IfInStr(xianshi,".")Then‘运用字符串的查找判断是否含小数点    DoWhileMid(xianshi,i,1)="0"   i=i-1    Loop    IfMid(xianshi.Caption,i,1)="."Theni=i-1    xianshi=Left(xianshi,i)E

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。