计算器报告书VBWord文件下载.docx
- 文档编号:20890033
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:45
- 大小:466.37KB
计算器报告书VBWord文件下载.docx
《计算器报告书VBWord文件下载.docx》由会员分享,可在线阅读,更多相关《计算器报告书VBWord文件下载.docx(45页珍藏版)》请在冰豆网上搜索。
1、对系统进行功能需求分析
2、设计合理的数据结构和系统框架
3、界面设计美观、清楚、合理
4、编程简练,程序功能齐全,能正确运行
5、具有一定的创新性
6、说明书、流程图要清楚
7、课题完成后必须按要求提交课程设计报告
任务:
1能够完成数值常数的四则运算及其他函数的求值运算包括sin,cos,tan,exp,log,ln,sqr,1/x,以及常数e和园周率π。
2支持键盘快捷运算(仅要求数字及运算符)。
3因为控件数目较多,要求采用控件数组,以减少事件处理的复杂程度,使程序简洁高效。
4出错处理:
操作数如果不符合数学上的定义,应该给出错误信息。
例:
0做除数,负数或0做真数等情况。
3.课程设计说明书
功能描述
1此程序增加了一个Form2窗体。
当在Form1上点击“优先级”按钮时弹出Form2窗体,以实现优先级运算,当在Form2上点击“简易科学”按钮时弹出Form1窗体,以实现简易科学计算
2可以按照题目要求进行数值的四则运算及其他特殊函数的运算。
3五个存储键可以实现数值的存取。
4在Form1窗体中支持键盘快捷运算。
5ON按钮可以进行初始化,清除内存中的数,OFF退出,CE清除显示。
6出错时有提示信息
⑵概要设计
主要写模块说明,模块结构图,系统流程图(例N-S流程图)(五号,宋体)
模块结构图:
根据功能分析,建立系统的体系结构,即将整个系统分解成若干子模块,用框图表示各功能模块之间的接口关系(如下图)。
简易文件系统功能框图
⑶详细设计
总体流程图:
各功能模块流程图:
1Selectcase流程图
2
控件数组的流程图
⑷代码实现
详细说明各功能模块的实现过程,所用到的算法、技巧等(附上代码)。
如:
本系统总共10个窗体:
form1~form10详细如下:
form1、首页
作用:
“进入应用程序”。
所用控件:
5个标签,4个时钟。
设计思路:
用时钟控制label1、2,3,4的运动。
单击label1,2,5和命令选择器可进入后面窗体,label3.无链接窗体,无label4。
详细内容:
属性较特殊的需要说明。
代码如下:
本系统总共两个窗体Form1和Form2
Form1
实现简易科学计算及一些特殊函数的计算。
40个按钮,1个文本框
①定义e时调用Function函数;
②计算三角函数时用n*3.14/180(n表示数字)进行弧度和角度的转换;
③计算对数时用公式b=Log(a)/Log(10);
④四则运算调用calc(op1,op,op2)进行计算;
⑤符号和存储键利用控件数组实现
过程代码:
Form1的代码:
Click事件的代码:
Dimn1AsInteger,n2AsInteger,n3AsInteger,n4AsInteger,n5AsInteger
Dimm1AsDouble,m2AsDouble,m3AsDouble,m4AsDouble,m5AsDouble'
五个存储键对应的存储数
DimiAsInteger,pAsInteger,op(100)AsDouble,jAsInteger,kAsInteger
DimmAsInteger,nAsInteger,uAsInteger,vAsInteger,wAsInteger
Functione(ByValoAsInteger,tAsDouble)AsDouble'
定义e函数
e=1:
t=1
Foro=1To100
t=t/o:
e=e+t
Ift<
1E-24Then
ExitFor
EndIf
Nexto
EndFunction
PrivateSubCommand1_Click(IndexAsInteger)'
设定各个按纽的功能
DimpiAsDouble,tempAsDouble,niAsDouble,kiAsDouble
DimaAsDouble,bAsDouble,cAsDouble
IfIndex=18Then'
索引初始化按钮ON
n1=0:
n2=0:
n3=0:
n4=0:
n5=0'
五个存储区都归零
Text1.Text=0'
显示区归零
i=0:
j=0:
k=1:
m=1:
n=1:
v=0:
u=0:
w=0
op(u)=Text1.Text
IfIndex=17Then'
索引结束按钮OFF
End
IfIndex=16Then'
索引清除按钮CE
Text1.Text=0
v=0:
u=0:
w=0
IfIndex=15Then'
索引等号
Ifw=1Then
Text1.Text=Text1.Text'
x显示符号
Else
Ifj=1Then'
j=1代表加
Text1.Text=op(u-1)+op(u)
ElseIfj=2Then
Text1.Text=op(u-1)-op(u)'
j=2代表减
ElseIfj=3Then
Text1.Text=op(u-1)*op(u)'
j=3代表乘
ElseIfj=4Then
Text1.Text=op(u-1)/op(u)'
j=4代表除
u=u+1'
运算数下标的累加
v=0'
防止连续连续运算时出现错误
IfIndex=1Then'
索引数字1
Ifk=0Then
Text1.Text=1
Ifm=1Then'
小数点前有一位数
Text1.Text=Text1.Text*10+1
Text1.Text=Text1.Text+1*10^(-n)
n=n+1'
小数点位数的累加
k=k+1
op(u)=Text1.Text'
初值赋给op(u)
w=0:
v=1
IfIndex=2Then'
同索引数字1
Text1.Text=2
Ifm=1Then
Text1.Text=Text1.Text*10+2
Text1.Text=Text1.Text+2*10^(-n)
n=n+1
IfIndex=3Then'
Text1.Text=3
Text1.Text=Text1.Text*10+3
Text1.Text=Text1.Text+3*10^(-n)
IfIndex=4Then'
Text1.Text=4
Text1.Text=Text1.Text*10+4
Text1.Text=Text1.Text+4*10^(-n)
IfIndex=5Then'
Text1.Text=5
Text1.Text=Text1.Text*10+5
Text1.Text=Text1.Text+5*10^(-n)
IfIndex=6Then'
Text1.Text=6
Text1.Text=Text1.Text*10+6
Text1.Text=Text1.Text+6*10^(-n)
IfIndex=7Then
Text1.Text=7
Text1.Text=Text1.Text*10+7
Text1.Text=Text1.Text+7*10^(-n)
IfIndex=8Then'
Text1.Text=8
Text1.Text=Text1.Text*10+8
Text1.Text=Text1.Text+8*10^(-n)
IfIndex=9Then'
Text1.Text=9
Text1.Text=Text1.Text*10+9
Text1.Text=Text1.Text+9*10^(-n)
IfIndex=0Then'
Text1.Text=Text1.Text*10+0
Text1.Text=Text1.Text+0*10^(-n)
IfIndex=10Then'
索引小数点
m=-1
IfIndex=11Then'
索引加号
Ifv=0Then
u=u-1
Ifj=1Then
Text1.Text=op(u-1)+op(u)
Text1.Text=op(u-1)-op(u)
Text1.Text=op(u-1)*op(u)
Text1.Text=op(u-1)/op(u)
Ifu=-1Then
u=0
k=0
i=i+1:
j=1:
m=1:
n=1:
u=u+1:
v=0
IfIndex=12Then'
索引减号
Text1.Text=op(u-1)-op(u)
Text1.Text=op(u-1)/op(u)
j=2:
i=1+i:
IfIndex=13Then'
索引乘号
j=3:
i=i+1:
IfIndex=14Then'
索引除号
Text1.Text=op(u-1)*op(u)
j=4:
IfIndex=19Then'
索引sin
a=Text1.Text
b=Sin(a*3.14/180)
Text1.Text=b
u=u+1:
v=0:
w=1
IfIndex=20Then'
索引cos
b=Cos(a*3.14/180)
IfIndex=21Then'
索引tan
b=Tan(a*3.14/180)
IfIndex=22Then'
索引exp
b=Exp(a)
Text1.Text=b
IfIndex=24Then'
索引ln
IfText1.Text=0Then
MsgBox"
0不能为真数"
ElseIfText1.Text<
0Then
负数不能为真数"
b=Log(a)
IfIndex=23Then'
索引log
0不能坐真数"
负数不能坐真数"
b=Log(a)/Log(10)
IfIndex=25Then'
索引sqr
Ifa<
负数不能开平方"
b=Sqr(a)
IfIndex=26Then'
索引1/x
分母不能为0"
b=1/a
IfIndex=28Then
'
pi=2'
求圆周率的函数
temp=2
ni=1
Do
pi=temp
ki=2*ni
temp=temp*(ki/(ki-1))*(ki/(ki+1))
ni=ni+1
LoopUntilAbs(pi-temp)<
0.000000000000001
text1.text=pi
Text1.Text=3.1415926
Text1.Text=Text1.Text*10+3.1415926
Text1.Text=Text1.Text+3.1415926*10^(-n)
IfIndex=29Then'
索引e
Text1.Text=2.732
Text1.Text=Text1.Text*10+2.732
Text1.Text=Text1.Text+2.732*10^(-n)
w=0:
v=1
IfIndex=31Then'
索引m1
Ifn1=0Then
m1=Text1.Text
Text1.Text=m1
n1=n1+1
IfIndex=32Then'
索引m2
Ifn2=0Then
m2=Text1.Text
Text1.Text=m2
n2=n2+1
IfIndex=33Then'
索引m3
Ifn3=0Then
m3=Text1.Text
Text1.Text=m3
n3=n3+1
IfIndex=30Then'
索引m4
Ifn4=0Then
m4=Text1.Text
Text1.Text=m4
n4=n4+1
IfIndex=27Then'
索引m5
Ifn5=0Then
m5=Text1.Text
Text1.Text=m5
n5=n5+1
EndSub
PrivateSubCommand2_Click()
Form1.Hide
Form2.Show
PrivateSubForm_Load()
n1=0:
n2=0:
n3=0:
n4=0:
n5=0'
五个存储数存储或输出的条件
对各个值和循环条件进行初始化
i=0:
j=0:
k=1:
w=0'
j的值对应相应的运算符,'
m是判断
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算器 报告书 VB