1、 计 算 机 课 程 设 计 报 告题目 简易计算器 系 别 物理与电子工程学院 年 级 08 专 业 电子科学与技术 班 级 电科(3)班 学 号 050208311 学生姓名 张 崇 光 指导教师 徐 健 设计时间 2009.7 常熟理工学院课程设计报告1前言1991 年 Visual Basic1.0 诞生 Visual Basic1.0 的功能非常简单,微软为他添加了 VBX 控件,而不是我们熟悉的 ocx控件,缺少数据库支持,而且此时的 vb 还是一种解释型语言,还不能生成.exe 文件。但他最大的革新是加入了事件驱动模型和可视化开发。 2、1992 年微软推出了 Visual Ba
2、sic2.0 微软在这个版本中加入了对象型变量和最原始的“继承” 概念,以及 OLE 和简单的数据访问功能,同时还有大量的第三方控件。 3、1993 年 Visual Basic3.0 发布 在这个版本中,微软添加了增加了最新的 ODBC2.0 的支持,Jet 数据引擎的支持和新版本 OLE 的支持。最吸引人的地方是它对数据库的支持大大增强了,Grid 控件和数据控件能够创建出色的数据窗口应用程序,而 Jet 引擎让 Visual Basic 能对最新的 Access 数据库快速地访问。Visual Basic 3.0 还增加了许多新的金融函数。此外还增加了相当多的专业级控件,可以开发出相当水
3、平的 Windows 应用程序。Visual Basic 3.0 是 98 年以前中国最流行的 Visual Basic 版本。 4、1995 年 Visual Basic4.0 发布 Visual Basic4.0 是一场革命,但在当时而言,这简直是场灾难,首先 vbx 控件消失了,代之的是 ocx 控件,OLE 已经不是传统的 OLE 了, Visual Basic 4.0 所用的语言换成了 Visual Basic For Application,这一切导致 VB3.0 以上版本很难移植到 VB4.0 中,但不可否认的是 Visual Basic 4.0 为 Visual Basic 成
4、为一种 COM 语言奠定了基础。 微软在这个版本中引入 COM 编程思想,比如在语言上加入了类模块以及属性过程、函数过程,子程序过程等组件开发所需的封装性特征。同时该版本的 Visual Basic 还能够开发 dll 函数,可以将书写好的类用这种方式和其他语言共享。在当时用 Visual Basic 开发 com 组件比其他任何开发语言都快捷。 5、1997 年 Visual Basic5.0 发布 这个版本的 Visual Basic 为 com 提供了最强有力的支持,同时微软还加入了一个本地代码编译器,解决了 vb4.0 中的 p代码造成的性能瓶颈问题,让应用程序的效率大大提升。Visu
5、al baisc5.0 提供了更多的面向对象支持,允许开发人员创建事件和接口,改进了类模块,支持创建自己的集合类,ActiveX 控件、进程内的 COM DLL 组件以及在浏览器中运行的 ActiveX 文档。 Visual Basic 5.0 的 IDE 支持“智能感知 ”,这是一项非常方便开发者的功能,可以不必记住很长的成员名称和关键字,只要按“.”,想要的东西统统弹出来。 6、1998 年 Visual Basic6。0 发布 Visual Basic 6.0 已经是一款非常成熟和稳定的开发系统,微软把 Visual Basic6.0 作为 vIsual studio 的一员发布的,这表
6、明微软在改变 vb 的产品定位,成为大规模企业开发的利器。在 vb6.0 中微软加入了 ado 数据访问模型,使大数据量快速访问成为可能,提高了 vb 对 n 层结构的分布式应用程序的开发能力,同时微软也为 vb 加入了开发 web 应用程序的能力。 7、2002 年 Visual B 诞生 这是 vb 的又一次革命, 新增了许多功能,vb6.0 不能实现继承,因此一直被 c+程序员指责为伪面向对象语言, 还支持多线程,引入了 trycatch 结构异常化处理。 但对 vb 程序员而言则是又一次灾难。这个版本的 vb 已经不是传统的 Visual Basic,从语言而言 Visual Basi
7、c 4.0 抛弃了Quick BASIC,采用了 Visual Basic For Application,那么 则抛弃了 Visual Basic For Application,已经成为一门全新的语言,但这个变化也吓坏了 vb 程序员, 处于一种非常尴尬的局面,一方面它有不可否认的强大功能,另一方面由于版本兼容性大量 vb 程序员转向 c#或 java,使用 的程序员远不如 vb6.0,开发商也很难从 vb6.0 转向。 从目前透露的 Visual B 2005 信息来看,Visual B2005 是值得大家期待的,在这个版本的 中,微软新增了更多的功能,如:泛型、运算符重载、Par
8、tial Type、窗体的默认实例 (让你用 VB6 的语法使用窗体)、语法的多种改进、My 关键字等,微软声称在 Visual B2005 只用一行代码就可以读写注册表、访问文件、读写串口、获取应用程序信息,能让我们象逛商店那样轻松的编程。常熟理工学院课程设计报告2目录常熟理工学院课程设计报告3第一章 选题分析常熟理工学院课程设计报告4第二章 方案设计与论证常熟理工学院课程设计报告5第三章 程序设计3.1 设计流程图3.2 源程序Option ExplicitDim num1 As Double, num2 As Double, num3 As Double, num4 As Double,
9、 num5 As DoubleDim k As Integer, i As Integer, n As Integer, y As IntegerDim num() As DoubleDim numstr1 As String, numstr2 As StringDim flag As BooleanPrivate Sub Cmd4_Click(Index As Integer) 清除和记忆按钮Select Case IndexCase 0txtDisplay = “0.“num1 = 0num2 = 0numstr1 = “numstr2 = “flag = Falsey = 0Cmd4(1
10、).Enabled = TrueCase 1txtDisplay = Str(num(i) 显示前一次的计算结果常熟理工学院课程设计报告6i = i - 1If i = -1 Then MsgBox “这已是最后一个可显示的数据,也就是您第一次的计算结果! “: Cmd4(1).Enabled = FalseEnd SelectEnd SubPrivate Sub Cmdnumber_Click(Index As Integer)Select Case IndexCase 0 To 10 数字操作If flag Thennumstr2 = numstr2 & Cmdnumber(Index).
11、CaptiontxtDisplay = numstr2num2 = Val(numstr2)Elsenumstr1 = numstr1 & Cmdnumber(Index).CaptiontxtDisplay = numstr1num1 = Val(numstr1)End IfCase 11 相反数If txtDisplay.Text “0.“ ThenIf Left(txtDisplay.Text, 1) = “-“ ThentxtDisplay.Text = Right(txtDisplay.Text, Len(txtDisplay.Text) - 1)ElsetxtDisplay.Tex
12、t = “-“ & txtDisplay.Textnumstr1 = txtDisplaynum1 = Val(numstr1)End IfEnd IfCase 12 退格txtDisplay.Text = Left(txtDisplay, Len(txtDisplay) - 1)numstr1 = txtDisplay.Textnum1 = Val(numstr1)End SelectCmd4(1).Enabled = TrueEnd SubPrivate Sub cmdOperator_Click(Index As Integer) 运算符操作y = y + 1n = cmdOperato
13、r(Index).IndextxtDisplay = “If y = 2 ThenCall jisuanEnd Ifflag = TrueCmd4(1).Enabled = TrueEnd SubPrivate Sub Command3_Click() 等号操作常熟理工学院课程设计报告7Call jisuanReDim Preserve num(k) 存储每次的计算结果num(k) = num1i = kk = k + 1Cmd4(1).Enabled = TrueEnd SubPrivate Sub jisuan()Select Case nCase 0 加num1 = num1 + num
14、2Case 1 减num1 = num1 - num2Case 2 乘num1 = num1 * num2Case 3 除If num2 = 0 Thennum1 = Sqr(num1)ElseMsgBox “被开方数不可小于零!“End IfCase 9num5 = num1num2 = num4 2 - 4 * num3 * num5If num2 = 0 ThenText1.Text = “x1=“ & (-1) * num4 + Sqr(num2) / num3 / 2Text2.Text = “x2=“ & (-1) * num4 - Sqr(num2) / num3 / 2Else
15、MsgBox “该二元一次方程无实根“End IfEnd SelecttxtDisplay = num1num2 = 0numstr2 = “numstr1 = “flag = TrueEnd Sub常熟理工学院课程设计报告8Private Function jc(ByVal a As Integer) As Integerjc = 1Do While a 1jc = jc * aa = a - 1LoopEnd FunctionPrivate Sub cmdOtherOper_Click(Index As Integer)Select Case IndexCase 2num1 = Sin(n
16、um1 * 3.1415926 / 180)Case 3num1 = Cos(num1 * 3.1415926 / 180)Case 4num1 = Tan(num1 * 3.1415926 / 180)Case 5num1 = jc(num1)Case 6num1 = Log(num1) / Log(10)Case 7num1 = Log(num1) / Log(2.718)Case 11num1 = num1 3Case 10num3 = num1num1 = 0numstr1 = “txtDisplay = “0.“Case 9num4 = num1num1 = 0numstr1 = “
17、txtDisplay = “0.“n = 9End SelecttxtDisplay = num1End SubPrivate Sub Form_Load()Form1.Width = 4185txtDisplay = “0.“End SubSub mnubianshuo_Click()frmAbout1.ShowEnd SubPrivate Sub mnublack_Click()常熟理工学院课程设计报告9Form1.BackColor = vbBlackEnd SubPrivate Sub mnublack5_Click()txtDisplay.ForeColor = vbBlackEnd
18、 SubPrivate Sub mnublue_Click()Form1.BackColor = vbBlueEnd SubPrivate Sub mnublue1_Click()txtDisplay.ForeColor = vbBlueEnd SubPrivate Sub mnubq_Click()frmAbout.ShowEnd SubPrivate Sub mnugreen_Click()Form1.BackColor = vbGreenEnd SubPrivate Sub mnugreen3_Click()txtDisplay.ForeColor = vbGreenEnd SubPri
19、vate Sub mnuh_Click()frmAbout.ShowEnd SubPrivate Sub mnuinstruct_Click()frmAbout1.ShowEnd SubPrivate Sub mnukj_Click()Form1.Width = 7050cmdOtherOper(2).Enabled = TruecmdOtherOper(3).Enabled = TruecmdOtherOper(4).Enabled = TruecmdOtherOper(5).Enabled = TruecmdOtherOper(6).Enabled = TruecmdOtherOper(7
20、).Enabled = TruecmdOtherOper(9).Enabled = FalsecmdOtherOper(10).Enabled = FalsecmdOtherOper(11).Enabled = TrueEnd SubPrivate Sub mnured_Click()Form1.BackColor = vbRedEnd SubPrivate Sub mnured2_Click()txtDisplay.ForeColor = vbRedEnd SubPrivate Sub mnusi_Click()常熟理工学院课程设计报告10Form1.Width = 4185End SubP
21、rivate Sub mnustart_Click()Form1.Width = 7050cmdOtherOper(2).Enabled = FalsecmdOtherOper(3).Enabled = FalsecmdOtherOper(4).Enabled = FalsecmdOtherOper(5).Enabled = FalsecmdOtherOper(6).Enabled = FalsecmdOtherOper(7).Enabled = FalsecmdOtherOper(9).Enabled = TruecmdOtherOper(10).Enabled = TruecmdOther
22、Oper(11).Enabled = FalseEnd SubPrivate Sub mnuyellow_Click()Form1.BackColor = vbYellowEnd SubPrivate Sub mnuyellow4_Click()txtDisplay.ForeColor = vbYellowEnd SubPrivate Sub Timer1_Timer()Label1.Caption = NowEnd Sub第四章 设计心得体会常熟理工学院课程设计报告11常熟理工学院课程设计报告12课程设计独创性声明:学生签名: 指导教师评语:课程设计成绩: 指导教师签名: 教研室意见:教研室主任签名: