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