VB计算器课程设计报告
vb科学计算器课程设计

vb科学计算器课程设计一、课程目标知识目标:1. 学生能理解并掌握VB编程环境中科学计算器的基本功能与操作。
2. 学生能运用VB编程语言实现加、减、乘、除等基本运算,并掌握科学计算器的扩展功能,如平方根、指数、对数等。
3. 学生能运用所学知识解决实际生活中的科学计算问题。
技能目标:1. 学生能够独立进行VB科学计算器的界面设计,编写程序代码实现计算功能。
2. 学生通过实际操作,提高编程解决问题的能力,培养逻辑思维和动手实践能力。
3. 学生学会使用调试工具,能够发现并修正程序中的错误,提高程序的稳定性。
情感态度价值观目标:1. 学生培养对计算机编程的兴趣和热情,激发创新意识,提高自主学习的积极性。
2. 学生通过合作交流,培养团队协作能力和沟通能力,学会分享与互助。
3. 学生在解决问题的过程中,认识到编程在科学计算领域的重要作用,树立正确的价值观,增强社会责任感。
分析课程性质、学生特点和教学要求:本课程为VB科学计算器编程,结合学生年级特点,注重知识性与趣味性相结合,以培养学生编程兴趣和动手实践能力为主。
在教学过程中,需关注学生的个体差异,因材施教,鼓励学生积极参与,注重培养团队协作和沟通能力。
教学要求明确,以学生为主体,教师为主导,实现课程目标的具体学习成果。
二、教学内容1. VB科学计算器的基本概念与功能- 熟悉VB编程环境- 了解科学计算器的基本功能与操作2. VB编程基础- 变量、常量的定义与使用- 数据类型与运算符- 程序流程控制(顺序、选择、循环结构)3. 科学计算器功能实现- 基本运算(加、减、乘、除)- 扩展功能(平方根、指数、对数)- 界面设计与事件处理4. 程序调试与优化- 使用调试工具- 识别并修正程序错误- 提高程序稳定性与执行效率5. 实践项目与案例分析- 完成一个科学计算器项目- 分析并改进现有科学计算器程序教学安排与进度:第一周:熟悉VB编程环境,学习基本概念与功能第二周:学习VB编程基础,了解程序流程控制第三周:实现科学计算器基本运算功能第四周:完成扩展功能,进行界面设计与事件处理第五周:学习程序调试与优化,分析案例第六周:完成实践项目,进行成果展示与评价教学内容与教材关联:本章节教学内容与教材中相关章节紧密关联,涵盖了《VB程序设计》教材中第二章至第五章的主要内容,确保了教学内容的科学性和系统性。
vb 简易计算器实验报告

简易计算器课程设计报告一、实验目的:模拟计算器的功能。
系统启动后, 先清屏, 再在显示屏右侧显示0字样, 系统仅接收数字键、加减乘除键、退格键、C键(复位)、=或回车键、ESC键(退出系统)作为有效按键, 其余按键不响应。
按键后屏幕显示效果要达到一般计算器显示屏的同样效果。
不要求设计一般计算器上都具有的M功能。
二、实验设计内容及思想:首先, 创建一个主体框架: 建立程序的主要界面后, 系统自动生成界面的主要窗口生成代码。
对于每个按钮的的代码段中, 分别添加事件触发的处理代码。
分别设立三个显示屏, 第一个显示屏作为“被加数”框, 第二个显示屏作为“加数”框, 第三个显示屏则作为输出框。
四则运算时直接采用计算表达式。
所以, 优先级和运算规则皆宜考虑在内。
在进行除法运算时, 若遇到除数为0, 则运用条件语句执行, 并在输出显示屏上输出“E”。
三角函数、指数、对数、整除、取余等运算, 也是运用类似手法。
考虑到计算器的操作简便性, 所以加入了复位和退出按钮。
三、源程序文件:Private Sub Command1_Click()Dim x As IntegerDim y As Integerx = Text1.Texty = Text2.TextText3.Text = x + yEnd SubPrivate Sub Command10_Click()Dim x As Integerx = Text1.TextText3.Text = Cos(x)End SubPrivate Sub Command11_Click()Dim x As Integerx = Text1.TextText3.Text = Tan(x)End SubPrivate Sub Command12_Click()Dim x As Integerx = Text1.TextText3.Text = Atn(x)End SubPrivate Sub Command13_Click() Dim x As IntegerDim y As Integerx = Text1.Texty = Text2.TextText3.Text = x ^ yEnd SubPrivate Sub Command14_Click() Dim x As Integerx = Text1.TextIf x <= 0 ThenText3.Text = "输入错误"ElseText3.Text = Log(x)End IfEnd SubPrivate Sub Command15_Click() Text3.Text = "此按钮仅作装饰用" End SubPrivate Sub Command2_Click() Dim x As IntegerDim y As Integerx = Text1.Texty = Text2.TextText3.Text = x - yEnd SubPrivate Sub Command3_Click() Dim x As IntegerDim y As Integerx = Text1.Texty = Text2.TextText3.Text = x * yEnd SubPrivate Sub Command4_Click() Dim x As IntegerDim y As Integerx = Text1.Texty = Text2.TextIf y = 0 ThenText3.Text = "E"ElseText3.Text = x / yEnd IfEnd SubPrivate Sub Command5_Click()Dim x As IntegerDim y As Integerx = Text1.Texty = Text2.TextText3.Text = x \ yEnd SubPrivate Sub Command6_Click()Dim x As IntegerDim y As Integerx = Text1.Texty = Text2.TextText3.Text = x Mod yEnd SubPrivate Sub Command7_Click()Text1.Text = ""Text2.Text = ""Text3.Text = " 0" End SubPrivate Sub Command8_Click()EndEnd SubPrivate Sub Command9_Click()Dim x As Integerx = Text1.TextText3.Text = Sin(x)End Sub源代码截图:四、运行结果演示: 加法演示:减法演示: 乘法演示:除法演示:能够整除: 不能够整除:除数为零:。
打印计算机vb设计课程实验报告1

计算机vb设计课程实验报告说明书题目:计算器、扫雷姓名:班级:指导老师:一.设计名称:基础用途计算器二.设计目的:通过vb程序设计出计算器进行一些简单运算和进制的转换。
三.计算器设计界面:四.设计步骤:1)新建一个工程2)设置控件:插入一个text1控件,font属性字号为“一号”,textAlign属性调成Right。
插入一个标签控件(Label1),设置标题属性为“进制”插入四个单选按钮,设置caption属性分别为2进制,8进制,10进制,16进制。
插入一个timer控件,将Interval属性设置为“100”添加一个command1控件数组数目为17,command1(0)至command1(9)caption属性分别设置为由0至9,command1(10)标题属性设置为“.”,command1(11)至command1(16)caption属性分别设置为A至F。
添加控件command2,caption属性为“=”添加command3控件数组数目为4,caption属性分别为“+”,“-”,“*”,“/”添加控件command4, command5, command6, command7设置标题属性分别为“CE”“SQR”“X^2”“1/X”添加部件Microsoft Windows Common Controls 6.0添加StatusBar部件,右键插入窗格,设置窗格宽度,文本。
3)编写程序代码:Dim a#, b#, x$, K%Private Sub Command1_Click(Index As Integer)Text1 = Text1 & Command1(Index).Caption End SubPrivate Sub Command2_Click()b = Val(Text1)Select Case x Case "+"M = a + b Case "-"M = a - b Case "*"M = a * b Case "/"If b <> 0 ThenM = a / bElseMsgBox "分母为0", "65", "警告"End IfEnd SelectText1 = MIf M < 1 And M > 0 Then Text1 = "0" & Text1If M > -1 And M < 0 Then Text1 = "-0" & Abs(V al(Text1))End SubPrivate Sub Command3_Click(Index As Integer)a = Val(Text1): Text1 = ""x = Command3(Index).CaptionEnd SubPrivate Sub Command4_Click()Text1 = ""End SubPrivate Sub Command5_Click()K = Val(Text1)Text1 = Sqr(K)End SubPrivate Sub Command6_Click()t = Val(Text1)Text1 = t ^ 2End SubPrivate Sub Command7_Click()I = Val(Text1)Text1 = 1 / IEnd SubPrivate Sub Form_Load()K = 10Option3.Value = TrueEnd SubPrivate Sub Option1_Click()For I = 0 To 1Command1(I).Enabled = TrueNextFor I = 2 To 16Command1(I).Enabled = FalseNextCommand1(10).Enabled = TrueM = Val(Text1) Select Case KCase 10Text1 = F102(Text1)Case 2S1 = Text1Case 16S2 = F1610(Text1)Text1 = F102(S2)Case 8S3 = F810(Text1)Text1 = F102(S3)End SelectK = 2End SubPrivate Sub Option2_Click() For I = 0 To 7Command1(I).Enabled = True NextFor I = 8 To 16Command1(I).Enabled = False NextCommand1(10).Enabled = True M = Val(Text1)Select Case KCase 10Text1 = Oct(M)Case 2S1 = F210(Text1)Text1 = Oct(S1)Case 16S2 = F1610(Text1)Text1 = Oct(S2)Case 8Text1 = MEnd SelectK = 8End SubPrivate Sub Option3_Click() For I = 0 To 10Command1(I).Enabled = True NextFor I = 11 To 16Command1(I).Enabled = False NextM = Val(Text1)Select Case KCase 10Text1 = MCase 2Text1 = F210(Text1)Case 16Text1 = F1610(Text1)Case 8Text1 = F810(Text1)End SelectK = 10End SubPrivate Sub Option4_Click() For I = 0 To 16Command1(I).Enabled = True NextM = Val(Text1)Select Case KCase 10Text1 = Hex(M)Case 2S1 = F210(Text1)Text1 = Hex(S1)Case 16S2 = F1610(Text1)Text1 = Hex(S2)Case 8S2 = F810(Text1)Text1 = Hex(S2)End SelectK = 16End SubFunction F102(S)K = Val(S)x = ""While K <> 0x = K Mod 2 & xK = K \ 2WendF102 = xEnd FunctionFunction F210(S)K = 0For I = 0 To Len(S) - 1K = K + Val(Mid(S, Len(S) - I, 1)) * 2 ^ I NextF210 = KEnd FunctionFunction F810(S)K = 0For I = 0 To Len(S) - 1K = K + Val(Mid(S, Len(S) - I, 1)) * 8 ^ I NextF810 = KEnd FunctionFunction F1610(S)K = 0For I = 0 To Len(S) - 1x = Mid(S, Len(S) - I, 1)Select Case xCase "1" To "9"K = K + Val(x) * 16 ^ ICase "A" To "F"K = K + (Asc(x) - 55) * 16 ^ IEnd SelectNextF1610 = KEnd FunctionPrivate Sub Timer1_Timer()StatusBar1.Panels(2).Text = Date & " " & TimeEnd Sub总结:通过vb设计计算器使自己掌握select case的编写方法以既vb中部件的属性设置方法。
用VB做简易计算器

《VB》课内实验报告学生姓名:及学号:学院:班级: 数学101课程名称:VB实验题目:控件数组的应用指导教师姓名及职称:2012年03月28日目录一、实验目的 (1)二、实验内容 (1)三、实验要点及说明 (1)四、实现方法 (1)五、实验结果 (2)六、源程序清单 (2)七、思考及总结 (4)一、实验目的1.掌握动态数组与静态数组的使用方法。
2.掌握控件数组的添加、删除以及使用方法。
3.掌握If语句、Select Case语句以及循环语句的使用。
4.掌握控件数组中索引号(Index)的作用。
二、实验内容1.制作计算器,完成十进制的加减乘除运算。
2.随机产生15个不重复的A-Z(包括A,Z)的大写字母,存放在字符数组中。
三、实验要点及说明1.利用数组控件完成计算器的制作。
(1)设计界面及设置属性界面设计中的显示部分要求用标签实现;运算符、数字分别使用控件数组实现;(2)编写代码图3-1 设计界面程序代码的任务是单击数字按钮和运算符按钮实现十进制的常规运算,同时要求做到实现正负号的转变、结果的标准输出以及除法中除数的检查等功能。
2.界面设计部分要求能够体现出字符数组中的内容,且实现随机不重复显示的功能,具体参数不做要求。
四、实现方法运行环境:Visual Basic运行开发环境;1.VB6.0窗体的属性设置运用复制的方法建立两个建立控件数组,编写代码。
2. 设置窗体的属性,添加一个文本框MultiLine属性设置成True,编写代码。
五、实验结果1. 能够完成十进制的加减乘除运算,可以判断被除数是否为零,如果为零,弹出对话框提示错误。
2.单击窗体随机出现15个不同的字母。
六、源程序清单1、源程序:Option Explicit ‘对所有变量进行显式声明Dim Num1 As Single, Num2 As Single ‘声明Num1,Num2为单精度浮点型变量Dim Flag As Boolean ‘声明Flag为布尔变量Dim Cul As Integer ‘声明Cul为整型变量Private Sub Command1_Click(Index As Integer) ‘Command1的单击事件Num1 = Val(Text1.Text) ‘Text1中的值赋给Num1Flag = True ‘Flag为真Cul = IndexEnd SubPrivate Sub _Click() ‘Command4的单击事件If InStr(Text1.Text, ".") = 0 And Text1.Text <> "" Then ‘如果Text1中没Text1.Text = Text1.Text + "." 有"."并且不为空,就在Text1中加一个"."End IfEnd SubPrivate Sub Command2_Click(Index As Integer)If Flag Then Text1.Text = "": Flag = False ‘如果Flag为真则Text1赋为空Text1.Text = Text1.Text + Command2(Index).Caption ‘如果为假Text1加End Sub Command2(Index) Private Sub Command5_Click() ‘Command5的单击事件的单击事件Text1.Text = "" ‘清空Text1,Num1, Num2的值Num1 = 0Num2 = 0End SubPrivate Sub Command6_Click() ‘Command6的单击事件Dim result As Single ‘声明result为单精度浮点型变量Num2 = Val(Text1.Text) ‘Text1中的值赋给Num2Flag = True ‘Flag b变为真Select Case Cul ‘Select循环Case 0: result = Num1 + Num2Case 1: result = Num1 - Num2Case 2: result = Num1 * Num2Case 3:If Num2 <> 0 Then ‘若分母为零提示result = Num1 / Num2ElseMsgBox "出错!被0除!"End IfEnd SelectIf result \ 1 <> result Then ‘如果result \ 1不等于result那么在result前Text1.Text = Format(result, "0.#") 加”0.”赋给Text1.TextElseText1.Text = Str(result) ‘否则直接将result转化成字符串赋给Text1.TextEnd IfEnd SubPrivate Sub Command3_Click() ‘Command3的单击事件If Text1.Text <> "" Then ‘如果Text1.Text不是空的If InStr( Text1.Text, "-") = 0 Then ‘Text1.Text中不包含"-"Text1.Text = "-" + Text1.Text ‘把"-" Text1.Text连接后赋给Text1.Text ElseText1.Text = Right(Text1.Text, Len(Text1.Text) - 1)End If ‘取Text1.Text中长度减1的字符赋给Text1.Text End IfEnd Sub2、源程序Private Sub Form_Click() ‘Form的单击事件Dim s(1 To 15) As String * 1, c As String * 1 ‘声明s,c为定长字符串Dim Found As Boolean ‘声明Found为布尔变量s(1) = chr(Int(Rnd * 26 + 65)) ‘将一随机字符赋给s(1)n = 2Do While n <= 15 ‘循环条件n<=15c = chr(Int(Rnd * 26 + 65)) ‘将一随机字符赋给cFound = FalseFor j = 1 To n – 1 ‘For循环If s(j) = c Then Found = TrueNext jIf Not Found Then ‘Found为假,进行下两行语句s(n) = cn = n + 1End IfLoopFor i = 1 To 15 ‘循环输出s(i)到Text1.Text中Text1.Text = Text1.Text & s(i)Next iEnd Sub七、思考及总结。
计算器的vb课程设计

计算器的vb课程设计一、课程目标知识目标:1. 让学生掌握计算器的基本功能与Visual Basic(VB)编程语言的基础知识。
2. 使学生了解计算器程序的结构与设计流程。
3. 帮助学生理解数学运算符在VB中的运用及其与数学公式的对应关系。
技能目标:1. 培养学生运用VB编程语言编写简单计算器程序的能力。
2. 培养学生分析问题、解决问题的能力,能够针对特定需求设计并优化计算器功能。
3. 提高学生团队协作能力,通过小组讨论和实践,共同完成计算器项目的开发。
情感态度价值观目标:1. 培养学生对计算机编程的兴趣和热情,激发创新意识。
2. 培养学生严谨、细心的学习态度,注重代码规范和程序优化。
3. 培养学生互帮互助、共同进步的团队精神,尊重他人意见,善于沟通与合作。
课程性质:本课程为实践性较强的学科课程,旨在让学生通过动手实践,掌握VB编程的基本技能,提高解决问题的能力。
学生特点:学生具备一定的计算机操作基础,对编程有一定了解,但缺乏实际编程经验。
教学要求:教师应结合学生特点,采用任务驱动、案例教学等方法,引导学生主动探究,注重理论与实践相结合,确保学生能够达到课程目标。
在教学过程中,将目标分解为具体的学习成果,以便于后续的教学设计和评估。
二、教学内容1.VB编程环境介绍与基本操作:使学生熟悉VB开发界面,掌握基本操作方法。
- 熟悉VB集成开发环境- 学会创建、保存和打开VB项目2.计算器程序结构与设计:学习计算器程序的框架设计,理解程序结构。
- 分析计算器功能模块- 设计计算器界面及布局3.数学运算符与表达式:掌握VB中的数学运算符,编写计算器运算逻辑。
- 学习VB中的数学运算符- 编写表达式实现计算器运算功能4.事件处理与函数调用:学习事件处理机制,编写计算器功能函数。
- 理解事件驱动编程原理- 编写按钮点击事件处理程序- 创建自定义函数实现计算器功能5.综合实践:运用所学知识,小组合作开发一个功能完善、界面友好的计算器程序。
《软件设计基础(VB)》简单科学计算器课程设计报告书

河北联合大学 《软件设计基础(VB)》课程设计报告设计名称: 姓 名: 专业班级: 学 院: 设计时间: 设计地点:简易科学计算器学 号:指导教师评语:成绩:指导教师签字: 年月日目录1.课程设计目的 ··············································································32.课程设计任务与要求 ·····································································33.课程设计说明书 ···········································································44.课程设计成果 ············································································205.程序调试过程 ············································································236.设计问题的不足和改进方案 ··························································237.课程设计心得 ············································································248.附录 ························································································249.参考文献24《软件设计基础(VB)》课程设计报告第 3 页,共 26 页1.课程设计目的 《软件设计基础(VB)》课程设计是这门课程的实践性教学环节之一,本次设计结合实际应用的要求,使课程设计既覆盖 VB 的知识点,又接近工程实际需 要。
VB课程设计-计算器程序设计

课程设计报告VB课程设计课程设计题目:计算器程序设计姓名:学号:*专业: 电子信息工程班级: :指导教师:摘要VisualBasic 6.0 是一款可视化的,面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发windows 环境下的种类应用程序。
它简单易学,效率高,且功能强大,可以与Windows专业开发工具相媲美。
在VisualBasic环境下,利用事出有因件驱动的编程机制,新颖易用的可视化工具,使用Windows内部的广泛应用程序接口(API)函数,运用动态链接库(DLL),对象的链接与嵌入(OLE),开放式数据连接(ODBC)等技术,可以高效,可以快速地开发Windows环境不功能强大,图形界面丰富的程序。
为了适应信息化时代的需求,各高校对大多数专业都开设了一定的计算机语言课程,有的讲授VisualBasic语言。
VisualBasic以其语法简单,可视化设计,功能强大,为许多学校计算机语言课程的首选语言。
目前国内各出版了大量的VisualBasic语言教程,它们都具有同样的特点:介绍语言的语法等基本知识,再辅助一些简单的示例。
学生通过学习,可能能够考一个不错的成绩,但所掌握的仍然是一些支离破碎的知识,不能将所有的知识融会贯通,遇到具体的程序设计,还是无从下手。
这次我要做的是计算器,通过这样程序设计,我们可以学到好多关于VB语言的使方法,熟悉VisualBasic 6.0的运行环境,快速掌握VB语言!小小的计算器是我们学VB初级语言的最好课程。
目录一功能描述 (4)1.功能 (4)2. 实验目的 (4)二概要设计 (6)1.界面设计 (6)2.代码编辑 (8)三详细设计 (14)四心得体会 (16)五参考文献 (18)一功能描述1.功能可以简单计算加减乘除四则运算,可以简单计算三角函数运算的简易计算器。
2.实验目的这次我要做的是计算器,通过这样程序设计,我们可以学到好多关于VB语言的使方法,熟悉VisualBasic 6.0的运行环境,快速掌握VB语言!小小的计算器是我们学VB初级语言的最好课程。
vb计算器实验报告

vb计算器实验报告《VB计算器实验报告》摘要:本实验报告通过使用VB(Visual Basic)编程语言,设计并实现了一个简单的计算器应用程序。
实验结果表明,该计算器能够实现基本的四则运算功能,并且具有良好的用户界面和操作体验。
本实验为学习VB编程语言的初学者提供了一个很好的实践机会,也为进一步深入学习和开发更复杂的应用程序奠定了基础。
1. 背景VB是一种由微软公司开发的基于对象的编程语言,它是一种易学易用的编程语言,适合初学者入门。
VB可以用于开发各种类型的应用程序,包括桌面应用程序、Web应用程序和移动应用程序等。
在本实验中,我们将使用VB编程语言设计并实现一个简单的计算器应用程序,以展示其基本功能和特点。
2. 实验目的通过本实验,我们旨在掌握VB编程语言的基本语法和功能,并且能够设计并实现一个简单的计算器应用程序。
同时,我们也将学习如何创建用户界面、处理用户输入和实现基本的数学运算功能。
3. 实验方法本实验使用Visual Studio作为开发环境,通过VB编程语言实现计算器应用程序的设计和开发。
在设计过程中,我们将考虑用户界面的布局和美观性,以及计算器功能的实现和操作流程。
在开发过程中,我们将使用VB的各种语法和功能,如变量、条件语句、循环语句和函数等,来实现计算器的基本功能。
4. 实验结果经过设计和开发,我们成功实现了一个简单的计算器应用程序。
该计算器具有清晰的用户界面和友好的操作体验,能够实现基本的加减乘除等四则运算功能。
用户可以通过点击按钮或者输入数字和运算符来进行计算,同时还可以实现清零和退格等功能。
整体而言,该计算器应用程序能够满足基本的计算需求,并且具有较好的稳定性和性能。
5. 结论通过本实验,我们不仅掌握了VB编程语言的基本语法和功能,还学会了如何设计和实现一个简单的计算器应用程序。
同时,我们也了解到了用户界面设计和用户体验的重要性,以及如何通过VB编程语言实现各种功能和操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《软件开发技术》
课程设计报告
题目计算器的设计与实现
专业班级计算机科学与技术 0701 学号
姓名
指导教师
2010年7 月15 日
计算器的设计与实现
摘要:通过学习VISUAL BASIC语言应用VB开发工具,利用响应鼠标事件即可制作简易计算器,响应鼠标事件即:当用户想要进行运算时,可以用鼠标直接点击界面的数字键、运算符以及各功能的按钮(清除,退出,鼠标位置)。
具体操作如下:用鼠标按动界面上第一个数字,然后按动运算符,再按动界面上的第二个数字,最后按等于即可运算出结果。
1.界面设计:
应用VISUAL BASIC开发工具,根据WINDOWS计算器界面模型,修改后制作计算器界面。
新建一个窗体,添加一个文本框用于显示运算数字和结果,添加若干按钮包括(数字0—9,+,-,*,/,=,CE, C, Back,%,1/x , sqrt)。
当单击数字按钮时输入运算数时,单击运算符按钮,再单击“=”按钮,则再文本框中显示计算结果。
具体如下图所示:
图1计算器界面设计示意图
2.程序设计:
(1)新建框体和按键模型后定义变量:输入的操作数,Dim Op1, Op2。
小数点是否仍然存在,Dim DecimalFlag As Integer。
操作数个数,Dim NumOps As Integer。
指示上一次按键事件的类型,Dim LastInput。
指示未完成的操作,Dim OpFlag。
定义文本框输出,Dim TempReadout。
窗体的初始化过程,设置所有变量为其初始值:DecimalFlag = False
NumOps = 0
LastInput = "NONE"
OpFlag = " "
Readout = Format(0, "0.")
'Decimal.Caption = Format(0, ".")。
(2)输入数字键(0-9)的Click事件过程,向显示中的数追加新数:调用format 函数强制定义始终在第一位添加一个”.”,并在显示数中追加新数,如果显示数小于零,则添加负号。
If LastInput <> "NUMS" Then
Readout = Format(0, ".")
DecimalFlag = False
End If
If DecimalFlag Then
Readout = Readout + Number(Index).Caption
Else
Readout = Left(Readout, InStr(Readout, Format(0, ".")) - 1) + Number(Index).Caption + Format(0, ".")
End If
If LastInput = "NEG" Then Readout = "-" & Readout
LastInput = "NUMS"
(3)运算符(+, -, x, /, =)的Click 事件过程如果接下来的按键是数字键,增加NumOps如果有一个操作数,则设置Op1如果有两个操作数,则将Op1 设置为Op1与当前输入字符串的运算结果,并显示结果(以其中加法部分为例):
If LastInput = "NUMS" Then
NumOps = NumOps + 1
End If
elect Case NumOps
Case 0
If Operator(Index).Caption = "-" And LastInput <> "NEG" Then
Readout = "-" & Readout
LastInput = "NEG"
End If
Case 1
Op1 = Readout
If Operator(Index).Caption = "-" And LastInput <> "NUMS" And OpFlag <> "=" Then
Readout = "-"
LastInput = "NEG"
End If
elect Case OpFlag
Case "+"
Op1 = CDbl(Op1) + CDbl(Op2)
Readout = Op1
NumOps = 1
End Select
(4)%,sqrt,1/X,等的Click事件过程以1/X为例举出:以倒数1 / Readout
输出,在输出结果中调用format函数强制定义添加“0.”,并可进行连续运算Readout = 1 / Readout
Readout.Text = Format(Readout.Text, "0.####################")
LastInput = "Ops"
OpFlag = "1/x"
NumOps = NumOps + 1
DecimalFlag = True
(5)C, CE, Back,”.”等Click事件过程以C和”.”为例,C按钮的Click事件过程,重新设置显示并初始化变量:清零操作数,并在显示结果中定义一个“0.”Readout = Format(0, "0.")
Op1 = 0
Op2 = 0
Form_Load
(6)小数点(.)按钮的Click事件过程, 如果上一次按键为运算符,初始化readout 为"0."否则显示时追加一个小数点:
Private Sub Decimal_Click()
If LastInput = "NEG" Then
Readout = Format(0, "-0.")
ElseIf LastInput <> "NUMS" Then
Readout = Format(0, "0.")
End If
DecimalFlag = True
LastInput = "NUMS"
End Sub
(7)Back按钮的Click事件过程:定义一个变量cd,并且用LEN函数求出当前字符串长度,调用Mid函数使字符串整体右移一位显示。
Dim cd As Integer
cd = Len(Readout.Text)
Readout.Text = "" & Mid(Readout.Text, 1, cd - 1)
3.调试:
调试计算器功能+,-,*,/,sqrt,1/x,%等功能,如图所示:图1:0.2+0.3=结果如图,图2:2-3=结果如图,图3:3*6=结果如图,图4:9/3=结果如图,图5:16 sqrt 结果如图,图6:6%5= 结果如图,图7:2 1/x 结果如图。
图2 加法调试结果图3 减法调试结果
图4 乘法调试结果图5 除法调试结果
图6 sqrt调试结果图7 %调试结果
图8 1/x调试结果
4.结论:
经过二周的学习与编制调试等一系列的过程,完成了如题所示的简易计算器,包括数字0—9,+,-,*,/,=,CE, C, Back,%,1/x , sqrt等按键,可实现基本+,-,*,/运算以及开方,取余,求倒数等功能,符合计算器的基本要求。
调试过程中不可避免的出现不少错误,经过修改后,基本解决如取余,小数点左右添加减少零,科学计数法,等一些问题。
基本完成学习和实践的要求和目的。
参考文献:
[1]王珊.Visual Basic程序设计教程[M].北京:机械工业出版社,2005年1月.。