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.通过本实验,进一步理解Visual Basic的编程方法。
2.提高运用Visual Basic编程的能力。
3.培养对所学知识的综合运用能力。
实验类型综合型。
实验内容与步骤一、分析问题,选择算法科学计算器主要实现基本的加减乘除运算、正弦余弦、正切余切、正割余割、反正弦反余弦、双曲正弦、双曲余弦、对数和求绝对值等函数功能。
为实现上述功能,我的基本思路是在窗体上建立三个控件数组,第一个控件数组有十五个命令按钮,分别实现正弦余弦、正切余切、正割余割、反正弦反余弦、双曲正弦、双曲余弦、对数和求绝对值等函数功能;第二个控件数组作包括十二个命令按钮,用来进行计算器的数据输入;第三个控件数组为基本的运算符号,实现基本加减乘除和乘方运算。
退格、清除、等于、退出作为独立的命令按钮,另外设计一个功能切换按钮实现显示当前系统日期和时间。
二、建立用户界面建立如下界面:三、设置窗体和控件属性四、编写代码,进行调试编写代码如下:通用:Dim Num1, Num2 As SingleDim n As Integer '乘方变量Dim pi As SingleDim result As SingleDim fuhao As Integer '判断是否有运算符号Dim sign As Integer '储存运算符号Private Sub Command1_Click(Index As Integer)Select Case IndexCase 0 To 9sign = 10 + IndexCase 10sign = 20fuhao = 1 '第一次输入的底数已放入Num1,标记已有符号,第二次输入时数据放入Num2Case 11 To 14sign = 10 + IndexEnd SelectText1.Text = "" '清空文本框End SubPrivate Sub Command2_Click(Index As Integer) 'Select Case IndexCase 0 To 9Text1.Text = Text1.Text & IndexCase 10Text1.Text = Text1.Text & "."Case 11Text1.Text = "-"End SelectIf fuhao = 0 Then '若无符号数据放入Num1,有符号数据放入Num2Num1 = V al(Text1.Text)ElseNum2 = V al(Text1.Text)End IfEnd SubPrivate Sub Command3_Click(Index As Integer) '判断标记运算符号Select Case IndexCase 0 To 6sign = IndexEnd SelectText1.Text = ""fuhao = 1 '标记已有运算符End SubPrivate Sub Command4_Click() 'If V al(Text1.Text) = 0 ThenText1.Text = ""fuhao = 0ElseText1.Text = Left$(Text1.Text, Len(Text1.Text) - 1)End IfEnd SubPrivate Sub Command5_Click() '清空文本框Text1.Text = ""fuhao = 0End SubPrivate Sub Command6_Click()Dim Num As Single '角度中间转换变量pi = 3.141592654e = 2.718282Select Case signCase 0Text1.Text = Num1 & "+" & Num2 & "=" & Chr(13) & Chr(10) & Num1 + Num2Case 1Text1.Text = Num1 & "-" & Num2 & "=" & Chr(13) & Chr(10) & Num1 - Num2Case 2Text1.Text = Num1 & "*" & Num2 & "=" & Chr(13) & Chr(10) & Num1 * Num2Case 3Text1.Text = Num1 & "/" & Num2 & "=" & Chr(13) & Chr(10) & Num1 / Num2Case 4 Text1.Text = "输入错误!请重新输入:"Case 5Text1.Text = "输入错误!请重新输入:"Case 6 result = Num1For n = 1 To Num2 - 1result = result* Num1 Next nText1.Text = Num1 & "^" & Num2 & "=" & Chr(13) & Chr(10) & resultCase 10Num = Num1 / 180 * piText1.Text = "sin" & "(" & Num1 & ")" & "=" & Chr(13) & Chr(10) & Sin(Num)Case 11Num = Num1 / 180 * piText1.Text = "cos" & "(" & Num1 & ")" & "=" & Chr(13) & Chr(10) & Cos(Num)Case 12Num = Num1 / 180 * piIf ((Num - pi / 2) Mod pi) = 0 ThenText1.Text = "输入错误!请重新输入:"ElseTan(Num)End IfCase 13Num = Num1 / 180 * piText1.Text = "sec" & "(" & Num1 & ")" & "=" & Chr(13) & Chr(10) & 1 / Cos(Num)Case 14Num = Num1 / 180 * piText1.Text = "csc" & "(" & Num1 & ")" & "=" & Chr(13) & Chr(10) & 1 / Sin(Num)Case 15Num = Num1 / 180 * piText1.Text = "ctg" & "(" & Num1 & ")" & "=" & Chr(13) & Chr(10) & 1 / Tan(Num)Case 16If Abs(Num1) > 1 ThenText1.Text = "输入错误!请重新输入:"ElseNum = (Atn(Num1 / Sqr(-Num1 * Num1 + 1))) / pi * 180Text1.Text = "arcsin" & "(" & Num1 & ")" & "=" & Chr(13) & Chr(10) & NumEnd IfCase 17If Abs(Num1) > 1 ThenText1.Text = "输入错误!请重新输入:"ElseNum = (Atn(-Num1 / Sqr(-Num1 * Num1 + 1)) + 2 * Atn(1)) / pi * 180Text1.Text = "arccos" & "(" & Num1 & ")" & "=" & Chr(13) & Chr(10) & NumEnd IfCase 18Num = (Atn(Num1)) / pi * 180NumCase 19Num = (Atn(Num1) + 2 * Atn(1)) / pi * 180Text1.Text = "arcctg" & "(" & Num1 & ")" & "=" & Chr(13) & Chr(10) & NumCase 20If Num1 > 0 And Num2 > 0 ThenText1.Text = "log" & "(" & Num1 & ")" & Num2 & "=" & Chr(13) & Chr(10) & Log(Num2) / Log(Num1)ElseText1.Text = "输入错误!请重新输入:"End IfCase 21If Num1 > 0 ThenText1.Text = "ln" & "(" & Num1 & ")" & "=" & Chr(13) & Chr(10) & Log(Num1)ElseText1.Text = "输入错误!请重新输入:"End IfCase 22Text1.Text = "sh" & "(" & Num1 & ")" & "=" & Chr(13) & Chr(10) & (Exp(Nun1) - Exp(-Num1)) / 2Case 23Text1.Text = "ch" & "(" & Num1 & ")" & "=" & Chr(13) & Chr(10) & (Exp(Num1) + Exp(-Num1)) / 2Case 24Text1.Text = "abs" & "(" & Num1 & ")" & "=" & Chr(13) & Chr(10) & Abs(Num1)End Selectfuhao = 0 '标记重置End SubPrivate Sub Command7_Click() '附加功能,输出系统时间Text1.Text = NowEnd SubPrivate Sub Command8_Click() '关闭计算器EndEnd SubPrivate Sub Form_Load()Text1.Text = NowLabel1.Caption = " 制作者:李乐" & Chr(13) & Chr(10) & Now End SubPrivate Sub Text1_Change()End Sub五、编译生成exe文件在文件菜单中生成EXE可执行文件。
用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简单计算器实验
在代码中针对每个过程都有简单注释;在代码的开头例如“'''operand ----------------------------操作数'''Calculation -------------------------计算”,这些都是帮助说明变量用途而写。
ElseIf LastInput = "负值" Then
'**************除法10
'*************求平方根10
'*************当前操作数的百分比10
'****************求倒数,用除法11
'*************等于11
一、程序功能和总体说明:
本程序使用VB语言编成,只使用了一个窗体模块,完成模仿市面简单计算器的功能。例如加减乘除,开方,求倒数,求百分比,并可连贯运算这些功能。
Case Asc(0) '48为字符零的Ascii值
Call Command0_Click
'Command0.Value = True‘与Call Command0_Click作用相同
Case Asc(0) To Asc(9) '49 To 57数字键1至9的Ascii值
Char = Chr(KeyAscii)
NumOperand = 1 '操作数个数置1
DecimalFlag = False
Time = 0
End Sub
'***************定义处理数字按钮通用过程
vb计算器实验报告
vb计算器实验报告《VB计算器实验报告》摘要:本实验报告通过使用VB(Visual Basic)编程语言,设计并实现了一个简单的计算器应用程序。
实验结果表明,该计算器能够实现基本的四则运算功能,并且具有良好的用户界面和操作体验。
本实验为学习VB编程语言的初学者提供了一个很好的实践机会,也为进一步深入学习和开发更复杂的应用程序奠定了基础。
1. 背景VB是一种由微软公司开发的基于对象的编程语言,它是一种易学易用的编程语言,适合初学者入门。
VB可以用于开发各种类型的应用程序,包括桌面应用程序、Web应用程序和移动应用程序等。
在本实验中,我们将使用VB编程语言设计并实现一个简单的计算器应用程序,以展示其基本功能和特点。
2. 实验目的通过本实验,我们旨在掌握VB编程语言的基本语法和功能,并且能够设计并实现一个简单的计算器应用程序。
同时,我们也将学习如何创建用户界面、处理用户输入和实现基本的数学运算功能。
3. 实验方法本实验使用Visual Studio作为开发环境,通过VB编程语言实现计算器应用程序的设计和开发。
在设计过程中,我们将考虑用户界面的布局和美观性,以及计算器功能的实现和操作流程。
在开发过程中,我们将使用VB的各种语法和功能,如变量、条件语句、循环语句和函数等,来实现计算器的基本功能。
4. 实验结果经过设计和开发,我们成功实现了一个简单的计算器应用程序。
该计算器具有清晰的用户界面和友好的操作体验,能够实现基本的加减乘除等四则运算功能。
用户可以通过点击按钮或者输入数字和运算符来进行计算,同时还可以实现清零和退格等功能。
整体而言,该计算器应用程序能够满足基本的计算需求,并且具有较好的稳定性和性能。
5. 结论通过本实验,我们不仅掌握了VB编程语言的基本语法和功能,还学会了如何设计和实现一个简单的计算器应用程序。
同时,我们也了解到了用户界面设计和用户体验的重要性,以及如何通过VB编程语言实现各种功能和操作。
vb简易科学计算器的设计与开发课程设计报告可视化编程武汉理工大学华夏学院
学号《可视化编程》课程设计报告简易科学计算器的设计与开发专业班级:计算机科学与技术1112学生姓名:指导教师:钱小红/李小艳教学系:信息工程系2012年6月15日课程设计报告书学生姓名:专业班级:计算机1111-1112班指导教师:钱小红/李小艳工作单位:华夏学院计算机教研室设计题目:简易科学计算器的设计与开发初始条件:1、完成可视化编程的学习2、带Visual Basic 的机器要求完成的主要任务:主要任务:(在规定的时间内完成下列任务)1、能够完成数值常数的四则运算,不要求支持运算符的优先级。
2、能够进行如下函数的求值运算,包括sin, cos, tan, exp, log, ln, sqr, 1/x,以及常数e和圆周率π。
3、设置5个存贮键,以便将中间运算结果存入,在需要的时候取出参与运算。
4、能够进行初始化,清除内存中的数,退出运算,清除显示。
5、因为控件数目较多,要求采用控件数组,以减少事件处理的复杂程度,使程序简洁高效。
6、出错处理:操作数如果不符合数学上的定义,应该给出错误信息。
例:0做除数,负数或0做真数等情况。
设计报告撰写格式要求:(课程设计报告按统一通用格式书写)具体内容如下:①设计任务与要求②总体方案与说明③程序主要模块的流程图④源程序清单与注释⑤问题分析与解决方案(包括调试记录、调试报告,即在调试过程中遇到的主要问题、解决方法及改进设想);⑥小结与体会附录:①源程序(必须有简单注释)②使用说明③参考资料时间安排:6月15日---21日第一天布置题目,确定任务、查找相关资料第二天~第四天功能分析,编写程序,调试程序、运行系统;第五天程序验收、答辩;撰写设计报告。
指导教师签字:2012年6月15日系主任签字:年月日1.设计任务与要求1.设计任务利用VB语言设计一个简易的科学计算器,学会利用VB控件数组实现数值的计算以及基本函数的计算。
2.基本要求:(1)要能够完成数值常数的四则运算。
VB科学计算器课程设计
目录一、设计内容及要求二、设计原始资料三、设计完成后提交的文件和图表设计四、进程安排五、主要参考资料[摘要]用VB制作这个程序的简单计算器,它包括一个标准的计算器和一个科学计算器。
它可以实现简单的加减乘除四则运算,数字的平方、平方根,正弦、余弦、正切,倒数、指数函数、对数函数,角度、弧度、梯度的转换,以及各进制的相互转换。
而且它的功能还有退格,清除当前数据,清除所有数据,复制数据,粘贴数据。
在这个计算器的程序中,我用到了单行选择语句If…Then…Else…,块语句if…then…end if,If语句的嵌套,多条件选择语句Select Case,而且还用到了按钮、文本框、框架、单选按钮控件,菜单的设计。
在此报告中我重点叙述了计算机的各个功能及用法。
特别是进制间的转换和数字与运算符之间的联系。
虽然描述的不太完整,但我会尽力使用系统结构图,划分多个模块,让大家明白我设计的运算器的功能的。
[关键词]Visual Basic;计算器;对象;代码1三、设计完成后提交的文件和图表设计(要求2000字以上)1. 设计方案实现这个实用计算器,要考虑的主要是以下两个方面的内容:一、设置每个控件按钮的属性。
二、每组控件组都有自己的VB代码,由VB语言实现各个控件按钮的功能。
于是本设计就是以这两个个部分为核心内容展开。
根据设计要求该实用计算器能实现四则运算和部分科学计算法等按钮的控制,根据各组控件按钮源代码的不同,来实现按下不同的按键实现不同的计算过程或结果功能。
本设计大体由窗体、CommandButton、Textbox、Timer 四个模块构成。
其中Commandbutton作为按钮模块,Textbox作为显示模块,Timer作为显示或隐藏部分按键的模块。
Commandbutton按钮实现数字键和其他算法按键的功能;Textbox实现计算过程和结果的数字显示;Timerbox 实现当计算器只用到四则的简单运算时,窗体只显示四种运算的基本按键,当用到科学计算时,再在窗体中显示科学计算的控件按钮。
基于VB制作简易计算器课设报告
面向对象程序设计课程设计报告——简易计算器学生姓名: *** ***学号: ********、********专业班级:****************指导教师: *****目录一.课程设计目的 (2)二.课程设计内容 (2)A. 题目及要求 (2)(一)设计题目:简易计算器 (2)(二)内容介绍 (2)(三)基本要求 (2)B. 课题分析及设计思路 (2)(一)分析 (3)(二)基本设计思路 (3)C. 各部分程序设计 (3)1.“0~9”以及“.” (3)2“+、-、*、/” (3)3.“=” (3)4.“Del、AC” (3)5.“Save”键的功能以及介绍…………………………………………6.误差分析 (4)D. 难点及调试过程 (5)E. 成果展示 (5)三.实验心得 (8)一.课程设计目的1、通过对课程所学知识的延伸和扩展,结合VB各类知识及代码与C++各类知识及代码对比来加深对VB与C++的综合理解。
2、掌握基本的面向对象的程序设计的思路和方法。
3、能够灵活运用所学知识解决实际问题.。
二.课程设计内容A.题目及要求(一)设计题目:简易计算器(二)内容介绍:1、具有加减乘除功能。
2、当被除数为零是会自动报错。
3、有删减单字符功能(Del),也有全清功能(AC)。
4、有保存运算结果功能(save),并且能将结果保存到E盘并以程序运行保存结果的时间作为文档名保存。
(三)基本要求:支持基本的功能示例如下:1、可进行简单计算2、有异常处理3、能显示结果,并将运算结果保存到TXT文档中B.课题分析及设计思路(一)分析根据题目要求,设计出一个简易的计算器,要求能进行简易计算,并且将计算结果保存为.txt格式。
所以我们小组采用了VB的方式来完成本课题。
VB的优势在于VB是一种可视化编程语言,可以用于开发Windows环境下的各类应用程序,本课题通过VB可以更快更好的的完成本课题的要求。
(二)基本设计思路类的设计在VB6.0精简版中,我们可以通过Command按钮以及Text显示框来进行显示以及操作。
VB设计计算器实验报告
VB设计计算器实验报告姓名:专业:学号:二〇一一年十一月七日设计功能完整的计算器,实现如下图所示按钮(除“MC”,“MR”,“MS”,“M+”)及菜单功能,如图:一、解题思路、分析:对于我来说,设置一个完整的计算器是一个艰巨的任务,一开始想了一小段时间,自己试着编了一些,但就是无法达到一个完整的计算器,于是,就到网上去下载了一些有关计算器的程序进行参考分析。
首先先定义一些量,比如说前后两个操作数op1、op2,小数点是否真存在的量DecimalFlag,操作数个数NumOps,上一次按键的类型等。
接着对窗体进行初始化,同时设置所有变量为其初始。
然后对各个键盘的命令进行编写程序,对0---9按键设置为一个按键命令组,编写一个程序,同时加减乘除设置一个命令组,也编写一个程序,其他按键都各自设置为一个命令,分别单独进行编写程序。
同时在多个命令中都要对显示器中的小数点进行分析,看它是否是真实存在。
同时对于除法分母是否为0,也要加以考虑。
二、源程序:Option ExplicitDim Op1, Op2 ' 前面输入的操作数Dim DecimalFlag As Integer ' 小数点仍然存在吗?Dim NumOps As Integer ' 操作数个数Dim LastInput ' 指示上一次按键事件的类型Dim OpFlag ' 指示未完成的操作Dim TempReadout' 窗体的初始化过程' 设置所有变量为其初始值Private Sub Form_Load()DecimalFlag = FalseNumOps = 0LastInput = "NONE"OpFlag = " "Text1.Text = Format(0, "0.")'Decimal.Caption = Format(0, ".")End Sub' 退格键Private Sub Command1_Click()If Len(Text1.Text) = 1 ThenText1.Text = Format(0, "0.")DecimalFlag = FalseLastInput = "NONE"ElseIf Text1.Text = "0." ThenText1.Text = "0."DecimalFlag = FalseLastInput = "NONE"ElseText1.Text = Left(Text1.Text, Len(Text1.Text) - 1)End IfEnd IfEnd SubPrivate Sub Command2_Click()' CE (取消输入) 按钮的 Click 事件过程Text1.Text = Format(0, "0.")DecimalFlag = FalseLastInput = "CE"End SubPrivate Sub Command3_Click()' C (取消) 按钮的 Click 事件过程' 重新设置显示并初始化变量Text1.Text = Format(0, "0.")Op1 = 0Op2 = 0Form_LoadEnd SubPrivate Sub Command8_Click(Index As Integer)' 数字键 (0-9) 的 Click 事件过程' 向显示中的数追加新数If LastInput <> "NUMS" ThenText1.Text = Format(0, ".")DecimalFlag = FalseEnd IfIf DecimalFlag ThenText1.Text = Text1.Text + Command8(Index).CaptionElseText1.Text = Left(Text1.Text, InStr(Text1.Text, Format(0, ".")) - 1) + Command8(Index).Caption + Format(0, ".") End IfIf LastInput = "NEG" Then Text1.Text = "-" & Text1.TextLastInput = "NUMS"End SubPrivate Sub Command11_Click(Index As Integer)' 运算符 (+, -, x, /, =) 的 Click 事件过程' 如果接下来的按键是数字键,增加 NumOps。
VB课程设加减乘除计算器
加减乘除计算器设计报告一:设计思路1.要达到的目的培养学生综合利用VB语言进行程序设计的能力,主要培养学生综合使用基本控件,控件数组,常用算法等能力。
2.关键问题的解决●在窗体上分别创建用于0-9个操作数字和+、-、*、/运算符号的控件数组,并创建用于显示操作数、运算结果的文本框及其它控件。
●单击数字控件数组元素时,先判断参加运算的数是否是新的操作数,用以确定单击数字键后数字在文本框中的显示方式,如果是新的操作数如234,那么连续单击2,3,4数字键,在文本框中会显示234。
●单击操作符,结束第一个操作数的输入,同时把第一个操作数存储到一个全局变量中。
●单击等号(=),结束第二个操作数的输入并存储,根据上面记下的index值选择操作符计算。
●如果用键盘操作运算,应根据所按键对应的KeyAscii值转换成对应的字符来断执行什么操作,确定调用哪个事件过程。
最后完成运算。
二、模块之间的调用关系,或程序流程图f = 0s = 0i = 0j = 0End SubPrivate Sub form_Keypress(Keyascii As Integer) Select Case Chr(Keyascii)Case "0" To "9"commadone_click (Val(Chr(Keyascii))) Case "."Call Command1_ClickCase "+"Call commandjia_click(0)Case "-"Call commandjia_click(1)Case "*"Call commandjia_click(2)Case "/"Call commandjia_click(3)Case "="Call commanddeng_clickEnd SelectEnd SubPrivate Sub jia_Click(Index As Integer)i = cun(Text1)Text1.Text = ""f = Index + 1End SubPrivate Sub one_Click(Index As Integer)Text1 = Text1 & IndexEnd SubPublic Sub jisuan(i, j, s)Select Case fCase 1s = i + jCase 2s = i - jCase 3s = i * jCase 4s = i / jEnd SelectEnd SubPublic Function cun(x As String)cun = Val(x)End Function四、设计方案的完善及目前存在的问题只能进行一次运算不能运算负数五、本次设计的收获及心得体会得锻炼自己学习课外知识的能力,同时动手能力得到了很大提高六、对该题目和VB设计的意见和建议题目难易度适当较好的锻炼学生能力。
vb综合性设计实验报告
综合性实验实验名称:用v b编写简单计算器专业班级: 土木工程0901班学生姓名: ***学号:*********指导教师: ***1 需求分析该计算器程序是在Visual Basic6.0环境下编写,编写完成后在Windows xp下运行,通过初步测试,发现该计算程序能完成整数的加,减,乘,除四种运算。
通过在虚拟键盘上用鼠标点击输入第一个数,然后点击运算符,再输入第二个数,最后点击“=”就会在计算器上方的文本框中输出结果,清空文本框进行下次运算。
经过仔细测试发现,该计算器最高支持五位整数的运算,在除法运算中能精确到小数点后14位。
2 运行环境WINDOWS XP系统;VB6.0;3开发工具和编程语言开发工具:Visual Basic6.0“微型整值计算器”程序编写代码:Dim op1 As IntegerDim op2 As IntegerDim operator As StringPrivate Sub Command1_Click()Text1.Text = Text1.Text & "1"End SubPrivate Sub Command2_Click()Text1.Text = Text1.Text & "2"End SubPrivate Sub Command3_Click()Text1.Text = Text1.Text & "3"End SubPrivate Sub Command4_Click()Text1.Text = Text1.Text & "4"End SubPrivate Sub Command5_Click()Text1.Text = Text1.Text & "5"End SubPrivate Sub Command6_Click()Text1.Text = Text1.Text & "6"End SubPrivate Sub Command7_Click()Text1.Text = Text1.Text & "7"End SubPrivate Sub Command8_Click()Text1.Text = Text1.Text & "8"End SubPrivate Sub Command9_Click()Text1.Text = Text1.Text & "9"End SubPrivate Sub Command11_Click()Text1.Text = Text1.Text & "0"End SubPrivate Sub Command10_Click()op1 = Val(Text1.Text)operator = "+"Text1.Text = ""End SubPrivate Sub Command12_Click()op1 = Val(Text1.Text)operator = "-"Text1.Text = ""End SubPrivate Sub Command13_Click()op1 = Val(Text1.Text)operator = "*"Text1.Text = ""End SubPrivate Sub Command14_Click()op1 = Val(Text1.Text)operator = "/"Text1.Text = ""End SubPrivate Sub Command15_Click()op2 = Val(Text1.Text)If operator = "+" ThenText1.Text = op1 + op2ElseIf operator = "-" ThenText1.Text = op1 - op2ElseIf operator = "*" ThenText1.Text = op1 * op2ElseIf operator = "/" ThenText1.Text = op1 / op2End IfEnd Sub4 系统设计(1)程序的组织结构(包括窗体、模块及其功能)。
计算器报告书VB
河北联合大学《软件设计基础(VB)》课程设计报告设计名称:简易科学计算器姓名:学号:----专业班级:-----学院:-----设计时间=======设计地点:学校机房目录1.课程设计目的············································································································2.课程设计任务与要求 ·······························································································3.课程设计说明书········································································································4.课程设计成果············································································································5.程序调试过程············································································································6.设计问题的不足和改进方案 ···················································································7.课程设计心得············································································································8.附录····························································································································9.参考文献····················································································································Text1.Text = op(u - 1) / op(u) 'j=4代表除End Ifk = k + 1op(u) = Text1.Texta = Text1.TextText1.Text = Text1.Text * 10 + 3.1415926Text1.Text = Text1.Text + 4 * 10 ^ (-n)n = n + 1End If《软件设计基础(VB) 》课程设计报告If KeyAscii = 42 Then If v = 0 Then u = u - 1 End If If j = 1 Then Text1.Text = op(u - 1) + op(u) ElseIf j = 2 Then Text1.Text = op(u - 1) - op(u) ElseIf j = 3 Then Text1.Text = op(u - 1) * op(u) ElseIf j = 4 Then Text1.Text = op(u - 1) / op(u) End If If u = -1 Then u = 0 End If k = 0 op(u) = Text1.Text j = 3: i = i + 1: m = 1: n = 1: u = u + 1: v = 0 End If If KeyAscii = 47 Then If v = 0 Then u = u - 1 End If If j = 1 Then Text1.Text = op(u - 1) + op(u) ElseIf j = 2 Then Text1.Text = op(u - 1) - op(u) ElseIf j = 3 Then Text1.Text = op(u - 1) * op(u) ElseIf j = 4 Then Text1.Text = op(u - 1) / op(u) End If If u = -1 Then u = 0 End If k = 0 op(u) = Text1.Text j = 4: i = i + 1: m = 1: n = 1: u = u + 1: v = 0 End If If KeyAscii = 61 Then If w = 1 Then Text1.Text = Text1.Text Else If j = 1 Then Text1.Text = op(u - 1) + op(u)第21页,共29页《软件设计基础(VB) 》课程设计报告ElseIf j = 2 Then Text1.Text = op(u - 1) - op(u) ElseIf j = 3 Then Text1.Text = op(u - 1) * op(u) ElseIf j = 4 Then Text1.Text = op(u - 1) / op(u) End If u = u + 1: v = 0 End If End If End Sub Private Sub Command2_Click() Form1.Hide Form2.Show End Sub Form2 窗体 作用:实现优先级的运算。
VB课程设加减乘除计算器设计报告
加减乘除计算器设计报告学院机械工程班级机设054 学号050389 姓名成绩一、设计思路1.要达到的目的主要是培养学生利用系统提供的基本控件进行创新性设计,理解Visual Basic语言中面向对象的程序设计。
培养学生综合利用Visual Basic语言进行程序设计的能力。
2.关键问题的解决先使用Command命令按钮,命令按钮控件数组,文本框等基本控件设计窗体,再根据下面方法编制程序:1.连续输入新操作数的若干个数字时,采用txtDisplay.Text=txtDisplay.Text&Format$(Index)txtDisplay.Text= txtDisplay.Text&cmdNumber(Index).CaptiontxtDisplay.Text =txtDisplay.Text&Index2.对于正整数运算单击操作数的输入,需要设置一个逻辑变量,使其逻辑值为ture,准备新操作数的输入。
3. 当一个对象(本题指文本框)具有焦点时,在键盘上按键操作出发下面事件过程Private Sub Form_KeyPress(KeyAscii As Integer),在该过程中调用txtDisplay_KeyPressKeyAscii根据KeyAscii对应的字符,调用相应过程。
二、模块之间的调用关系,或程序流程图三、部分程序关键源代码及注释。
Private Sub Command10_Click()‘清空Text1,使操作数空Text1.Text=””num=””End SubPrivate Sub Command11_Click()If Text1.Text<>””ThenText1.Text=-1*Text1.Text 定义负号num=Text1.TextEnd IfEnd SubPrivate Sub Command2_Click(Index As Integer)num1=numText1.Text=””num=””C=IndexEnd SubPrivate Sub Command3_Click()EndEnd SubPrivate Sub Command4_Click()Text1.Text=Sqr(Val(Text1.Text)) ‘提示:当输入负,那么错,根号不可为负End SubPrivate Sub Command5_Click()Text1.Text=Val(Text1.Text)*Val(Text1.Text)End Sub三、设计方案的完善及目前存在的问题1.设计方案要完善的地方①增加高级函数运算功能②精炼程序2. 目前存在的问题①无法运算高级函数问题②退格键清除完数字报错四、本次设计的收获及心得体会通过几天辛苦的设计培养了我利用系统提供的基本控件进行创新性设计,理解Visual Basic语言中面向对象的程序设计。
VB课程设06072008科学计算器
科学计算器设计报告学院材料学院班级材料074 学号072008 姓名孙红楠成绩一、设计思路1.要达到的目的①培养利用VB的标准控件进行应用程序设计的能力,培养综合利用VB语言进行程序设计的能力。
②练习如何使用键盘输入数据。
③了解各个控件属性,培养对控件属性的设置。
加强对控件使用的熟练程度。
④练习使用子函数及子程序。
2.关键问题的解决①对于计算器,首要问题就是就是对数据的运算,这里是通过运用了控件数组calu(),speci()等以求提高代码的利用率,简化程序。
对运算设置了子程序Sub cacul(op1, op, op2)Sub cacul(op1, op, op2)Select Case opCase 0op1 = op1 + op2Case 1op1 = op1 - op2Case 2op1 = op1 * op2Case 3If op2 = 0 Then MsgBox "0不能做除数", vbCritical: Exit Subop1 = op1 / op2End SelectEnd Sub对于其他功能键则采取了分别编译的方法,分别编写其功能。
此外窗体支持彩色按钮以此区分不同的功能区。
②数字的输入要有指定的格式,使其符合规范i = Len(xianshi)If InStr(xianshi, ".") ThenDo While Mid(xianshi, i, 1) = "0"i = i - 1LoopIf Mid(xianshi.Caption, i, 1) = "." Then i = i - 1xianshi = Left(xianshi, i)End If对每个数字键都要对应相应数字的输入,由控件数组num()编译较简单明确。
且最基本的就是每个按一个键就在原基础上加一个数字:xianshi = xianshi & CStr(Index),但对于在运算符或等号之后输入的数就要进行相应的别的设置,由此应加上一个记号,判断属于哪种方式的输入,在此程序中m 和z 完成此项功能。
用VB制作计算器
摘要这个程序是我用VB制作的简单计算器,它可以实现简单的四则运算,数字的平方,平方根,正弦,余弦,倒数,以及进制的相互转换。
而且它的功能还有退格,清除当前数据,清除所有数据,复制数据,粘贴数据,退出程序。
在这个计算器的程序中,我用到了单行选择语句If …Then …Else…,If语句的嵌套,多条件选择语句Select Case,而且还用到了组合框,框架,菜单的设计,以及键盘事件,可以通过键盘来用于计算。
在此报告中我重点叙述了计算机的各个功能及用法。
特别是进制间的转换和数字与运算符之间的联系。
还有说明了键盘怎样用于操作计算。
虽然表达能力不太行,但我会尽力使用系统结构图,程序流程图,划分多个模块,让大家明白我设计的运算器的功能的。
目录摘要 (1)目录 (2)第一章任务概述 (3)1.1、目标 (3)1.2、需求概述 (3)1.2.1、鼠标操作 (3)1.2.2、键盘操作 (3)第二章总体设计 (4)2.1、系统结构功能图 (4)第三章功能分配 (5)3.1、打开计算器界面 (5)3.2、平方根,平方,倒数,正弦,余弦的实现 (7)3.3、退格 (8)3.4、清除 (8)3.4.1、清除当前数据 (8)3.4.2清除所有数据 (8)3.5、鼠标的输入 (9)3.6、进制间的转换 (11)小结 (13)第一章任务概述1.1、目标本系统的目标是建立一套可以计算数的平方,平方根,倒数,正弦,余弦,数字的进制转换的计算器系统,系统可以帮助我们更好的学习,更好的节省时间。
还能避免出现一些不必要的计算错误。
1.2、需求概述根据本系统的需求分析,系统的需求可以分为以下的几个方面:1.2.1、鼠标操作你可以利用鼠标点击界面上的各个按钮来实现计算器的运算。
1.2.2、键盘操作当不方便使用鼠标时可以利用键盘来实现运算,数字的复制和粘贴。
第二章总体设计2.1、系统结构功能图图2-1系统结构功能图第三章功能分配3.1、打开计算器界面图3-1 计算器界面Dim dflag As Integer‘小数点仍然存在吗?Dim i As IntegerDim opnre As Integer ‘初始值Dim prev As Double‘前面输入的操作数Dim oflag As Integer ‘等号前后对数字的标记Dim ind As Integer ‘cmdoperator控件数组的数Dim x As DoubleDim y As Double' 运算符 (+, -, x, /, =) 的 Click 事件过程' 如果接下来的按键是数字键,增加 val(text1.Caption)。
VB程序设计报告 计算器和三角函数
软件技术实验报告班级学号姓名第三次实验:计算器和三角函数实验内容:1 设计一个可以进行四则运算的简单计算器。
该计算器除了可以进行加、减、乘、除、求模(取余)等简单的四则运算外,还要求可以进行四则混合连算,并具有符合计算器日常使用习惯的容错纠错功能。
具体步骤如下:①在界面上建立按钮控件数组:首先在窗体中置入一个命令按钮控件后,将其激活并点击右键通过“复制”、“粘贴”的方法依次产生19个一样的命令按钮控件,其中在创建第一个“粘贴”控件时VB会询问“是否要创建控件数组?”回答“是”即可开始依次创建该控件数组。
②按钮属性的设置:将各按钮的caption属性分别设置为0,1,2……9,+、-、×,/,Mod,=,cls,Exit,注意在设置这些属性时其值与按钮控件的Index属性的对应性。
③其它控件的属性设置:文本框作为显示操作数和结果的控件,应遵循一般计算器的显示习惯,将其Alignment即对齐属性设置为“Right”,此外,将各控件相关的字体、字号等设置为统一风格。
④在程序的通用区定义四个窗体层变量:num1、num2、sum、act、前三个为双精度、act为整型变量。
⑤编写进行四则运算所需的程序作为命令按钮的单击事件过程。
2 设计一个三角函数运用picture,combol,text,command控件设计一个三角函数,使得在一个窗体中可以显示多种函数图象创新亮点:(如果没有可以空缺)通过相关属性的设置,不断改进软件的功能和外观,使其更加接近现实中使用的软件。
在“按钮、窗体”属性中设置picture为一张图片为背景完成情况和存在问题:基本完成了实验的要求,做出符合实验的应用实例。
但是在使用Select语句时,例如“ Case Index case n”不清楚具体n的含义,对基本语句掌握不好,导致最后运行时出现运行加减乘除时,老是出现错误。
最后通过问小组成员,寻求帮助后,解释select语句的使用方法及n的含义,将杂乱无序的n 的值按对应的属性序号修改后,运行正常。
vb计算器 实验报告
vb计算器实验报告VB计算器实验报告引言:计算器是人们日常生活中常用的工具之一,无论是进行简单的数学运算还是复杂的科学计算,计算器都能提供帮助。
本实验旨在使用VB(Visual Basic)编程语言设计和实现一个功能完善的计算器,通过该实验,我们可以深入了解计算器的原理和实现方法,并掌握VB编程的基本技巧。
一、实验目的本实验的主要目的是设计和实现一个VB计算器,具体包括以下几个方面:1. 学习VB编程语言的基本语法和数据类型;2. 掌握VB窗体的设计和布局;3. 实现基本的计算功能,包括加减乘除、取余、开方等;4. 实现科学计算功能,包括三角函数、指数函数、对数函数等;5. 实现计算器的界面美化和用户友好性。
二、实验原理1. VB编程语言VB是一种事件驱动的编程语言,它提供了丰富的控件和库函数,方便开发者进行图形界面的设计和实现。
在本实验中,我们将使用VB编程语言来实现计算器的功能。
2. VB窗体设计VB窗体是计算器的主界面,通过在窗体上添加各种控件,如按钮、文本框等,来实现计算器的各种功能。
通过设置控件的属性和事件,可以实现用户与计算器的交互。
3. 计算器的基本功能实现计算器的基本功能包括加减乘除、取余、开方等,这些功能可以通过VB编程语言中提供的数学函数和运算符来实现。
通过捕捉用户输入的数据和操作符,计算器可以进行相应的计算并将结果显示在屏幕上。
4. 科学计算功能的实现科学计算功能是计算器的扩展功能,包括三角函数、指数函数、对数函数等。
这些函数可以通过VB编程语言中提供的数学库函数来实现,通过捕捉用户的选择和输入,计算器可以根据用户的需求进行相应的科学计算。
5. 界面美化和用户友好性为了提高计算器的用户体验,我们需要对计算器的界面进行美化和优化。
通过设置控件的样式、颜色和布局,可以使计算器界面更加美观和易用。
三、实验步骤1. 创建VB工程,并添加一个窗体;2. 在窗体上添加各种控件,如按钮、文本框等,用于实现计算器的各种功能;3. 设置控件的属性和事件,实现计算器的基本功能,包括加减乘除、取余、开方等;4. 添加科学计算功能,如三角函数、指数函数、对数函数等,实现科学计算器的功能;5. 美化计算器界面,通过设置控件的样式、颜色和布局,提高用户体验;6. 进行测试和调试,确保计算器的功能正常。
vb简易计算器实验研究报告
x = Text1.Text
Text3.Text = Atn(x)
End Sub
Private Sub Command13_Click()
Dim x As Integer
Dim y As Integer
x = Text1.Text
y = Text2.Text
Text3.Text = x ^ y
x = Text1.Text
Text3.Text = Sin(x)
End Sub
源代码截图:
四、运行结果演示:
加法演示:
减法演示:
乘法演示:
除法演示:
能够整除:
不能够整除:
除数为零:
版权申明
本文部分内容,包括文字、图片、以及设计等在网上搜集整理.版权为个人所有
This article includes some parts, including text, pictures, and design. Copyright is personal ownership.RTCrp。
考虑到计算器地操作简便性,所以加入了复位和退出按钮.
三、源程序文件:
Private Sub Command1_Click()
Dim x As Integer
Dim y As Integer
x = Text1.Text
y = Text2.Text
Text3.Text = x + y
End Sub
Private Sub Command10_Click()
Private Sub Command7_Click()
Text1.Text = ""
Text2.Text = ""
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北京电子科技学院计算机实习报告题目:计算器的制作系别通信工程班级0431学生学号043118学生姓名孙锦慧导师姓名汪永好起止时间2006年9月4日至2006年9月15日一、选题内容:做一个计算器满足以下要求:(1)能进行加、减、乘、除基本运算,还要能混合运算。
(2)能完成一些特殊的数学运算,如开方,倒数等。
(3)界面要和常见的计算器界面类似。
二、实习流程:第一天,我与汪老师当面交流了一下,他大致为我讲述了做计算器的基本思路和可能用到的知识,并建议我尽快查找有关计算器的资料。
VB、VC、C语言都可以实现实习的目的和要求。
既然为实习我就想学点新东西,于是选择了用VB做,而且老师说用VB是最简单的。
第二天,根据汪老师的提示和建议我开始从各路查找资料,包括在图书馆和网上查找有关VB的东西。
还好找到了而且程序差不多编好了,我只要再稍加修改就可以,我相信计算机语言都是相通的。
按照我的想法我又借了几本关于VB基本知识的书籍,先学习了解基本变量说明,控件的概述,公用属性、方法、事件以及常用的控件。
另外还看了控件数组的概念及使用方法和注意事项。
控件的事件是确定控件对外部条件的响应。
事件有控件识别,再有应用程序处理。
控件数组是一组具有共同名称和类型的控件。
它们的事件过程相同。
一个控件数组至少应有一个元素,同一控件数组中的元数有自己的属性设置值。
在工程设计中设计两个窗体,在窗体名FORM1的窗体上设计一个命令按纽控件,单击该控件,显示窗体名为FORM2的窗体。
命令按纽控件所在的窗体和它的代码窗口如图。
运行时单击命令按纽,即可显示窗体名为FORM2的窗体。
在设计时,使用控件数组添加所消耗的资源比直接向窗口添加多个相同类型的控件消耗的资源要少。
当希望若干控件共代码时,使用控件数组就显得特别方便。
计算器上的数字按纽和操作按纽都可以分别共享代码,因此就可以使用控件数组。
在使用控件数组设计计算器时,将相同名字赋予多个控件,例数字按纽1,2,3,4, 5,6,7,8,9,0和+、-、*、/分别使用一个名字,即复制现有的控件并将其粘贴到窗体上或控件的INDEX属性设置为非NULL 数值创建数组控件。
通过复制现存控件添加控件数组元数,步骤如下:(1)绘制控件数组中的控件。
(2)当控件获得焦点时,选择“编辑”菜单中的“复制”命令。
(3)在“编辑”菜单中选择“粘贴”命令,VB将显示一个对话框询问是否确认创建控件数组。
选择“确定”指定给控件的索引值为1,绘制的第一个控件具有索引值0。
三、本实习计算器的有关具体的设置项:在这个计算器的设计上,窗体上的控件及它们的属性和设置值如下:_______________________________________________________________________________ 对象属性设置值————————————————————————————————————――― Form name calculator Caption 计算器第一个commandbutton name cancelCaption C第二个 commandbutton name cancelentryCaption CE第三个commandbutton name decimalCaption .第四个commandbutton name operziteCaption ~第五个commandbutton name sqrCaption ^Lable name readoutCaption 0.第六个commandbutton name number第七个commandbutton name operator_________________________________________________________________________第六和第七个commandbutton 控件是控件数组,它们的INDEX属性值见下表:控件数组的INDEX属性数字控件数组(N)操作符控件数组(N)0= Number (0) +=operator(1)1= Number (1) -=operator(2)2= Number (2) *=operator(3)3= Number (3) /=operator(4)4= Number (4) ==operator(5)5= Number (5)6= Number (6)7= Number (7)8= Number (8)9= Number (9)四、主要的基本运算(+,- ,*,/)的算法:五、运行的最初结果界面:运行一种计算结果界面:六、实习感想:本次实习我觉得很有意义,对我来说是一次考验,也是学校给我的一个锻炼自己的机会,很难得,所以我很珍惜它。
它让我在两周时间内完成一个计算器的设计。
接触一个新的语言,刚开始会有一些胆怯和疑惑,但想着自己已经学过两种计算机语言就来了信心,语言都应该有相通的地方,都有变量的声明和设置等等,算法基本相同,思路应该是相通的。
我的问题分析能力、自学能力、实习操作能力都得到了很好的提高。
最令我觉得有收获的是查找资料、自学新知识、借鉴方案、描绘流程思想等各项能力的锻炼。
在这次实习过程中我查了很多资料,学会了灵活运用新东西,其实新的东西都是在原来知识的基础上深化,或换角度思考出来的新理解。
这将对我以后的学习和深造大有裨益。
七、具体详细的程序原代码如下:Option ExplicitDim op1, op2 ‘前面输入的操作数。
Dim decimalflag As Integer ‘小数点还存在吗?Dim numops As Integer ‘操作数个数。
Dim lastinput ‘指示上一次按键事件的类型。
Dim opflag ‘指示未完成的操作。
Dim temp'按纽的CLICK 事件过程,重新设置显示并初始化变量Private Sub Cancel_Click(Index As Integer)readout = Format(0, "0.")op1 = 0op2 = 0Form_LoadEnd Sub‘CE(取消输入)按纽的CLICK事件过程。
Private Sub cancelentry_Click(Index As Integer)readout = Format(0, "0.")Decimalflag = Falselastinput = "ce"End Sub‘小数点(.)按纽的CLICK事件过程,如果上一次按纽为运算符,初始化为”0.”;‘否则显示时追加一个小数点.Private Sub decimal_Click(Index As Integer)If lastinput = "neg" Thenreadout = Format(0, "-0.")ElseIf lastinput <> "nums" Thenreadout = Format(0, "0.")End Ifdecimalflag = Truelastinput = "nums"End Sub‘窗体的初始化过程,设置所有变量为初始值.Private Sub Form_Load()decimal flag = Falsenumops = 0lastinput = "none"opflag = " "readout = Format(0, "0.")End Sub‘开方按纽的CLICK事件过程.Private Sub sqr_Click(Index As Integer)readout = readout ^ (1 / 2)lastinput = "ops"opflag = "^"decimalflag = TrueEnd Sub‘数字键(0-9)的CLICK事件过程,向显示的数追加新数.Private Sub number_Click(Index As Integer)If lastinput <> "nums" Thenreadout = Format(0, ".")decimalflag = FalseEnd IfIf decimalflag Thenreadout = readout + number(Index).CaptionElsereadout = Left(readout, InStr(readout, Format(0, ".")) - 1) + number(Index).Caption + Format(0, ".")End IfIf readout = "neg" Then readout = "-" & readoutlastinput = "nums"End Sub‘运算符(+ 、-、*、/、=)的CLICK事件过程如果接下来的按键是数字键,增加NUMOPS。
‘如果有一个操作数,则设置为OP1,如果有两个操作数,则设置为OP1设置为OP1与当前‘字符串的运算结果,并显示结果。
Private Sub operator_Click(Index As Integer)temp = readoutIf lastinput = "nums" Thennumops = numops + 1End IfSelect Case numops ‘按操作数的个数分三种情况。
Case 0If operator(Index).Caption = "-" And lastinput <> "neg" Thenreadout = "-" & readoutlastinput = "neg"End IfCase 1op1 = readoutIf operator(Index).Caption = "-" And lastinput <> "nums" And opflag <> "=" Then readout = "-"lastinput = "neg"End IfCase 2op2 = tempSelect Case opflagCase "+"op1 = Val(op1) + Val(op2)Case "-"op1 = Val(op1) - Val(op2)Case "*"op1 = Val(op1) * Val(op2)Case "/"If op2 = 0 ThenMsgBox "除数不能为0“,48,”计算器“"Elseop1 = Val(op1) / Val(op2)End IfCase "="op1 = Val(op2)Case "%"op1 = Val(op1) * Val(op2)End Selectreadout = op1numops = 1End SelectIf lastinput <> "neg" Thenlastinput = "ops"opflag = operator(Index).CaptionEnd IfEnd Sub‘开方的CLICK事件过程。