vb计算器课程设计报告.doc_第1页
vb计算器课程设计报告.doc_第2页
vb计算器课程设计报告.doc_第3页
vb计算器课程设计报告.doc_第4页
vb计算器课程设计报告.doc_第5页
免费预览已结束,剩余9页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课 程 设 计课 程 程序设计 班 级 姓 名 学 号 指导老师: 目录一:系统开发环境3二、功能描述4三、概要设计:设计流程框图4四、各功能模块的实现过程,所用到的算法巧等:5五、运行界面(运行效果):5六、心得体会6七、附录(程序)8八、参考文献14九、本人在该组中完成的部分14十、进度安排14一:系统开发环境 系统开发环境包括硬件平台和软件平台两种。硬件平台是指开发与运行所需要的硬件环境,主要包括计算机机型及硬件配置。由于本系统是一个小型的MIS管理系统,因此对计算机硬件的要求不高,比较经济,只要配备有P处理器(或以上)、256M内存(或以上)、20G硬盘(或以上)的普通微机即可顺利运行。软件平台是指系统开发与运行的软件环境。本系统在开发时选用了稳定性较强的Windows XP中文专业版和Visual Basic6.0作为开发语言,同时选用了Access数据库,由于这些软件产品都是Microsoft公司的产品,因此彼此之间的兼容性较好,开发出的应用系统稳定性较高。Visual Basic 6.0具有可视化的开发环境,可以快速完成系统的开发,内部集成的数据库访问通道,使得可以轻松方便的对数据库管理。数据库采用Microsoft Access,由于我们的系统要求,采用它完全可以适合我们的工作需求,并且它所支持的数据类型十分丰富,维护简便,费用比较低,人员素质要求不是很高,容易升级。本系统在单机上运行。二、功能描述使用vb设计科学型计算器,功能介于科学型和简单型之间要求能进行加减乘除和开方,乘方,求对数,三角函数计算,可以存储与调出数据。三、概要设计:设计流程框图 统计框数据的处理保存调出清除基本运算进制之间的转换科学计算器特殊功能平均值标准误差求和+-*科学计数法三角函数的运算阶乘倒数乘方对数函数角度弧度梯度指数四、各功能模块的实现过程,所用到的算法巧等:1.sin、cos、tan按钮分别求某个数值/角度/弧度的正弦、余弦、正切、反正切值2.Exp按钮分别返回e的x次幂和取0,999999999)之间的随机数,而mod保证了随机数是整数3.角度、弧度按钮计算sin、cos、tan时进行转换4.+ 、-、*、/实行加减乘除五、运行界面(运行效果): 运行界面 实现3+4=7功能 实现9的开方功能 实现30度余弦值功能六、心得体会我们组要设计一个程序,题为:计算器程序设计。既为计算器,我们编写后的程序代码,就必须实现平常计算器能够实现的基本功能。基本功能:基本的加,减,乘,除,开方等简单运算。通过向老师请教,我们设计的计算器不但得实现上述功能,而且还需要实现进制间的相互转换,像一些基本函数(SIN,COS,TAN),我们设计的计算器也应该轻易的得到使用者想要得到的答案。为顺利完成老师布置的任务,我们三个人不得不做一个详细的规划,以便能够及时高效率地交上作品。第1天,老师给我们讲了一些基本操作和注意事项,接下来的时间就只能靠我们自己了。而我们第一天的任务就是要完成简单的加,减,乘除运算的窗口设计和代码编写。幸运的是,这些程序代码都是能够在图书馆找到资料的。于是,我们反复输入数据都能够快速得到正确答案,自豪感不言而喻。第2天,我们要完成的任务是有关三角函数的问题,虽然代码也有,但对于我们初学者来说,还是有一定难度的。我们去图书馆搜集了好多资料。我们应该说第一次遇到了真正的挑战,我们不得不运用自己知道的VB知识进行修改和完善。通过这次短暂的VB实训,我看到了自己的不足,也学会了更加真确的看待自己。在本次设计中,在本设计的设计和制作过程中,很多同学、老师都热心地帮助了我,尤其是指导老师给予我悉心指导和帮助,自始至终关心督促毕业设计进程和进度,帮助解决毕业设计中遇到的许多问题,还不断向我们传授分析问题和解决问题的办法,并指出了正确的努力方向,使我在毕设过程中少走很多弯路。在此向老师和同学表示深深的感谢! 再次感谢所有给予我支持、鼓励和帮助的人!七、附录(程序)Public choice As StringPublic current As DoublePublic prev As DoublePublic counter As IntegerPrivate Declare Sub Sleep Lib kernel32 (ByVal dwMilliseconds As Long)Private Sub ac_Click() Text1.Text = prev = current = 0End SubPrivate Sub asterisk_Click() Text1.Text = choice = * prev = current current = 0End SubPrivate Sub Command1_Click(Index As Integer) Text1.Text = Text1.Text & Command1(Index).Caption current = Text1.Text asterisk.Enabled = True equal.Enabled = True expo.Enabled = True logn.Enabled = True logten.Enabled = True minus.Enabled = True plus.Enabled = True sign.Enabled = True slash.Enabled = True sroot.Enabled = True tangent.Enabled = True cosine.Enabled = True sine.Enabled = TrueEnd SubPrivate Sub Command3_Click() Dim MyAngle, MyHSin MyAngle = 1.3 定义角度(以弧度为单位) MsgBox (Exp(MyAngle) - Exp(-1 * MyAngle) / 2 计算双曲正弦函数值(sin())End SubPrivate Sub cosine_Click() Text1.Text = Cos(current * 3.14159265358979 / 180) current = Cos(current * 3.14159265358979 / 180)End SubPrivate Sub equal_Click() If choice = + Then current = prev + current Text1.Text = current ElseIf choice = - Then current = prev - current Text1.Text = current ElseIf choice = * Then current = prev * current Text1.Text = current ElseIf choice = / And current 0 Then current = prev / current Text1.Text = current Else Text1.Text = Press AC to continue dz.Visible = True dz.Caption = Division by ZERO End If If current 0 Then sroot.Enabled = False Else sroot.Enabled = True End IfEnd SubPrivate Sub expo_Click() Text1.Text = Exp(current) current = Exp(current)End SubPrivate Sub expo10_Click() Dim i As Integer Dim j As Double j = current current = 1 For i = 1 To j Step 1 current = current * 10 Next i Text1.Text = currentEnd SubPrivate Sub invcos_Click() Dim temp As Double temp = current * 3.14159265358979 / 180 If (temp = -1) Then Text1.Text = 1 / Cos(temp) current = 1 / Cos(temp) End If invsine.Visible = False invcos.Visible = False invtan.Visible = False expo.Visible = False expo10.Visible = FalseEnd SubPrivate Sub invsine_Click() Dim temp As Double temp = current * 3.14159265358979 / 180 If (temp = -1) Then Text1.Text = 1 / Sin(temp) current = 1 / Sin(temp) End IfEnd SubPrivate Sub invtan_Click() Text1.Text = 1 / Tan(current * 3.14159265358979 / 180) current = 1 / Tan(current * 3.14159265358979 / 180) invsine.Visible = False invcos.Visible = False invtan.Visible = False expo.Visible = False expo10.Visible = FalseEnd SubPrivate Sub logn_Click() On Error GoTo ToExit 打开错误陷阱 - Text1.Text = Log(current) current = Log(current) - Exit Sub -ToExit: Resume NextEnd SubPrivate Sub logten_Click() On Error GoTo ToExit 打开错误陷阱 - Text1.Text = Log(current) / Log(10) current = Log(current) / Log(10) - Exit Sub -ToExit: Resume NextEnd SubPrivate Sub mode_MouseDown(Button As Integer, shift As Integer, X As Single, Y As Single) counter = counter + 1 If counter 2 Then counter = 1 End If If counter = 2 Then displaylb.Caption = Normal Calculator displaylb.ForeColor = &HFFC0C0 Form1.Width = 4830 sine.Visible = False cosine.Visible = False tangent.Visible = False logn.Visible = False logten.Visible = False random.Enabled = False random.Visible = False shiftb.Visible = False recall.Visible = False Else displaylb.Caption = Scientific Calculator displaylb.ForeColor = &HC0& Form1.Width = 5670 sine.Visible = True cosine.Visible = True tangent.Visible = True logn.Visible = True logten.Visible = True random.Enabled = True random.Visible = True shiftb.Visible = True recall.Visible = True End IfEnd SubPrivate Sub point_Click() If Text1.Text = Then Text1.Text = 0. Else Text1.Text = Text1.Text & . End IfEnd SubPrivate Sub random_Click() Text1.Text = (2.1021020134 * Rnd + 1)End SubPrivate Sub recall_Click() Text1.Text = currentEnd SubPrivate Sub shiftb_Click() invsine.Visible = True invcos.Visible = True invtan.Visible = True expo.Visible = True expo10.Visible = True If Text1.Text = -1 Then invsine.Enabled = True invcos.Enabled = True End If invtan.Enabled = True expo.Enabled = True expo10.Enabled = TrueEnd SubPrivate Sub sign_Click() If current 0 Then Text1.Text = -current current = -current Else Text1.Text = - & Text1.Text current = -current End If If current 0 Then sroot.Enabled = False Else sroot.Enabled = True End IfEnd SubPrivate Sub minus_Click() Text1.Text = choice = - prev = current current = 0End SubPrivate Sub plus_Click() Text1.Text = choice = + prev = current current = 0End SubPrivate Sub sine_Click() Text1.Text = Sin(current * 3.14159265358979 / 180) current = Sin(current * 3.14159265358979 / 180)End SubPrivate Sub slash_Click() Text1.Text = choice = / prev = current current = 0End SubPrivate Sub sroot_Click() Text1.Text = Sqr(current) current = Sqr(current)End SubPrivate Sub ta

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论