文档库 最新最全的文档下载
当前位置:文档库 › 用VB制作四则运算器步骤及代码

用VB制作四则运算器步骤及代码

用VB制作四则运算器步骤及代码
用VB制作四则运算器步骤及代码

一、实验目的、目标

综合运用本课程的相关知识,完成两位数四则运算器的设计、编写与测试,培养学生的实践动手能力,并检测本课程的学习效果。

二、实验内容

基本要求:

?两位数(指10-99的自然数)的加减乘除(除法指的是整除)运算,其中减法和除法必须满足“被操作数不小于操作数”(即可以不考虑20-56、4\20等情况)

?两个操作数、运算符均随机产生

?完成一题后自动判断对错,并显示出来

?可以随时查看已经完成的题目情况

?完成一题自动计算题目总数、正确数、错误数和正确率,并实时显示出来

扩展要求(不硬性规定):

?在答错的题目后面给出正确答案

?可增加时钟控件,10秒(或15秒)内必须完成一题

?限制题目数目为固定值(如20题、50题)

?把程序扩展成为多位数甚至任意位数的运算器

三、实验过程与步骤

1、在Visual Basic 系统环境下,打开“工程设计”窗口。

2、新建两个窗口Form1和Form2,添加控件并进行控件的设置,Form1作用是进行题目数量和答题时间的选择并将数据进行保存以供Form2调用,Form2的作用是进行随机两位数(指10-99的自然数)的加减乘除(除法指的是整除)运算,完成一题后自动判断对错,给出错误题目的正确答案,并显示出来,添加时间钟控,显示计算题目总数、正确数、错误数和正确率。

3、在Form1窗口,双击控件打开代码窗口,设计窗体及控件的事件代码。采用单选的形式选择题目数量和答题时间,当点击确定按钮时,调用Form2,当点击退出时,退出整个程序。

Public tishu As Integer, shijian As Integer

Private Sub Form_Load()

Text1.Visible = False

Text2.Visible = False

Picture1.Height = Form1.Height

Picture1.Width = Form1.Width

Form1.Show

MsgBox "请选择题量和答题时间!", 48, "提示"

Form2.Hide

Unload Form2

End Sub

Private Sub Option1_Click(Index As Integer)

tishu = Val(Option1(Index).Caption)

Text1.Text = tishu

End Sub

Private Sub Option2_Click(Index As Integer)

shijian = Val(Option2(Index).Caption)

Text2.Text = shijian

End Sub

Private Sub Command1_Click()

MsgBox "请直接在文本框中输入数字作答(其中除法为整除)," & vbLf & "回车完成一题,系统自动生成下一题", , "提示"

Form2.Show

Form1.Hide

End Sub

Private Sub Command2_Click()

End

End Sub

4、在Form2窗口,双击控件打开代码窗口,设计窗体及控件的事件代码。(1)定义变量

Dim a() As Integer

Dim b() As Integer

Dim c() As Integer

Dim result() As Double

Dim cou As Integer

Dim n As String

Dim X As String

Dim i As Integer

Dim p As Integer

Dim sum As Integer

Dim right As Integer

Dim wrong As Integer

Dim w As Double

Dim ww As String

Dim S As Integer

Dim d As Integer

(2)两位随机数(指10-99的自然数)的加减乘除(除法指的是整除)运算

Private Sub product()

ReDim Preserve a(cou)

ReDim Preserve b(cou)

ReDim Preserve c(cou)

ReDim Preserve result(cou)

a(cou) = 10 + Int(Rnd * 90)

b(cou) = 1 + Int(Rnd * 4)

c(cou) = 10 + Int(Rnd * 90)

Select Case b(cou)

Case 1

Label1.Caption = CStr(a(cou))

Label3.Caption = CStr(c(cou))

result(cou) = a(cou) + c(cou)

Label2.Caption = "+"

Case 2

If Val(CStr(a(cou))) > Val(CStr(c(cou))) Then

Label1.Caption = CStr(a(cou))

Label3.Caption = CStr(c(cou))

result(cou) = a(cou) - c(cou)

Else

Label1.Caption = CStr(c(cou))

Label3.Caption = CStr(a(cou))

result(cou) = c(cou) - a(cou)

End If

Label2.Caption = "-"

Case 3

Label1.Caption = CStr(a(cou))

Label3.Caption = CStr(c(cou))

result(cou) = a(cou) * c(cou)

Label2.Caption = "*"

Case 4

If Val(CStr(a(cou))) > Val(CStr(c(cou))) Then

Label1.Caption = CStr(a(cou))

Label3.Caption = CStr(c(cou))

result(cou) = Int(a(cou) / c(cou))

Else

Label1.Caption = CStr(c(cou))

Label3.Caption = CStr(a(cou))

result(cou) = Int(c(cou) / a(cou))

End If

Label2.Caption = "/"

End Select

End Sub

(3)设定Form2加载时的相关数据

Private Sub Form_Load()

Picture1.Height = Form2.Height

Picture1.Width = Form2.Width

Randomize

Call product

S = Val(Form1.Text2.Text)

Label9.Caption = "剩余时间" & Space(2) & S & Space(1) & "S"

Label10.Caption = "总题数:" & Space(2) & Val(Form1.Text1.Text)

sum = 0

right = 0

wrong = 0

w = 0

End Sub

(4)通过一个钟控和一个文本框的回车键方法实现两位随机数(指10-99的自然数)的加减乘除(除法指的是整除)运算的判断,给出错误答案并将式子显示出来,统计正确题数和错误题数

Private Sub Timer1_Timer()

If p >= 0 Then

i = i + 1

p = S - i

Label9.Caption = "剩余时间" & Space(2) & p & Space(1) & "S"

End If

If p = 0 Then

wrong = wrong + 1

Label7.Caption = "错误题数:" & Space(2) & wrong

n = "×"

X = result(cou)

List1.AddItem (Label1.Caption & Label2.Caption & Label3.Caption & Label4.Caption & Text1.Text & Chr(32) & CStr(n) & Space(3) & "答案是" & CStr(X))

i = -1

Call product

End If

If sum >= Val(Form1.Text1.Text) Then

MsgBox "共答" & Val(Form1.Text1.Text) & "题," & "正确" & right & "题," & "错误" & wrong & "题," & "正确率为" & ww, , "成绩"

Unload Form2

Form1.Show

Load Form1

MsgBox "请重新选择题量和答题时间或者退出系统", 48, "提示"

End If

End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then

i = -1

If Text1.Text = "" Or IsNumeric(Text1.Text) = False Then

MsgBox "请输入答案!", 48, "提示"

Else

If Val(Text1.Text) <> result(cou) Then n = "×" Else n = "√"

If n = "×" Then

wrong = wrong + 1

Label7.Caption = "错误题数:" & Space(2) & wrong

X = result(cou)

List1.AddItem (Label1.Caption & Label2.Caption & Label3.Caption & Label4.Caption & Text1.Text & Chr(32) & CStr(n) & Space(3) & "答案是" & CStr(X))

Else

right = right + 1

Label6.Caption = "正确题数:" & Space(2) & right

List1.AddItem (Label1.Caption & Label2.Caption & Label3.Caption & Label4.Caption & Text1.Text & Chr(32) & CStr(n))

End If

Text1.Text = ""

End If

Call product

End If

End Sub

(5)利用另一个钟控统计已答题数和正确率

Private Sub Timer2_Timer()

sum = right + wrong

Label5.Caption = "已答题数:" & Space(2) & sum

If sum > 0 Then

w = right / sum

If w = 0 Then

ww = w

Label8.Caption = "正确率:" & Space(2) & ww

Else

ww = Format(w, "#.###") * 100 & "%"

Label8.Caption = "正确率:" & Space(2) & ww

End If

End If

End Sub

(6)利用两个按键控件和一个图形显示控件分别实现重新开始、退出系统、识别等功能

Private Sub Command3_Click()

Unload Form2

Form1.Show

Load Form1

MsgBox "请重新选择题量和答题时间或者退出系统", 48, "提示"

End Sub

Private Sub Command1_Click()

End

End Sub

Private Sub Picture2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

MsgBox "版权所有,请勿模仿", 48, "提示"

End Sub

四、测试数据及运行结果

【输入的测试数据,输出的结果】

五、实验总结、经验分享

【简单叙述心得,指出本次上机实验的关键环节或关键点;若经多次失败最终成功,请阐述失败之处和导致失败的原因,并简单给出你是如何一步步成功(或经验分享);若本次上机实验最终没有成功,则阐述成败之处及其原因分析。无论何种情况,请进行自我评价】

VB6.0的小程序计算器

VB6.0的小程序计算器 对于刚入门学习VB6的朋友来说肯定会做些小程序吧,这里就是给大家演示个简单的计算器程序,仅供参考啦。 界面上加减乘除四个按钮分别是cmdAdd、cmdPlus、cmdMultiple、cmdDevide,小数点按钮是cmdDot,负号按钮是cmdMinuse,数字0~9为了偷懒,用了控件数组cmdNumber(0)~ cmdNumber(9),上面txtShow是显示数字和结果用的,txtOperate是显示中间步骤的。 思路大致是这样,点加减乘除这类操作符的时候,把当前txtShow的值保存在模块变量mstrParam1里,同时把操作符保存到mstrOperate里,按等于号时把先把当前txtShow的值保存在模块变量mstrParam2里,然后对mstrParam1和mstrParam2进行运算,当然要记得设法把String转换成数值进行运算。 转换的过程要注意,这里是用的Variant数据类型,vParam1和vParam2都是Variant 类型,保存的是mstrParam1和mstrParam2的数值。之所以不用integer、long、double 这些标准类型,是因为这些类型都有大小限制,做出来用着不方便,VB最大的整型long才到 2147483647,这意味着计算器的计算结果只能限制在9位到10位。而Variant类型可以支持非常大的数,具体多大不清楚,但起码几十位是能够支持的。另外,最后算完的结果也要做格式化,因为如果数值非常大的话,VB会自动转成科学计数法,所以要用Format函数进行调整。 如果需要源代码的话在我百度空间里留言。https://www.wendangku.net/doc/7a2191119.html,/zhaozhigang517

计算器vb源代码

计算器v b源代码 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】

计算器vb源代码.txt性格本身没有好坏,乐观和悲观对这个世界都有贡献,前者发明了飞机,后者发明了降落伞。完全版的前后台代码... '请把下面的保存为 VERSION Begin Calculator BorderStyle = 1 'Fixed Single Caption = "计算器" ClientHeight = 2970 ClientLeft = 2580 ClientTop = 1485 ClientWidth = 3270 ClipControls = 0 'False BeginProperty Font Name = "System" Size = Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Icon = "":0000 LinkMode = 1 'Source LinkTopic = "Form1" MaxButton = 0 'False PaletteMode = 1 'UseZOrder ScaleHeight = 2970 ScaleWidth = 3270 WhatsThisHelp = -1 'True Begin Number Caption = "7" Height = 480 Index = 7 Left = 120 TabIndex = 7 Top = 600 Width = 480 End

VB计算器源代码

Dim sum As Double Dim flag1 As Integer Dim flag2 As Integer Public wen As Double Private Sub Command19_Click() Command24_Click Operator = Index NewEntry = True End Sub Private Sub Command1_Click(Index As Integer) Select Case Index Case 0 wen = 0 Label1.Caption = "" Case 1 Text1.Text = Str(wen) Case 2 If Text1.Text = "" Then wen = 0 Label1.Caption = "" Else wen = Val(Text1.Text) Label1.Caption = "M" End If Text1.Text = "" Case 3 wen = Val(Text1.Text) + wen Label1.Caption = "M" End Select End Sub Private Sub Command12_Click() If Text1.Text <> "" Then

Text1.Text = Text1.Text * -1 Else MsgBox "输入不能为空!", vbOKOnly, "警告" Text1.SetFocus End If End Sub Private Sub Command16_Click() If InStr(Text1.Text, ".") = 0 Then Text1.Text = Text1.Text & "." Else Exit Sub End If End Sub Private Sub Command21_Click() Text1.Text = Str(Sqr(Val(Text1.Text))) End Sub Private Sub Command22_Click() sum = Text1.Text flag1 = 5 flag2 = 1 End Sub Private Sub Command23_Click() Text1.Text = Str(Val(Text1.Text / 1)) flag2 = 0 End Sub Private Sub Command24_Click() Select Case (flag1) Case 1 Text1.Text = sum + Text1.Text Case 2 Text1.Text = sum - Text1.Text Case 3 Text1.Text = sum * Text1.Text Case 4 If Text1.Text = 0 Then df = MsgBox("除数不能为零!请重新输入.", vbOKOnly + vbInformation, "警告") Text1.Text = "" Text1.SetFocus Exit Sub

用VB编写一个简单计算器

用VB编写一个简单计算器 一、功能:实现简单的加减乘除功能,C归零,CE取消输入,%计算并显示第一个操作数的百分比。 二、控件:1个label,20个commandbutton。 三、计算器运行界面: 四、详细代码: Option Explicit Dim 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 = 0 Op2 = 0 Form_Load End Sub ' CE (取消输入) 按钮的Click 事件过程

Private Sub CancelEntry_Click() Readout = Format(0, "0.") DecimalFlag = False LastInput = "CE" End Sub ' 小数点(.) 按钮的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 ' 窗体的初始化过程 ' 设置所有变量为其初始值 Private Sub Form_Load() DecimalFlag = False NumOps = 0 LastInput = "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" 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

VB简单计算器编程代码(附图)

课程设计说明书正文 一、题目:计算器的创作和相应程序的编写 二、本题的主要功能:通过计算器的创作熟悉各控件的属性和练习程序的编写。 三、程序截图: 四、源程序清单: Begin VB.Form Form1 Caption = "计算器" ClientHeight = 3765 ClientLeft = 165 ClientTop = 855 ClientWidth = 5355 Icon = "Form1.frx":0000 LinkTopic = "Form1" LockControls = -1 'True ScaleHeight = 3765 ScaleWidth = 5355 StartUpPosition = 3 '窗口缺省 Begin https://www.wendangku.net/doc/7a2191119.html,mandButton Command4 Caption = "=" Height = 495 Left = 4470 TabIndex = 28 Top = 3060

Width = 735 End Begin https://www.wendangku.net/doc/7a2191119.html,mandButton Command3 Caption = "1/x" Height = 495 Left = 4470 TabIndex = 27 Top = 2520 Width = 735 End Begin https://www.wendangku.net/doc/7a2191119.html,mandButton Command2 Caption = "%" Height = 495 Left = 4470 TabIndex = 26 Top = 1980 Width = 735 End Begin https://www.wendangku.net/doc/7a2191119.html,mandButton Command1 Caption = "sqrt" Height = 495 Left = 4470 TabIndex = 25 Top = 1440 Width = 735 End Begin https://www.wendangku.net/doc/7a2191119.html,mandButton cmbDOT Caption = "." Height = 495 Left = 2910 TabIndex = 24 Top = 3060 Width = 735 End

vb编写的计算器代码

Option Explicit Const CC1 = 1E+28, CC2 = 0.000000000000001, CC3 = 100000000000000# Dim Op1, Op2 ' 预先输入操作数。 Dim DecFlag% ' 小数点存在吗? Dim Klast ' 指示上一次按键事件的类型。 Dim OpFlag ' 指示未完成的操作。 Dim Kedt% ' 指示键入状态,0-未操作,1-算过,2-改过Dim MemNum ' 存储器 Dim Temp2 ' Function sqr28(a As V ariant) As V ariant Dim c As Double c = Sqr(a) If c > CC3 Or c < CC2 Then sqr28 = c Else sqr28 = CDec(Sqr(a)) sqr28 = sqr28 - (sqr28 * sqr28 - a) / sqr28 * 0.5 End If End Function Function cur28(a As V ariant) As V ariant Dim t As V ariant, c As Double c = Abs(a) ^ (1 / 3) If c > 1000000000# Or c < 0.000000001 Then cur28 = c * Sgn(a) Else cur28 = CDec(c) * Sgn(a) t = cur28 * cur28 cur28 = cur28 - (cur28 * t - a) / t / 3 End If End Function ' 存入存储器 Private Sub BtMS_Click() If Kedt = 2 Then GetOp1 MemNum = Op1 LabMem.Visible = MemNum <> 0 Kedt = 1 End Sub ' 取出存储器数据 Private Sub BtMr_Click() CancelEntry_Click Op1 = MemNum

VB计算器代码

第 3 章计算器第3 章计算器 3.1 开发任务 在本任务中,我们要分别实现基本算术运算、累加和计算、阶乘计算、三角函数计算、排列组合计算和对数计算等多个子任务。 3.1.1 计算器的实验版本 1. 程序界面设计 (1)新建工程 打开VB开发环境,在工程浏览器窗口中(见图3-1左),将工程名称改为“计算器”(如图3-1中);再将窗体名称改为“frmCalculator”如图3-1右)。 图3-1 改变工程和窗体名称 将窗体文件保存为“frmCalculator.frm”,工程文件保存为“prjCalculator”。 (2)添加控件 在本工程中,我们需要用到下列控件:1个文本框用于输入运算数和输出结果;16个按钮构成计算器键盘,其中10个用于输入10个数字字符,1个用于输入小数点,一个用于触发计算的等号,另外4个用于选择加、减、乘、除运算符。 首先在窗体上部添加一个文本框,默认名称是Text1,调整好大小和位置(如图3-2),并将属性Text的值清空,再将对齐方式Alignment 改成“1 -

Right Justify”右对齐; 图3-2 添加文本框控件 再来制作键盘,第1步,添加第1个按钮。在文本框下方添加一个按钮Command1,将它调整为一个按键般大小,并把Caption属性改成“1”。 第2步,添加第2个按钮。添加外形类似的按钮,用复制的方法即可。不过要注意,在粘贴时VB会询问“已经有一个控件为"Command1 "。创建一个控件数组吗?”(见图3-3),一定要回答“否”。将复制好的按钮Command2的Caption改成2,并移动到Command1的右边。 图3-3 创建控件数组询问对话框 第3步,重复进行粘贴操作,依次制作其它按钮,按图3-4的布局排列。前9个按钮的Caption改成与它们的顺序号相同,Command10的Caption改为“0”,Command11的Caption改为“.”,ommand12的Caption改为“=”,Command13~Command16的Caption依次改为“+”、“-”、“*”、“/”。 图3-4键盘制作 2. 程序代码编写 (1)数字按钮的处理

VB编写简易计算器(附图)

用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 Sub Private Sub Command2_Click() Text1.Text = Text1.Text + "." If (InStr(Text1.Text, ".") = 1) Then'第一位不能为小数 Text1.Text = "" End If If InStr(Text1.Text, ".") < Len(Text1.Text) Then '防止出现两个小数点 Text1.Text = Left(Text1.Text, Len(Text1.Text) - 1) End If End Sub Private Sub Command3_Click() s2 = Val(Text1.Text) '开始加减乘除运算 Select Case ysf Case "+" Text1.Text = s1 + s2 Case "-" Text1.Text = s1 - s2 Case "*" Text1.Text = s1 * s2 Case "/" If s2 = 0 Then MsgBox "分母不能为零!" Text1.Text = "" Else Text1.Text = s1 / s2 End If End Select Text1 = IIf(Left(Text1.Text, 1) = ".", 0 & Text1.Text, Text1.Text) '这个很关键,如果没有这个的话,得出小于1的小数前面没有0 End Sub Private Sub Command4_Click() If Text1.Text = "" Then '文本为空就结束 Exit Sub End If

VB编写简单计算器程序

Option Explicit Dim LastInput As String * 3 '记录上次按下的按键 Dim Num1 As Double '第一个操作数 Dim Num2 As Double '第二个操作数 Dim OptType As Integer '按下哪一个操作符 Dim Result As Double '表示运算结果 Dim shuzhi As Integer '表示当前采用的shuzhi Dim FirstNum As Boolean '是否是第一个操作数 Sub keyp(keynum As Integer) Dim CHAR As String * 1 CHAR = Chr(keynum) If CHAR = "+" Or keynum = 43 Then Command5(0).Value = True If CHAR = "-" Or keynum = 45 Then Command5(1).Value = True If CHAR = "*" Or keynum = 42 Then Command5(2).Value = True If CHAR = "/" Or keynum = 47 Then Command5(3).Value = True If shuzhi = 2 And CHAR >= "2" And CHAR <= "9" Then keynum = 0 Exit Sub End If If keynum >= 48 And keynum <= 57 Then Command1(keynum - 48).Value = True If keynum = 46 Then Command2.Value = True If UCase(CHAR) = "C" Then Command3.Value = True If keynum = 27 Then Command4.Value = True If keynum = 61 Then Command6.Value = True keynum = 0 End Sub Function angle(ByVal j1 As Integer) As Single angle = j1 If Option1.Value Then angle = j1 * 3.14 / 180 End Function Function ArcSin(ByVal Num As Single) As Single If Num = 1 Then ArcSin = 3.1415926 / 2 ElseIf Num = -1 Then ArcSin = 3.1415926 * 3 / 2 Else ArcSin = Atn(Num / Sqr(-Num * Num + 1)) End If If Option1.Value Then ArcSin = ArcSin * 180 / 3.1415926 End Function Function ArcCos(ByVal Num As Single) As Single If Num = 1 Then ArcCos = 0 ElseIf Num = -1 Then ArcCos = 3.1415926 Else ArcCos = Atn(-Num / Sqr(-Num * Num + 1)) + 2 * Atn(1)

VB6.0的小程序计算器

的小程序计算器 对于刚入门学习VB6 的朋友来说肯定会做些小程序吧,这里就是给大家演示个简单的计算器程序,仅供参考啦。 界面上加减乘除四个按钮分别是cmdAdd cmdPlus、cmdMultiple、cmdDevide,小数点按钮是cmdDot,负号按钮是cmdMinuse,数字0?9为了偷懒,用了控件数组cmdNumber(O)~ cmdNumber(9),上面txtShow 是显示数字和结果用的,txtOperate 是显示中间步骤的。 思路大致是这样, 点加减乘除这类操作符的时候, 把当前txtShow 的值保存在模块变量mstrParam1 里,同时把操作符保存到mstrOperate 里,按等于号时把先把当前txtShow 的值保存在模块变量mstrParam2 里,然后对mstrParam1 和mstrParam2 进行运算,当然要记得设法把String 转换成数值进行运算。 转换的过程要注意,这里是用的Variant 数据类型, vParam1 和vParam2 都是Variant 类型,保存的是mstrParam1 和mstrParam2 的数值。之所以不用integer 、long 、double 这些标准类型,是因为这些类型都有大小限制,做出来用着不方便,VB最大的整型long才 到47 ,这意味着计算器的计算结果只能限制在9位到10位。而Variant类型可以支持非常 大的数,具体多大不清楚,但起码几十位是能够支持的。另外,最后算完的结果也要做格式化,因为如果数值非常大的话,VB会自动转成科学计数法,所以要用Format函数进行调整。 如果需要源代码的话在我百度空间里留言。Explicit Private Const mstrFORMATDEFAULT As String = "#.##" Private mstrParam1 As String, mstrParam2 As String Private mstrOperate As String Private Sub cmdAdd_Click() mstrParam1 = Trim mstrOperate = "+" ___ nil = & mstrParam1 & vbCrLf = & mstrOperate & vbCrLf End Sub Private Sub cmdPlus_Click() mstrParam1 = Trim mstrOperate = "-" ____ Illi

VB程序语言设计科学计算器

V B程序语言设计科学计 算器 Document number:NOCG-YUNOO-BUYTT-UU986-1986UT

VB程序语言设计 课程大作业 题目名称:科学计算器设计 班级: 姓名: 学号: 课程教师:温海骏 学期:2014-2015学年第2学期 完成时间:2015年5月 一、实验内容 《科学计算器》设计 本科学计算器是一种能实现加、减、乘、除、倒数、乘方、正玄、余玄、正切、In、n!函数、进制、弧度转换等运算功能,并带有存储器、统计框等,基本实现了Windows自带计算器的所有功能。要实现计算器的这些功能就用到我们所学的VB知识编写程序来实现运算功能并解决问题,也是我们实训要达到的目的。 二、实验目的 1、通过本实验,进一步理解VisualBasic的编程方法。 2、提高运用VisualBasic编程的能力。 3、培养对所学知识的综合运用能力。 4、用所学的VB知识编写程序来实现运算功能并解决问题,达到实训的目的

三、实验设备 计算机、VB软件 四、实验过程 1、课题的选材过程(设计思路) 由VB程序设计的科学计算器是一种能实现加、减、乘、除、倒数、乘方、正玄、余玄、正切、In、n!函数、进制、弧度转换等运算功能,并带有存储器、统计框等,基本实现了Windows自带计算器的所有功能。 思路:为实现上述功能,我的基本思路是在窗体上建立4个控件数组,第一个控件数组是标准型,实现简单的四则运算;第二个控件数组是科学型,用来进行正弦余弦、正切余切、正割余割、反正弦反余弦、对数和n!等函数功能;第三个控件数组为程序员,实现进制转换;另外一个按钮实现单位转换。 2、设计的将要达到的目标 实现加、减、乘、除、倒数、乘方、正玄、余玄、正切、In、n!函数、进制、弧度转换等运算功能,并带有存储器、统计框等,基本实现Windows自带计算器的所有功能。 3、总体设计结构与功能 (1)总体设计结构介绍(绘制:结构流程图) 结构流程图如下:

VB计算器程序代码

Public Class Form1 Public zt As Integer Public fh As Integer Public x, y As Single Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load zt = 1 fh = 0 TextBox1.Text = 0 x = 0 y = 0 End Sub Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click If zt = 1 Then TextBox1.Text = TextBox1.Text * 10 + 1 zt = 2 ElseIf zt = 2 Then TextBox1.Text = TextBox1.Text * 10 + 1 ElseIf zt = 3 Then TextBox1.Text = 1 zt = 4 ElseIf zt = 4 Then TextBox1.Text = TextBox1.Text * 10 + 1 End If End Sub Private Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click If zt = 1 Then TextBox1.Text = TextBox1.Text * 10 + 2 zt = 2 ElseIf zt = 2 Then TextBox1.Text = TextBox1.Text * 10 + 2 ElseIf zt = 3 Then TextBox1.Text = 2 zt = 4 ElseIf zt = 4 Then TextBox1.Text = TextBox1.Text * 10 + 2 End If End Sub

VB程序语言设计科学计算器

V B程序语言设计科学 计算器 标准化工作室编码[XX968T-XX89628-XJ668-XT689N]

VB程序语言设计 课程大作业 题目名称:科学计算器设计 班级: 姓名: 学号: 课程教师:温海骏 学期:2014-2015学年第2学期 完成时间:2015年5月 一、实验内容 《科学计算器》设计 本科学计算器是一种能实现加、减、乘、除、倒数、乘方、正玄、余玄、正切、In、n!函数、进制、弧度转换等运算功能,并带有存储器、统计框等,基本实现了Windows自带计算器的所有功能。要实现计算器的这些功能就用到我们所学的VB知识编写程序来实现运算功能并解决问题,也是我们实训要达到的目的。 二、实验目的 1、通过本实验,进一步理解Visual?Basic的编程方法。 2、?提高运用Visual?Basic编程的能力。 3、培养对所学知识的综合运用能力。 4、用所学的VB知识编写程序来实现运算功能并解决问题,达到实训的目的 三、实验设备 计算机、VB软件 四、实验过程 1、课题的选材过程(设计思路) 由VB程序设计的科学计算器是一种能实现加、减、乘、除、倒数、乘方、正玄、余玄、正切、In、n!函数、进制、弧度转换等运算功能,并带有存储器、统计框等,基本实现了Windows自带计算器的所有功能。

思路:为实现上述功能,我的基本思路是在窗体上建立4个控件数组,第一个控件数组是标准型,实现简单的四则运算;第二个控件数组是科学型,用来进行正弦余弦、正切余切、正割余割、反正弦反余弦、对数和n!等函数功能;第三个控件数组为程序员,实现进制转换;另外一个按钮实现单位转换。 2、设计的将要达到的目标 实现加、减、乘、除、倒数、乘方、正玄、余玄、正切、In、n!函数、进制、弧度转换等运算功能,并带有存储器、统计框等,基本实现Windows自带计算器的所有功能。 3、总体设计结构与功能 (1)总体设计结构介绍(绘制:结构流程图) (2)各功能模块运行界面的功能、算法和操作步骤 VB程序算法如下: 4、设计结果分析(运行结果展示、正确性分析) 经调试,程序运行基本正确。运行结果如下: 五、总结 1、对学习者知识的要求:

VB简单计算器编程代码(附图)

Public sum As Double Public k As String "定义全局变量 Private Sub Command1_Click(Index As Integer) Select Case Index Case 1 Text1.Text = Text1.Text & 1 Case 2 Text1.Text = Text1.Text & 2 Case 3 Text1.Text = Text1.Text & 3 Case 4 Text1.Text = Text1.Text & 4 Case 5 Text1.Text = Text1.Text & 5 Case 6 Text1.Text = Text1.Text & 6 Case 7 Text1.Text = Text1.Text & 7 Case 8 Text1.Text = Text1.Text & 8 Case 9 Text1.Text = Text1.Text & 9 Case 0 Text1.Text = Text1.Text & 0 Case 10 Text1.Text = Text1.Text & "."

End Select End Sub Private Sub Command2_Click() sum = Text1.Text Text1.Text = "" k = "+" End Sub Private Sub Command3_Click() sum = Text1.Text Text1.Text = "" k = "-" End Sub Private Sub Command4_Click() sum = Text1.Text Text1.Text = "" k = "*" End Sub Private Sub Command5_Click() sum = Text1.Text Text1.Text = "" k = "/" End Sub Private Sub Command6_Click() Dim a As Double a = Text1.Text If k = "+" Then sum = sum + a Text1.Text = sum ElseIf k = "-" Then sum = sum - a Text1.Text = sum ElseIf k = "*" Then sum = sum * a Text1.Text = sum ElseIf k = "/" Then sum = sum / a Text1.Text = sum End If End 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的中心思想就是要便于使用,无论是新手或者专家。VB使用了可以简单建立应用程序的GUI系统,但是又可以开发相当复杂的程序。VB的程序是一种基于窗体的可视化组件安排的联合,并且增加代码来指定组件的属性和方法。因为默认的属性和方法已经有一部分定义在了组件内,所以程序员不用写多少代码就可以完成一个简单的程序。过去的版本里面VB程序的性能问题一直被放在了桌面上,但是随着计算机速度的飞速增加,关于性能的争论已经越来越少。窗体控件的增加和改变可以用拖放技术实现。一个排列满控件的工具箱用来显示可用控件(比如文本框或者按钮)。每个控件都有自己的属性和事件。默认的属性值会在控件创建的时候提供,但是程序员也可以进行更改。很多的属性值可以在运行时候随着用户的动作和修改进行改动,这样就形成了一个动态的程序。举个例子来说:窗体的大小改变事件中加入了可以改变控件位置的代码,在运行时候每当用户更改窗口大小,控

毕业设计(论文)-基于VB实用计算器的设计

基于VB实用计算器的设计Design of practical Calculator base on VB 作者姓名: 学科专业:电子设备技术 学院(系部):机电工程系 指导教师: 2010年12月

随着科学技术的不断提高,计算机科学日渐成熟 ,它已进入人类社会的各个领域并发挥着越来越重要的作用。计算器软件系统应该能够为用户提供丰富的手段。使用计算器运算,具有着其他方式所无法比拟的优点.例如查找方便、价格便宜、可保存信息等。这些优点能够极大地提高效率,也是国家的科学化、信息化管理,与世界接轨的重要条件。 本文着重分析计算器的运算法则与代码的关系以及控件数组的创建和使用技巧,并在Microsoft公司出品的一个面向对象的可视化开发工具Visual Basic上,采用VB语言及窗体界面的设计方法,界面设计直接在屏幕上显示出窗口、文本框、按钮等区别类型对象并为每个对象设置属性。实现了基于Visual Basic 6.0软件上运行控制的设计方法设计一个简易的计算器,可视化界面给操作带来很大的方便。 关键词:Visual Basic;计算器;对象;代码

With the continuous improvement of science and technology, computer science increasingly mature, it has access to all areas of human society, and play an increasingly important role.Calculator software system should be able to provide users with a rich means. Use a calculator for mathematical calculations, with an unmatched by other advantages. For example, to find convenient, cheap and save information. These advantages can greatly improve efficiency, is also the country's scientific, information management, an important condition for integration with the world. This article focuses on analysis of algorithms and code calculator relationship and control the creation and use of an array of skills and Microsoft companies produce go in an object-oriented visual development tools, Visual Basic, using the VB language and interface design of form methods, interface design directly on the screen shown window, text boxes, buttons, etc. for each different type of object and object to set properties. Achieved based on Visual Basic 6.0 software, running on the control design method to design a simple calculator, visual interface to the operator great convenience. Keywords:Visual Basic, Calculator, Object, Code

简易计算器VB课程设计报告

简易计算器 要求:用VB做类似于windows自带的计算器程序 绪论:Visual Basic (VE)是一种由微软公司开发的包含协助开发环境的事 件驱动编程语言。从任何标准来说,VB都是世界上使用人数最多的语言 不仅是盛赞VB的开发者还是抱怨VB的开发者的数量。它源自于BASIC编程语言。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD系统,可以轻易的使用DAO RDO ADO连接数据库,或者轻松的创建ActiveX控件。程序员可以轻松的使用VB提供的组件快速建立一个应用程序。 1?界面设计: 根据WINDOWS计算器界面模型,修改后制作简易计算器界面。新建一个 窗体,添加一个文本框用于显示运算数字和结果,添加若干按钮包括(数字0—9, +,-,*,/,=,x A,1/x,清屏,退出)。 当单击数字按钮时输入运算数时,单击运算符按钮,再单击“=”按钮,则再文 本框中显示计算结果。具体如下图

计算器界面设计示意图 流程图如下: 简易计算器 退出程序2.程序代码: Dim A, B As Si ngle Dim Op As Stri ng Private Sub Comma nd1_Click() Textl.Text = Text1.Text + Comma nd1.Capti on End Sub

Private Sub Comma nd14_Click() '定义减法

If A = 0 The n A = Textl.Text Else B = Textl.Text End If Textl.Text ="" Op ="-" End Sub Private Sub Comma nd2_Click() Text1.Text = Text1.Text + Comma nd2.Caption End Sub Private Sub Comma nd20_Click() A = Textl.Text B = A A 2 Textl.Text = B End Sub Private Sub Comma nd3_Click() Textl.Text = Textl.Text + Comma nd3.Caption End Sub Private Sub Comma nd4_Click() Textl.Text = Textl.Text + Comma nd4.Capti on End Sub Private Sub Comma nd13_Click() If A = 0 The n A = Textl.Text Else B = Textl.Text End If Textl.Text ="" Op = "+" End Sub Private Sub Comma nd5_Click() Textl.Text = Textl.Text + Comma nd5.Capti on End Sub Private Sub Comma nd6_Click() Textl.Text = Textl.Text + Comma nd6.Caption End Sub Private Sub Comma nd17_Click() Textl.Text ="" A = 0: B = 0 End Sub Private Sub Comma nd19_Click() End '定义平方 '定义加法 清屏 End Sub

相关文档