1、 年 月 日目 录摘要 - 2 -1 引言 - 3 -1.1 选题背景 - 3 -1.2 任务与分析 - 3 -2 方案设计 - 4 -3 界面设计 - 4 -4 代码设计及程序调试 - 5 -5 软件使用说明 - 6 -总结与体会 - 12 -致谢 - 14 -参考文献 - 15 -摘 要 随着计算机的不断更新发展,计算器扮演着极为重要的角色, Windows环境下的Visual Basic提供了丰富的图形功能。本文主要通过对方案设计、界面设计、代码编写及调试以及软件使用说明等的介绍,介绍了作者利用Visual Basic对“简易计算器”应用软件的开发设计过程,并分析了所开发软件系统的优点和
2、不足。关键词:Visual Basic 简易计算器 程序设计 1 引 言 1.1 选题背景 通过一年来对Visual Basic 高级语言程序设计的学习,我已经掌握了一些常用的控件的使用方法,对简单的程序设计的常用算法也有了一定的了解,还掌握了对图形和动画的一些基本操作。为了进一步加深理解、验证、巩固课堂教学内容,加深对可视化编程思想的理解,强化Visual Basic对程序流程控制、常用控件的属性、事件、方法的理解和使用;为了进一步提高编程能力、程序的调试能力,理论联系实际的能力;巩固所学的这些程序设计的方法,为了达到后续课程对实际编程计算能力的要求,特选定“简易计算器”这个小题目作为课程设
3、计实践教学环节的题目,有助于培养综合运用所学知识解决实际问题的能力,可以充分发挥想象力和创新能力;有助于提高独立思考能力,和自学能力。1.2 任务与分析 本软件应具有运算加减乘除四则基本运算,其中涉及到了VB的很多知识点,例如:在界面设计中应熟悉掌握各个控件的属性,各种循环语句,选择语句,控件组等等。有助于培养综合运用所学知识解决实际问题的能力,可以充分发挥想象力和创新能力;2 方案设计 本软件按照一般计算器的界面以及功能设计,具有最为基础的加减乘除四则运算。先建立一个新的项目文件,里面包含一个Form1的窗体。然后,添加控件,包括一个Text框(Text1)。一个控件数组,包含17个按钮,这
4、17个按钮使用的名称都是Command1,只是Index属性不同。按下数字键在液晶屏上会出现数字,这是最基本的功能。第一次按下运算键,再按下数字键,将重新输入第二个数字,再次按下运算键,将算出前两个数的结果,然后按下数字键,将又重新输入新的数字。输入数字后,按下“等于键”将仍输出原来的数字,输入运算符和第二个数字后在按下“等于”,将得到二者的结果。然后又重复第二、三步。 按下“清除”,数据被全部清除。所以还将运用到赋值。3 界面设计控件名称属性Command1(0Command1(11Command1(22Command1(33Command1(44Command1(55Command1(66
5、Command1(77Command1(88Command1(10.Command1(11=Command1(12+Command1(13-Command1(14*Command1(15/Command1(16ACText1“”Image4 代码设计及程序调试1. 先在General里声明窗体级全局变量: Dim Num1, Num2 As SingleDim StrNum1, StrNum2 As StringDim FirstNum As Boolean 判断是否是数字开头2. 字符型变量转变为实型变量因为Text1里是存放字符串的,所以要把输入的数据进行运算,必须把字符型变量转变为实型变
6、量,分别用Num1、Num2和StrNum1、StrNum2进行存放。 在Form_Load事件里给变量初赋值:Num1 = 0Num2 = 0StrNum1 = StrNum2 = FirstNum = True3. Select Case语句区分各个按钮因为17个按钮使用的是同一事件,所以我们用一个Select Case语句区分各个按钮,双击任意按钮输入代码:Private Sub Command1_Click(Index As IntegerSelect Case IndexCase 0 To 9If FirstNum ThenStrNum1 = Str(Index实型转字符型First
7、Num = False初赋值为假Else非初赋值StrNum1 = StrNum1 + Str(IndexEnd IfText1.Text = StrNum1显示End SelectEnd Sub4. 处理小数点。在General里声明新的变量:Dim PointFlag As Boolean 判断是否已有小数点在Form_Load里进行初赋值:PointFlag = False在Command的单击事件里接着上面输入新的代码:Case 10If Not PointFlag Then如果没有小数点If FirstNum Then如果是第一个字符0.FirstNum = FalseElseStr
8、Num1 = StrNum1 + .Else已有小数点Exit Sub则退出单击事件PointFlag = TrueText1.Text = StrNum15. 处理四则运算:先在General里声明新变量:Dim Runsign As Integer 储存运算符号Dim SignFlag As Boolean 判断是否已有运算符号然后在Form_Load中进行初赋值:Runsign = 0SignFlag = False在接下的Command1_Click中继续输入代码:Case 12 To 15FirstNum = True使下一次可以输入新数据还原标记值If SignFlag Then前
9、面已有运算符未运算Call RunSignFlag = TrueStrNum2 = StrNum1把字符串1复制给字符串2字符串1清空Runsign = Index - 11 储存键入的运算符里面运算的部分我用了一个过程,是因为在按下等号时还会调用到运算过程,这样可以减少代码的输入,也使程序便于浏览。建立过程(Procedure),可以在General部分直接输入,也可以通过菜单里的“Add Procedure”添加。Run的代码如下:Sub Run(Num1 = Val(StrNum2Num2 = Val(StrNum1Select Case RunsignCase 1加equal = Nu
10、m1 + Num2Case 2减equal = Num1 - Num2Case 3乘equal = Num1 * Num2Case 4除equal = Num1 / Num2StrNum2 = Str(equalStrNum1 = StrNum2Text1.Text = StrNum26. 下面是其余的代码:(在Command1_Click事件里,接着写Case 11If Not SignFlag Thenequal = Val(StrNum1Case Else清除按钮Call ClearData里面又用到了一个ClearData过程,实际上就是Form_Load里的变量初赋值,代码如下:Su
11、b ClearData(Text1.Text = 下面给出完整的程序代码:Case 1Case 2Case 3Case 4StrNum1 = Str(IndexIf Not PointFlag ThenExit SubIf SignFlag ThenStrNum2 = StrNum1Runsign = Index - 11Case ElsePrivate Sub Form_Load(5 软件使用说明本软件使用十分简单,按照普通计算器的使用方法即可。先按下需要计算的第一个数字,再按下运算符号,再按下第二个计算数字,最后按下等号即可得到运算结果。总结与体会本段具体内容为本次课程设计整体上的总结与体
12、会,可包含所设计软件的优点和不足的分析,遇到的困难及解决方法等。例如:在这个系统课设创作的过程中,我学会了基本的VB编程技能,对软件制作也有了初步的了解。同时也遇到了种种困难,体验到了编程的艰辛。在实现“车次查询”的过程中,语句格式不清楚,无法与数据库实现链接。点击“查询”后,无法显示车站序列名。后来,我们通过相互讨论及查询相关资料,细心检查语句。不断使逻辑和格式趋于完善。最终,问题得以解决。软件的制作是一件辛苦而费力的工作,但在老师和同学的帮助下,我不但按时完成,而且从中学到了许多课本上没有的东西,首先是团队的合作精神。现代软件的制作不是一个人可以完成的,个人始终需要集体的支持。在遇到困难时
13、,大家集中在一起进行分析讨论,共同解决。其次是学习与实践的关系。在课本上学到了VB程序的基础知识。但在实践中,需要大量的拓展知识。我们在理解书本知识的基础上,查阅了大量的书籍,不仅找到了问题的解决方法,而且优中取优,尽量选取最简方法,从而促进了我们VB知识的提高。或者:在设计过程中,我通过查阅大量有关资料,与同学交流经验和自学,并向老师请教等方式,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。在整个设计中我懂得了许多东西,大大提高了自己的动手能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。虽然这个设计做的也不太好,但是在设计过程中所学到的东西是这次毕业设计的最大收获和财富
14、,使我终身受益。当然,我也深刻地体会到从理论到实践是很难的过程,每一个参数的选择都需要仔细地思考,稍微差一点就会使计算的结果相差很远。还有就是在编程的过程中,需要学习很多以前没有学过的有关知识。在设计中会遇到很多的困难,其主要的原因如下:(1)对所学过的相关知识不是很熟练,不会灵活应用;(2)缺乏实践经验,不会理论联系实际;(3)思维不是很灵活;(4)在设计的时候不够认真仔细;(5)知识面不够广;(6)对VB编程不是很熟练,有很多的方法不会应用。通过本次的毕业设计,要吸取一定的经验,在以后的学习和工作当中就要更加的认真仔细,尽量不让不该发生的错误发生,也更应该增加实践经验和灵活的思维方法,当然
15、,努力学习还是首要的任务,因为只有有了很牢固的知识后才能让我们做什么事都游刃有余,胸有成竹。这次的毕业使我的计算能力,绘图能力,应用VB编程的能力,应用资料、手册、标准的能力都得到了很大的提高。虽然,在设计的过程中遇到了很多的问题,最后每个问题都得到解决的时候,有种如释重负的感觉,心里充满了成就感。此外,我还得出一个结论:知识必须通过应用才能实现其价值!有些东西以为学会了,但真正到用的时候才发现是两回事,所以我认为只有到真正会用的时候才是真的学会了。致 谢在此,特别感谢在试验设计中帮助过自己的张诗波老师,以及我们寝室的各位成员,感谢他们对自己在设计过程中遇到困难时给予的帮助。以及XX上热心的网友给予的帮助。【参考文献】1 杨明广.王秀华. Visual Basic程序设计教程M.北京:中国科学技术出版社,20062 王秀华.余建坤. Visual Basic程序设计上机和级考实训教程M.北京:3 郭瑞军.Visual Basic数据库开发实例精粹M.北京:电子工业出版社,2003
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1