Vb 制作计算器程序设计.doc
Vb 程序设计课程设计报告《科学计算器的设计》专业:工商管理类班级:1107班学号:110808703姓名:魏启岚指导教师:阮冰设计日期:2012年6月14日第一章:课程设计概述第二章:总体设计第三章:详细设计第四章:调试分析过程描述第五章:综合设计体会参考文献第一章:课程设计概述1.1、课程设计名称一、课程设计名称《科学计算器的设计》1.2、任务要求一、随着电子技术的发展,计算机的功能越来越强大,精度越来越高,性能越来越好,可以实现复杂的科学计算,Windows系统也自带了一个功能强大的计算器。
本次课设要设计一个科学计算器,除了基本的四则运算之外,还有三角与反三角、对数与反对数、乘方与幂运算等。
科学计算器除了具有普通计算器的标准功能之外,还具有很多其他数据计算功能。
本次课设设计的科学计算器包括以下功能:1.具有小数点后10位以上的精度。
2.可以直接输出随机数、圆周率、自然对数的底数和重力加速度等常用常数。
3.可以输入0~9、00、小数点等数字或数学符号,并能对数字取反。
4.能够计算加、减、乘、除四则运算。
5.可以计算倒数、平方、立方、开方和任意乘方或幂指运算,以及阶乘运算。
6.能够计算以10为底的对数和自然对数,以及自然对数为底的幂运算。
7.具有三角与反三角函数的计算功能,并能在角度、弧度和梯度之间进行换算。
8.可以将数据记录到内存中,并能将输入的数据和内存中的数据进行四则运算。
9.能够实现数据的统计计算,包括和、平均值和方差。
10.可以对计算或输入的结果进行复制,也能通过粘贴方式向计算器输入数字。
1.3、开发环境一、科学计算器主要在visual basic6.0中完成。
Visual Basic是一种由微软公司开发的包含协助开发环境的事件驱动编程语言。
从任何标准来说,VB都是世界上使用人数最多的语言——不仅是盛赞VB的开发者还是抱怨VB 的开发者的数量。
它源自于BASIC编程语言。
VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。
程序员可以轻松的使用VB提供的组件快速建立一个应用程序。
VB的中心思想就是要便于使用,无论是新手或者专家。
VB使用了可以简单建立应用程序的GUI系统,但是又可以开发相当复杂的程序。
VB的程序是一种基于窗体的可视化组件安排的联合,并且增加代码来指定组件的属性和方法。
因为默认的属性和方法已经有一部分定义在了组件内,所以程序员不用写多少代码就可以完成一个简单的程序。
过去的版本里面VB程序的性能问题一直被放在了桌面上,但是随着计算机速度的飞速增加,关于性能的争论已经越来越少。
窗体控件的增加和改变可以用拖放技术实现。
一个排列满控件的工具箱用来显示可用控件(比如文本框或者按钮)。
每个控件都有自己的属性和事件。
默认的属性值会在控件创建的时候提供,但是程序员也可以进行更改。
很多的属性值可以在运行时候随着用户的动作和修改进行改动,这样就形成了一个动态的程序。
举个例子来说:窗体的大小改变事件中加入了可以改变控件位置的代码,在运行时候每当用户更改窗口大小,控件也会随之改变位置。
在文本框中的文字改变事件中加入相应的代码,程序就能够在文字输入的时候自动翻译或者阻止某些字符的输入。
VB的程序可以包含一个或多个窗体,或者是一个主窗体和多个子窗体,类似于操作系统的样子。
有很少功能的对话框窗口(比如没有最大化和最小化按钮的窗体)可以用来提供弹出功能。
VB的组件既可以拥有用户界面,也可以没有。
这样一来服务器端程序就可以处理增加的模块。
VB使用参数计算的方法来进行垃圾收集,这个方法中包含有大量的对象,提供基本的面向对象支持。
因为越来越多组件的出现,程序员可以选用自己需要的扩展库。
和有些语言不一样,VB对大小写不敏感,但是能自动转换关键词到标准的大小写状态,以及强制使得符号表入口的实体的变量名称遵循书写规则。
默认情况下字符串的比较是对大小写敏感的,但是可以关闭这个功能。
VB使得大量的外界控件有了自己的生存空间。
大量的第三方控件针对VB提供。
VB也提供了建立、使用和重用这些控件的方法,但是由于语言问题,从一个应用程序创建另外一个并不简单第二章:总体设计2.1系统功能需求分析一、计算器如图此计算器可以计算简单的加减乘除计算,还包括简单的三角函数的计算。
加有退出键,帮助按钮等控件。
2.2总体设计框架2.3、系统功能模块图及各功能模块的目的与意义计算器包括0到9的数字控件,加减乘除等计算符号控件,还包括两个文本框。
计算器可以计算简单的数字计算,计算器的制作意义在于可以熟练的掌握vb的运用和对vb的功能认识。
第三章:详细设计一、主要功能模块的计算设计思路,以及对应的N-S流程图,说明本功能的特点。
其各功能的代码如下Dim sum As DoubleDim k As StringDim pi As DoubleDim c As DoubleDim d As DoubleDim n As DoubleDim x As DoublePrivate Sub Command1_Click(Index As Integer) Select Case IndexCase 1Text1.Text = Text1.Text & 1Case 2Text1.Text = Text1.Text & 2Case 3Text1.Text = Text1.Text & 3Case 4Text1.Text = Text1.Text & 4Case 5Text1.Text = Text1.Text & 5Case 6Text1.Text = Text1.Text & 6Case 7Text1.Text = Text1.Text & 7Case 8Text1.Text = Text1.Text & 8Text1.Text = Text1.Text & 9Case 0Text1.Text = Text1.Text & 0Case 10Text1.Text = Text1.Text & "."End SelectEnd SubPrivate Sub Command2_Click(Index As Integer) If Text1.Text = "" ThenMsgBox "请先输入第一个数字后再点击符号" ElseSelect Case IndexCase 0sum = Text1.TextText1.Text = ""k = "+"Case 1sum = Text1.TextText1.Text = ""Case 2sum = Text1.TextText1.Text = ""k = "*"Case 3sum = Text1.TextText1.Text = ""k = "/"End SelectEnd IfEnd SubPrivate Sub Command3_Click()If Text1.Text = "" ThenMsgBox "您未输入任何需要计算内容,请先输入需要计算内容" Text1.Text = ""Text2.Text = ""Label2.Caption = ""Label3.Caption = ""ElseDim a As Doublea = Text1.TextIf k = "+" Thensum = sum + aText2.Text = sumElseIf k = "-" Thensum = sum - aText2.Text = sumElseIf k = "*" Thensum = sum * aText2.Text = sumElseIf k = "/" ThenIf Text1.Text = 0 Then '判断除数是否为0,若为零弹出信息框并清空输入数据,要求重新输入MsgBox "除数不能为零!请重新输入"Text1.Text = ""Text2.Text = ""Label2.Caption = ""Label3.Caption = ""a = 0b = 0k = ""Elsesum = sum / aText2.Text = sumEnd IfElseIf k = "sin" Then '等号的三角计算sum = Sin(a * pi / 180)Text2.Text = sumElseIf k = "cos" Thensum = Cos(a * pi / 180)Text2.Text = sumElseIf k = "tan" ThenDim m As IntegerDim n As Integerm = a Mod 180 - 90If m = 0 ThenMsgBox "(90+180*n)度的正切值无意义,请重新输入"Elsesum = (Tan(a * pi / 180))Text2.Text = sumEnd IfElseIf k = "cot" Thensum = 1 / (Tan(a * pi / 180))Text2.Text = sumEnd IfEnd IfEnd Sub这些代码是对计算符号的定义和控制的。
Private Sub Command4_Click(Index As Integer)Dim b As Integerb = Len(Text1.Text)If b > 1 ThenText1.Text = Val(Str(Left(Text1.Text, Len(Text1.Text) - 1))) ElseText1.Text = ""End IfEnd Sub对文本框中的出入数字规定Private Sub Command5_Click()Text1.Text = ""Text2.Text = ""a = 0b = 0k = ""End Sub对文本框中数字的清除规定Private Sub Command6_Click(Index As Integer) Select Case IndexCase 0k = "sin"Case 1k = "cos"Case 2k = "tan"Case 3k = "cot"End SelectEnd SubPrivate Sub Command8_Click()Text1.Text = sumEnd SubPrivate Sub Form_Load()pi = 4 * Atn(1)End SubPrivate Sub end_click()EndEnd Sub以上是个空间代码。
用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编写简易计算器(附图)
For personal use only in study and research;not for commercial use用VB6.0编写简易计算器效果图:废话不多说,直接上步骤一、创建控件组1、创建控件组的方法??首先创建一个命令按钮,调整其大小(觉得合适就行),名称为Command1,Caption 属性为数字 0 ;然后进行“复制”和“粘贴”,当选择“粘贴”时,出现对话框提示已有一个同名控件,询问是否创建控件组,选择“是”后,即创建了一个名为“Command”的控件组。
这时,第一个按钮的Index属性值默认为“0”,第二个的Index属性值自动设为“1”,并且大小与第一个按钮相同,只需修改其 Caption 属性为数字“1”并将其拖至合适位置即可。
此后继续使用“粘贴”的方法建立其他控件组中其余按钮,共20个按钮,每建立一个,就将它拖到合适处,并修改相应的Caption属性值。
2、各控件组其属性设置如下:二、编写代码Dim s1 As Single, s2 As Single, ysf As String'定义两个单精度数变量用与存放参与运算的数,一个字符型存放运算符Private Sub Command1_Click(Index As Integer)Text1.Text = Text1.Text & Command1(Index).Caption'将command1的单击事件与文本框显示的内容连接End SubPrivate Sub Command2_Click()Text1.Text = Text1.Text + "."If (InStr(Text1.Text, ".") = 1) Then'第一位不能为小数Text1.Text = ""End IfIf InStr(Text1.Text, ".") < Len(Text1.Text) Then '防止出现两个小数点Text1.Text = Left(Text1.Text, Len(Text1.Text) - 1)End IfEnd SubPrivate Sub Command3_Click()s2 = Val(Text1.Text) '开始加减乘除运算Select Case ysfCase "+"Text1.Text = s1 + s2Case "-"Text1.Text = s1 - s2Case "*"Text1.Text = s1 * s2Case "/"If s2 = 0 ThenMsgBox "分母不能为零!"Text1.Text = ""ElseText1.Text = s1 / s2End IfEnd SelectText1 = IIf(Left(Text1.Text, 1) = ".", 0 & Text1.Text, Text1.Text) '这个很关键,如果没有这个的话,得出小于1的小数前面没有0End SubPrivate Sub Command4_Click()If Text1.Text = "" Then '文本为空就结束Exit SubEnd IfText1.Text = Left(Text1.Text, Len(Text1.Text) - 1) '文本退一格End SubPrivate Sub Command5_Click()Text1.Text = "" '清除当前框内文本End SubPrivate Sub Command6_Click(Index As Integer)s1 = Val(Text1.Text) '将s1隐藏起来ysf = Command6(Index).CaptionText1.Text = ""End SubPrivate Sub Command7_Click()If Left(Text1.Text, 1) <> "-" Then '判断作为负数Text1.Text = "-" & Text1.TextElseText1.Text = Right(Text1.Text, Len(Text1.Text) - 1)End IfEnd SubPrivate Sub Command8_Click()Text1.Text = Text1.Text * Text1.Text '平方End Sub各位朋友,可以将红色代码复制到相应位置,不清楚的可以全选复制,但是一定要按照我的步骤和给的名称来哦!还可以再添加按钮Private Sub Command9_Click() '这是退出代码EndEnd Sub三、测试,成功的话给个好评哦!谢谢各位下载与支持!这个可以编写作为作业哦!仅供个人参考仅供个人用于学习、研究;不得用于商业用途。
Vb 制作计算器程序设计.doc
Vb 程序设计课程设计报告《科学计算器的设计》专业:工商管理类班级:1107班学号:110808703姓名:魏启岚指导教师:阮冰设计日期:2012年6月14日第一章:课程设计概述第二章:总体设计第三章:详细设计第四章:调试分析过程描述第五章:综合设计体会参考文献第一章:课程设计概述1.1、课程设计名称一、课程设计名称《科学计算器的设计》1.2、任务要求一、随着电子技术的发展,计算机的功能越来越强大,精度越来越高,性能越来越好,可以实现复杂的科学计算,Windows系统也自带了一个功能强大的计算器。
本次课设要设计一个科学计算器,除了基本的四则运算之外,还有三角与反三角、对数与反对数、乘方与幂运算等。
科学计算器除了具有普通计算器的标准功能之外,还具有很多其他数据计算功能。
本次课设设计的科学计算器包括以下功能:1.具有小数点后10位以上的精度。
2.可以直接输出随机数、圆周率、自然对数的底数和重力加速度等常用常数。
3.可以输入0~9、00、小数点等数字或数学符号,并能对数字取反。
4.能够计算加、减、乘、除四则运算。
5.可以计算倒数、平方、立方、开方和任意乘方或幂指运算,以及阶乘运算。
6.能够计算以10为底的对数和自然对数,以及自然对数为底的幂运算。
7.具有三角与反三角函数的计算功能,并能在角度、弧度和梯度之间进行换算。
8.可以将数据记录到内存中,并能将输入的数据和内存中的数据进行四则运算。
9.能够实现数据的统计计算,包括和、平均值和方差。
10.可以对计算或输入的结果进行复制,也能通过粘贴方式向计算器输入数字。
1.3、开发环境一、科学计算器主要在visual basic6.0中完成。
Visual Basic是一种由微软公司开发的包含协助开发环境的事件驱动编程语言。
从任何标准来说,VB都是世界上使用人数最多的语言——不仅是盛赞VB的开发者还是抱怨VB 的开发者的数量。
它源自于BASIC编程语言。
VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。
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写简易计算器附图
用V B6.0编写简易计算器效果图:废话不多说,直接上步骤一、创建控件组1、创建控件组的方法??首先创建一个命令按钮,调整其大小(觉得合适就行),名称为Command1,Caption属性为数字 0 ;然后进行“复制”和“粘贴”,当选择“粘贴”时,出现对话框提示已有一个同名控件,询问是否创建控件组,选择“是”后,即创建了一个名为“Command”的控件组。
这时,第一个按钮的Index属性值默认为“0”,第二个的Index属性值自动设为“1”,并且大小与第一个按钮相同,只需修改其 Caption 属性为数字“1”并将其拖至合适位置即可。
此后继续使用“粘贴”的方法建立其他控件组中其余按钮,共20个按钮,每建立一个,就将它拖到合适处,并修改相应的Caption属性值。
二、编写代码Dim s1 As Single, s2 As Single, ysf As String'定义两个单精度数变量用与存放参与运算的数,一个字符型存放运算符Private Sub Command1_Click(Index As Integer)Text1.Text = Text1.Text & Command1(Index).Caption'将command1的单击事件与文本框显示的内容连接End SubPrivate Sub Command2_Click()Text1.Text = Text1.Text + "."If (InStr(Text1.Text, ".") = 1) Then'第一位不能为小数Text1.Text = ""End IfIf InStr(Text1.Text, ".") < Len(Text1.Text) Then '防止出现两个小数点Text1.Text = Left(Text1.Text, Len(Text1.Text) - 1)End IfEnd SubPrivate Sub Command3_Click()s2 = Val(Text1.Text) '开始加减乘除运算Select Case ysfCase "+"Text1.Text = s1 + s2Case "-"Text1.Text = s1 - s2Case "*"Text1.Text = s1 * s2Case "/"If s2 = 0 ThenMsgBox "分母不能为零!"Text1.Text = ""ElseText1.Text = s1 / s2End IfEnd SelectText1 = IIf(Left(Text1.Text, 1) = ".", 0 & Text1.Text, Text1.Text) '这个很关键,如果没有这个的话,得出小于1的小数前面没有0End SubPrivate Sub Command4_Click()If Text1.Text = "" Then '文本为空就结束Exit SubEnd IfText1.Text = Left(Text1.Text, Len(Text1.Text) - 1) '文本退一格End SubPrivate Sub Command5_Click()Text1.Text = "" '清除当前框内文本End SubPrivate Sub Command6_Click(Index As Integer)s1 = Val(Text1.Text) '将s1隐藏起来ysf = Command6(Index).CaptionText1.Text = ""End SubPrivate Sub Command7_Click()If Left(Text1.Text, 1) <> "-" Then '判断作为负数Text1.Text = "-" & Text1.TextElseText1.Text = Right(Text1.Text, Len(Text1.Text) - 1)End IfEnd SubPrivate Sub Command8_Click()Text1.Text = Text1.Text * Text1.Text '平方End Sub各位朋友,可以将红色代码复制到相应位置,不清楚的可以全选复制,但是一定要按照我的步骤和给的名称来哦!还可以再添加按钮Private Sub Command9_Click() '这是退出代码EndEnd Sub三、测试,成功的话给个好评哦!谢谢各位下载与支持!这个可以编写作为作业哦!。
使用VB制作计算器程序
多功能计算器界面如下图所示。
实现代码如下:Public b As SinglePublic flag, first As IntegerDim narray(100) As Single '存放文本框1中输入的多个数据Dim i As Integer '存放输入数组的实际长度'单次运算Dim a As Single '存放第一个操作数Dim key As String '存放运算符'以上在模块中定义变量Private Sub cmd0_Click() '单击数字键0Text1.Text = Text1.Text + cmd0.Caption '可用"&"代替"+"End SubPrivate Sub cmd1_Click() '单击数字键1Text1.Text = Text1.Text + cmd1.CaptionEnd SubPrivate Sub cmd2_Click() '单击数字键2Text1.Text = Text1.Text + cmd2.CaptionEnd SubPrivate Sub cmd3_Click() '单击数字键3Text1.Text = Text1.Text + cmd3.CaptionEnd SubPrivate Sub cmd4_Click() '单击数字键4Text1.Text = Text1.Text + cmd4.CaptionEnd SubPrivate Sub cmd5_Click() '单击数字键5Text1.Text = Text1.Text + cmd5.CaptionEnd SubPrivate Sub cmd6_Click() '单击数字键6Text1.Text = Text1.Text + cmd6.CaptionEnd SubPrivate Sub cmd7_Click() '单击数字键7Text1.Text = Text1.Text + cmd7.CaptionEnd SubPrivate Sub cmd8_Click() '单击数字键8Text1.Text = Text1.Text + cmd8.CaptionEnd SubPrivate Sub cmd9_Click() '单击数字键9Text1.Text = Text1.Text + cmd9.CaptionEnd SubPrivate Sub cmddot_Click() '连接小数点Text1.Text = Text1.Text + cmddot.CaptionIf InStr(Text1.Text, ".") < Len(Text1.Text) Then'防止出现多个小数点Text1.Text = Left(Text1.Text, Len(Text1.Text) - 1)End IfEnd SubPrivate Sub cmdcls_Click() '单击CE键Text1.Text = ""End SubPrivate Sub add_Click() '单击“+”,保存第一个操作数和运算符 a = Val(Text1.Text)key = add.CaptionText1.Text = " "End SubPrivate Sub subs_Click() '单击“-”a = Val(Text1.Text)key = subs.CaptionText1.Text = " "End SubPrivate Sub mul_Click() '单击“*”a = Val(Text1.Text)key = mul.CaptionText1.Text = " "End SubPrivate Sub div_Click() '单击“/”a = Val(Text1.Text)key = div.CaptionText1.Text = " "End SubPrivate Sub modi_Click() '单击“Mod”a = Val(Text1.Text)key = more.CaptionText1.Text = " "End SubPrivate Sub mulpi_Click() '单击“^”a = Val(Text1.Text)key = mulpi.CaptionText1.Text = " "End SubPrivate Sub sign_Click() '单击“+/-”,改变操作数符号Text1.Text = -Val(Text1.Text)End SubPrivate Sub equal_Click() '单击“=”Select Case key '判断运算符Case "+": Text1.Text = a + Val(Text1.Text)Case "-": Text1.Text = a - Val(Text1.Text)Case "*": Text1.Text = a * Val(Text1.Text)Case "/": Text1.Text = a / Val(Text1.Text)Case "\": Text1.Text = a \ Val(Text1.Text)Case "mod": Text1.Text = a Mod Val(Text1.Text)Case "^": Text1.Text = a ^ Val(Text1.Text)Case "<": Text1.Text = a < Val(Text1.Text)Case ">": Text1.Text = a > Val(Text1.Text)Case "<>": Text1.Text = a <> Val(Text1.Text)Case "Like": b = "*" & Trim(Text1.Text) & "*"If (Str(a) Like b) Then Text1.Text = True Else Text1.Text = False Case "Not": Text1.Text = Not aCase "And": Text1.Text = a And Val(Text1.Text)Case "Or": Text1.Text = a Or Val(Text1.Text)Case "Xor": Text1.Text = a Xor Val(Text1.Text)End SelectEnd SubPrivate Sub less_Click() '单击“<”a = Val(Text1.Text)key = less.CaptionText1.Text = " "End SubPrivate Sub more_Click() '单击“>”a = Val(Text1.Text)key = more.CaptionText1.Text = " "End SubPrivate Sub notequal_Click() '单击“<>”a = Val(Text1.Text)key = notequal.CaptionText1.Text = " "End SubPrivate Sub likes_Click() '单击“Likes”a = Val(Text1.Text)key = likes.CaptionText1.Text = " "End SubPrivate Sub cmdnot_Click() '单击“Not”a = Val(Text1.Text)key = cmdnot.CaptionText1.Text = " "End SubPrivate Sub cmdand_Click() '单击“And”a = Val(Text1.Text)key = cmdand.CaptionText1.Text = " "End SubPrivate Sub cmdor_Click() '单击“Or”a = Val(Text1.Text)key = cmdor.CaptionText1.Text = " "End SubPrivate Sub cmdxor_Click() '单击“Xor”a = Val(Text1.Text)key = cmdxor.CaptionText1.Text = " "End SubPrivate Sub Command3_Click(Index As Integer) '函数区中功能实现,Command3'为函数区控件数组名Select Case IndexCase 0Text2.Text = Sin(Val(Trim$(Text1.Text))) '调用内部函数sinCase 1Text2.Text = Cos(Val(Trim$(Text1.Text)))Case 2Text2.Text = Abs(Val(Trim$(Text1.Text)))Case 3Text2.Text = Sqr(Val(Trim$(Text1.Text)))Case 4Text2.Text = Hex$(Val(Trim$(Text1.Text)))Case 5Text2.Text = Oct$(Val(Trim$(Text1.Text)))Case 6Text2.Text = Asc(Trim$(Text1.Text))Case 7Text2.Text = Rnd(Val(Trim$(Text1.Text)))Case 8Text2.Text = DateCase 9Text2.Text = Len(Trim$(Text1.Text))Case 10Text2.Text = sum1() '调用自定义函数求和Case 11Text2.Text = ave() '调用自定义函数求平均值Case 12 '12为max命令按钮的控件数组Index值Dim m As SingleCall max2(m) '调用自定义子过程求最大值Text2.Text = m 'm为调用过程得到的最大值'Text2.Text = max() '调用自定义函数过程求最大值Case 13Text2.Text = min() '调用自定义函数过程求最小值Case 14Text2.Text = sort() '调用自定义函数过程排序Case 15'Text2.Text = fac() '调用自定义函数过程求阶乘Text2.Text = fac1(Val(Text1.Text))'调用自定义函数过程求阶乘,用递归实现End SelectEnd SubPrivate Function sum1()Dim k As IntegerDim s As Singles = 0For k = 1 To i - 1s = s + narray(k)Next ksum1 = sEnd FunctionPrivate Function max()Dim k As IntegerDim s As Single, m As Singlem = narray(1)For k = 2 To iIf m < narray(k) Then m = narray(k) Next kmax = mEnd FunctionPrivate Function ave() '求平均值Dim k As IntegerDim s As Single, m As SingleFor k = 1 To is = s + narray(k)Next kave = s / (i - 1)End FunctionPrivate Function min() '求最小值函数Dim k As IntegerDim s As Single, m As Singlem = narray(1)For k = 2 To i - 1If m > narray(k) Then m = narray(k) Next kmin = mEnd FunctionPrivate Function sort() '排序函数Dim k As Integer, j As IntegerDim s As String, m As SingleFor k = 1 To i - 2For j = 1 To i - 1If narray(j) < narray(j + 1) Thenm = narray(j)narray(j) = narray(j + 1)narray(j + 1) = mEnd IfNext jNext kFor k = 1 To i - 1s = s+" "+Str$(narray(k)) '将排序结果存放到字符串s,以便带回到主调程序中Next ksort = sEnd FunctionPrivate Function fac() '求阶乘函数Dim k As Integer, j As IntegerDim m As SingleIf InStr(Trim$(Text1.Text), " ") > 1 Then'如果在文本输入框中输入了多个数据,则计算一个'数据的阶乘j = first '数组元素narray()中第一个元素Else: j = Val(Trim$(Text1.Text))End Ifm = 1For k = 1 To jm = m * kNext kfac = mEnd FunctionPrivate Sub Text1_KeyPress(Keyasc As Integer)'在文本框1中输入多个数据,以空格分隔,按回'车键结束,识别数据存放到数组narray( )中Dim c As StringDim n As Integer, k As Integeri = 1k = 1If Keyasc = 13 Then '按下回车键For n = 0 To Len(Text1.Text) - 1c = Mid$(Text1.Text, n + 1, 1)If c = " " Thennarray(i) = Val(Mid$(Text1.Text, k, n - k + 1))'识别数据存放在数组narray(i)中k = k + Len(Str$(narray(i))) '下一个数据位置起点i = i + 1 '每识别一个数据数组实际长度加1End IfNext nEnd Iffirst = narray(1)End SubPrivate Sub max2(m As Single) '求数组元素的最大值Dim k As Integerm = narray(1)For k = 2 To iIf m < narray(k) Then m = narray(k)Next kEnd SubPrivate Function fac1(n As Long) '递归求阶乘If n > 1 Thenfac1 = fac1(n - 1) * nElsef ac1 = 1End IfEnd Function。
VB程序设计——加减乘除运算器
VB程序设计——加减乘除运算器在VB程序设计中,我们可以创建一个简单的加减乘除运算器。
运算器的功能是接收用户输入的两个数和运算符,并根据运算符进行相应的计算,最后将结果输出给用户。
接下来,我们需要编写程序来实现计算功能。
在窗体代码中,我们可以编写一个函数来处理加减乘除运算。
函数代码如下:```vbPrivate Function Calculate(num1 As Double, num2 As Double, operator As String) As DoubleSelect Case operatorCase "+"Return num1 + num2Case "-"Return num1 - num2Case "*"Return num1 * num2Case "/"If num2 <> 0 ThenReturn num1 / num2ElseMessageBox.Show("除数不能为零!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error)Return Double.NaNEnd IfCase ElseMessageBox.Show("运算符不合法!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error)Return Double.NaNEnd SelectEnd Function```这个函数接收两个数值和一个运算符作为参数,并根据运算符的值进行相应的计算。
如果运算符不合法或者除数为零,则会弹出一个错误提示框。
```vbPrivate Sub btnCalculate_Click(sender As Object, e As EventArgs) Handles btnCalculate.ClickDim num1 As DoubleDim num2 As DoubleIf Double.TryParse(txtNum1.Text, num1) AndAlsoDouble.TryParse(txtNum2.Text, num2) ThenDim result As Double = Calculate(num1, num2, cmbOperator.SelectedItem.ToString()If Not Double.IsNaN(result) ThenlblResult.Text = result.ToStringEnd IfElseMessageBox.Show("请输入有效的数值!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error)End IfEnd Sub```最后,我们可以在窗体的Load事件处理程序中为下拉列表框添加运算符选项。
用VB编写一个简单计算器
用VB编写一个简单计算器一、功能:实现简单的加减乘除功能,C归零,CE取消输入,%计算并显示第一个操作数的百分比。
二、控件:1个label,20个commandbutton。
三、计算器运行界面:四、详细代码:Option ExplicitDim Op1, Op2 '前面输入的操作数Dim DecimalFlag As Integer '小数点仍然存在吗?Dim NumOps As Integer '操作数个数Dim LastInput '指示上一次按键事件的类型Dim OpFlag '指示未完成的操作Dim TempReadout' C (取消) 按钮的Click 事件过程' 重新设置显示并初始化变量Private Sub Cancel_Click()Readout = Format(0, "0.")Op1 = 0Op2 = 0Form_LoadEnd Sub' CE (取消输入) 按钮的Click 事件过程Private Sub CancelEntry_Click()Readout = Format(0, "0.")DecimalFlag = FalseLastInput = "CE"End Sub' 小数点(.) 按钮的Click 事件过程' 如果上一次按键为运算符,初始化readout 为"0.";' 否则显示时追加一个小数点Private Sub Decimal_Click()If LastInput = "NEG" ThenReadout = Format(0, "-0.")ElseIf LastInput <> "NUMS" ThenReadout = Format(0, "0.")End IfDecimalFlag = TrueLastInput = "NUMS"End Sub' 窗体的初始化过程' 设置所有变量为其初始值Private Sub Form_Load()DecimalFlag = FalseNumOps = 0LastInput = "NONE"OpFlag = " "Readout = Format(0, "0.")'Decimal.Caption = Format(0, ".")End 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 LastInput = "NEG" Then Readout = "-" & ReadoutLastInput = "NUMS"End Sub' 运算符(+, -, x, /, =) 的Click 事件过程' 如果接下来的按键是数字键,增加NumOps。
用VB制作计算器
用VB制作计算器在VB编程语言中,可以使用Windows Forms应用程序来制作一个简单的计算器。
Windows Forms应用程序是VB的一种可视化编程工具,可以为用户提供一个图形用户界面。
首先,我们需要创建一个新的Windows Forms应用程序项目,并打开默认生成的Form1窗体。
接下来,我们可以使用Windows Forms控件来创建一个计算器的用户界面。
在Form1窗体上,我们可以添加一个TextBox控件用于显示计算结果,并设置其属性为只读。
```vbPrivate ReadOnly resultTextBox As TextBox = New TextBox```然后,我们可以添加一些Button控件来表示计算器的数字和操作符。
我们可以使用按钮的Click事件来处理用户的点击操作。
```vbPrivate ReadOnly buttons As List(Of Button) = New List(Of Button)```接下来,我们需要实现按钮的Click事件处理程序来执行相应的计算逻辑。
我们可以使用Eval函数来计算表达式的值,并将结果显示在TextBox中。
Private Sub Button_Click(sender As Object, e As EventArgs) Dim button As Button = TryCast(sender, Button)If button IsNot Nothing ThenDim buttonText As String = button.TextIf buttonText = "=" Then'计算表达式的值Dim expression As String = resultTextBox.TextDim value As Double = Eval(expression)resultTextBox.Text = value.ToStringElseIf buttonText = "C" Then'清空文本框resultTextBox.Text = ""Else'添加数字或操作符resultTextBox.Text += buttonTextEnd IfEnd IfEnd Sub最后,我们需要在窗体的构造函数或Load事件处理程序中将按钮和TextBox添加到窗体上。
VB课程设计报告计算器.doc
VB课程设计(论文)任务书土木建筑学院测绘专业 2 班一、课程设计(论文)题目:滚动字幕板二、课程设计(论文)工作自2011 年 6 月26日起至 2011 年7 月 3 日止三、课程设计(论文) 地点: 计算中心8#501四、课程设计(论文)内容要求:1. 本课程设计的目的(1)进一步巩固和加深对“VB程序设计”课程基本知识的理解和掌握,了解VB语言在项目开发中的应用。
(2)学习程序设计开发的一般方法,了解和掌握项目开发过程及方式,培养正确的设计思想和分析问题、解决问题的能力,特别是项目设计能力。
(3)通过对标准化、规范化文档的掌握并查阅有关技术资料等,培养项目设计开发能力。
2. 课程设计的任务及要求(1) 基本要求:(1)对系统功能进行需求分析;(2)使用Visual basic开发环境进行程序开发;(3)提出系统的设计方案;(4)编写源程序代码并进行调试。
(2) 创新要求在基本要求达到后,可进行创新设计。
(3) 课程设计报告撰写及装订要求课程设计报告的撰写要求表述简明,图表准确。
报告按如下内容和顺序用A4纸进行打印并装订成册。
(1)封面采用统一的课程设计封面,并按要求填写好封面要求的个人信息和选题。
(2)设计任务书(3)评阅书(4)目录(5)正文(6)主要参考文献(4) 课程设计评分标准:(1)达到课程设计的目的与要求,程序的可读性较好,并调试正确,60分;(2)能正确回答设计的中老师所提问题,可增加10分;(3)课程设计报告书写规范整齐,可增加10分;(4)心得体会认真总结,可增加10分;(5)程序有创新性,可增加10分;成绩评定实行优秀、良好、中等、及格和不及格五个等级。
不及格者需重做。
(5) 课程设计进度安排(1)准备阶段(6学时):选择设计题目、了解设计目的要求、查阅相关资料。
(2)程序模块设计分析阶段(8学时):程序总体设计、详细设计。
(3) 代码编写调试阶段(10学时):程序模块代码编写、调试、测试。
