用VB制作四则运算器步骤及代码
vb顺序结构程序实例

vb顺序结构程序实例一、题目:编写一个vb顺序结构程序,实现计算器功能,能够进行简单的四则运算。
二、程序设计思路:1.首先,我们需要用户输入两个操作数和一个运算符。
2.接下来,根据输入的运算符,选择相应的运算进行计算。
3.最后,将结果输出给用户。
三、程序设计实现:Option ExplicitSub Main'1.声明并初始化变量Dim num1 As DoubleDim num2 As DoubleDim operator As StringDim result As Double'2.提示用户输入操作数和运算符Console.WriteLine("请输入第一个操作数:")num1 = Console.ReadLineConsole.WriteLine("请输入第二个操作数:")num2 = Console.ReadLineConsole.WriteLine("请输入运算符(+、-、*、/):") operator = Console.ReadLine'3.根据输入的运算符,选择相应的运算进行计算Select Case operatorCase "+"result = num1 + num2Case "-"result = num1 - num2Case "*"result = num1 * num2Case "/"If num2 = 0 ThenConsole.WriteLine("除数不能为0!")Exit SubElseresult = num1 / num2End IfCase ElseConsole.WriteLine("请输入正确的运算符!")Exit SubEnd Select'4.将结果输出给用户Console.WriteLine("计算结果为:" & result)End Sub四、测试案例:1. 输入:num1 = 5, num2 = 3, operator = "+"输出:计算结果为:82. 输入:num1 = 5, num2 = 3, operator = "-"输出:计算结果为:23. 输入:num1 = 5, num2 = 3, operator = "*"输出:计算结果为:154. 输入:num1 = 6, num2 = 0, operator = "/"输出:除数不能为0!5. 输入:num1 = 6, num2 = 3, operator = "^"输出:请输入正确的运算符!五、总结:以上是一个简单的vb顺序结构程序示例,通过该程序我们可以输入两个操作数和一个运算符,然后根据运算符进行相应的运算并输出结果。
VB简单计算器(截图附代码)

VB程序简单计算器最近学完VB,感觉很好,写了个计算器程序,虽然花了不少时间,可也着实高兴。
其中遇到很多问题,最终也在各种资料中得到解决。
现在附上截图和全部代码,希望和大家交流一下,相互学习。
也希望能帮助到准备做计算器的同学。
计算器最终执行文件图标:计算器包括三个窗体(form):主页面form1:其中的“欢迎各位到此一游”是闪烁效果,呵呵,是自己想着无聊,就想出这么个玩意。
与计算器计算功能无关。
具体实现看下来代码。
Form1的实现代码:Public haha As BooleanPrivate Sub Command1_Click()Dim a As Integera = MsgBox("亲爱的你,真的想要退出本系统吗?", _vbYesNo + vbInformation + vbDefaultButton1, "退出系统前的询问撒(⊙o⊙)")If a = 6 Then '表示当选择“是”的时候的返回值EndEnd IfEnd SubPrivate Sub Command2_Click()Me.HideForm2.ShowEnd SubPrivate Sub Command3_Click()Me.HideForm3.ShowEnd SubPrivate Sub Form_Load()haha = FalseEnd SubPrivate Sub Timer1_Timer()haha = Not hahaIf haha ThenLabel2.ForeColor = &HFF00FFElseLabel2.ForeColor = vbWhiteEnd IfEnd Sub有些像图像等一些可见的控件属性就没在代码里写了,直接在属性里设置了。
页面(form2):此页面将鼠标点上去,还有意想不到的效果喲。
全部代码为:Dim isFocus1, isFocus2 As BooleanPrivate Sub Command1_Click()If isFocus1 Then '判断焦点在那个文本框中,便于实现按钮输入Text1.Text = Text1.Text & 0End IfIf isFocus2 ThenText2.Text = Text2.Text & 0End IfEnd SubPrivate Sub Command10_Click() If isFocus1 ThenText1.Text = Text1.Text & 9 End IfIf isFocus2 ThenText2.Text = Text2.Text & 9 End IfEnd SubPrivate Sub Command11_Click() If isFocus1 ThenText1.Text = Text1.Text & "." End IfIf isFocus2 ThenText2.Text = Text2.Text & "." End IfEnd SubPrivate Sub Command12_Click() If isFocus1 ThenText1.Text = -Val(Text1.Text)End IfIf isFocus2 ThenText2.Text = -Val(Text2.Text)End IfEnd SubPrivate Sub Command13_Click()Dim a As Integera = Val(Text1.Text) + Val(Text2.Text)Text3.Text = Val(Text1.Text) & "+" & Val(Text2.Text) & "=" & aIf Text1.Text = "" Or Text2.Text = "" ThenMsgBox "哼哼,双目运算一定要是两个数喔" & vbCrLf & vbCrLf & _ "不用说,补上去是必须的撒", vbCritical, "温馨小提醒(*^__^*)" End IfEnd SubPrivate Sub Command14_Click()Dim a As Integera = Val(Text1.Text) - Val(Text2.Text)Text3.Text = Val(Text1.Text) & "-" & Val(Text2.Text) & "=" & aIf Text1.Text = "" Or Text2.Text = "" ThenMsgBox "哼哼,双目运算一定要是两个数喔" & vbCrLf & vbCrLf & _ "不用说,补上去是必须的撒", vbCritical, "温馨小提醒(*^__^*)" End IfEnd SubPrivate Sub Command15_Click()a = Val(Text1.Text) * Val(Text2.Text)Text3.Text = Val(Text1.Text) & "×" & Val(Text2.Text) & "=" & aIf Text1.Text = "" Or Text2.Text = "" ThenMsgBox "哼哼,双目运算一定要是两个数喔" & vbCrLf & vbCrLf & _ "不用说,补上去是必须的撒", vbCritical, "温馨小提醒(*^__^*)" End IfEnd SubPrivate Sub Command16_Click() '除法的特殊性,除数不能为零If Val(Text2.Text) Thena = Val(Text1.Text) / Val(Text2.Text)Text3.Text = Val(Text1.Text) & "÷" & Val(Text2.Text) & "=" & aIf Text1.Text = "" Or Text2.Text = "" ThenMsgBox "哼哼,双目运算一定要是两个数喔" & vbCrLf & vbCrLf & _ "不用说,补上去是必须的撒", vbCritical, "温馨小提醒(*^__^*)" End IfElseText3.Text = "无穷大∞"MsgBox "亲,除数不可以为零的哟!", vbInformation, "矮油,不得了嘞(*^__^*)"Text2.Text = ""Text2.SetFocusEnd IfEnd SubPrivate Sub Command17_Click() '实现清零,并将焦点给文本框1Text1.Text = ""Text2.Text = ""Text3.Text = ""Text1.SetFocusEnd SubPrivate Sub Command18_Click()Me.Hide '进入计算器1Form1.ShowEnd SubPrivate Sub Command2_Click() If isFocus1 ThenText1.Text = Text1.Text & 1 End IfIf isFocus2 ThenText2.Text = Text2.Text & 1 End IfEnd SubPrivate Sub Command3_Click() If isFocus1 ThenText1.Text = Text1.Text & 2 End IfIf isFocus2 ThenText2.Text = Text2.Text & 2 End IfEnd SubPrivate Sub Command4_Click() If isFocus1 ThenText1.Text = Text1.Text & 3 End IfIf isFocus2 ThenText2.Text = Text2.Text & 3 End IfEnd SubPrivate Sub Command5_Click() If isFocus1 ThenText1.Text = Text1.Text & 4 End IfIf isFocus2 ThenText2.Text = Text2.Text & 4 End IfEnd SubPrivate Sub Command6_Click() If isFocus1 ThenText1.Text = Text1.Text & 5 End IfIf isFocus2 ThenText2.Text = Text2.Text & 5 End IfEnd SubPrivate Sub Command7_Click() If isFocus1 ThenText1.Text = Text1.Text & 6 End IfIf isFocus2 ThenText2.Text = Text2.Text & 6 End IfEnd SubPrivate Sub Command8_Click() If isFocus1 ThenText1.Text = Text1.Text & 7 End IfIf isFocus2 ThenText2.Text = Text2.Text & 7 End IfEnd SubPrivate Sub Command9_Click() If isFocus1 ThenText1.Text = Text1.Text & 8End IfIf isFocus2 ThenText2.Text = Text2.Text & 8End IfEnd SubPrivate Sub Form_Load()isFocus1 = False: isFocus2 = FalseEnd SubPrivate Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)Label4.ForeColor = vbBlackLabel4.FontUnderline = FalseLabel4.FontBold = FalseEnd SubPrivate Sub Label4_Click()Form3.ShowEnd SubPrivate Sub Label4_MouseMove(Button As Integer, Shift As Integer, X AsSingle, Y As Single)Label4.ForeColor = vbGreen Label4.FontUnderline = True Label4.FontBold = True End SubPrivate Sub Text1_GotFocus() isFocus1 = TrueisFocus2 = FalseEnd SubPrivate Sub Text2_GotFocus() isFocus2 = TrueisFocus1 = FalseEnd Sub页面(form3):这里面的亮点自己找哦。
VB教案——算术四则运算器

了解项目的要求,所需要的控件及相应的属性设置。了解需要用的算法。
认真听讲,对数据类型有一个基本的了解。知道可以通过查表来选择适合的数据类型。
认真听讲,
了解常量和变量的区别和基本概念
学会用DIM语句声明变量的方法
通过回答教师的提问,对比两种语句的写法来加深理解
学生分组以后进行属性设置和程序填空,对所学习的知识进行消化。
End Sub
Private Sub Command4_Click()
Text6.Text = Val(Text1.Text) / Val(Text2.Text)
End Sub
Private Sub Form_Load()
Text1.Text = “”
Text2.Text = “”
Text3.Text = “”
教学过程
教学内容
教师活动
学生活动
案例3-1算术四则运算器
内容回顾
案例2-3几何图形的面积计算
(1)掌握了常用的窗体方法
Print Cls Hide Show Move
(2)转换函数
Val(c)
(3)创建窗体界面
基础控件及其属性设置
本堂课主要内容
(1)了解本项目的设计要求并设计界面
(2)掌握数据类型的基础知识
和学生说明本堂课的主要内容:
通过广播系统对学生进行演示,并要求学生参照书本要求考虑各控件的属性设置。
讲授本项目所需要用到的理论知识,为学生理解项目打基础。
讲解常量和变量的基本知识,
讲解变量最基础的声明方法。
对作用域并不作要求。
通过对比的方法,提问学生,让学生知道正确的声明语句的写法。
将做好的半成品给学生,让学生进行适当的属性设置和程序编辑。
VB计算器的程序设计(附代码)

计算器的VB程序设计要求:1)设计一个可以进行四则运算的简单计算器。
该计算器可以进行加、减、乘、除、求模(取余)等简单的四则运算,并具有符合计算器日常使用习惯的容错纠错功能。
具体步骤如下:①在界面上建立按钮控件数组:首先在窗体中置入一个命令按钮控件后,将其激活并点击右键通过“复制”、“粘贴”的方法依次产生19个一样的命令按钮控件,其中在创建第一个“粘贴”控件时VB会询问“是否要创建控件数组?”回答“是”即可开始依次创建该控件数组。
②按钮属性的设置:将各按钮的caption属性分别设置为0,1,2……9,+、-、×,/,Mod,=,cls,Exit,注意在设置这些属性时其值与按钮控件的Index属性的对应性。
③其它控件的属性设置:文本框作为显示操作数和结果的控件,应遵循一般计算器的显示习惯,将其Alignment即对齐属性设置为“Right”,此外,将各控件相关的字体、字号等设置为统一风格。
④在程序的通用区定义四个窗体层变量:num1、num2、sum、act、前三个为双精度、act为整型变量。
⑤编写进行四则运算所需的程序作为命令按钮的单击事件过程。
实验三参考代码一:•Dim num1 As Double, num2 As Double•Dim sum As Double•Dim act As Integer•Private Sub Form_Load()•num1 = 0•num2 = 0•sum = 0•End Sub•Private Sub Command1_Click(Index As Integer)•Select Case Index•Case 0• If Text1.Text = "" Then• Text1.Text = "0"• Else• Text1.Text = Text1.Text + "0"• End If•Case 1• If Text1.Text = "" Then• Text1.Text = "1"• Else• Text1.Text = Text1.Text + "1" End If•Case 2• If Text1.Text = "" Then• Text1.Text = "2"• Else• Text1.Text = Text1.Text + "2"• End If•Case 3• If Text1.Text = "" Then• Text1.Text = "3"• Else• Text1.Text = Text1.Text + "3"• End If•Case 4• If Text1.Text = "" Then• Text1.Text = "4"• Else• Text1.Text = Text1.Text + "4" • End If•Case 5• If Text1.Text = "" Then• Text1.Text = "5"• Else• Text1.Text = Text1.Text + "5" •End If•Case 6• If Text1.Text = "" Then• Text1.Text = "6"• Else• Text1.Text = Text1.Text + "6" • End If•Case 7• If Text1.Text = "" Then• Text1.Text = "7"• Else• Text1.Text = Text1.Text + "7"•Case 8• If Text1.Text = "" Then• Text1.Text = "8"• Else• Text1.Text = Text1.Text + "8"• End If•Case 9• If Text1.Text = "" Then• Text1.Text = "9"• Else• Text1.Text = Text1.Text + "9"• End If•Case 10• If Text1.Text = "" Then• Text1.Text = "."• Else• Text1.Text = Text1.Text + "."• End If•Case 11• num1 = CDbl(Text1.Text) ‘强制转换双精度型• Text1.Text = ""•Case 12• num1 = CDbl(Text1.Text) • Text1.Text = ""• act = 2•Case 13• num1 = CDbl(Text1.Text) • Text1.Text = ""• act = 3•Case 14• num1 = CDbl(Text1.Text) • Text1.Text = ""• act = 4•Case 15• num1 = CDbl(Text1.Text) • Text1.Text = ""• act = 5•Case 16• num1 = 0• num2 = 0• sum = 0• Text1.Text = ""•Case 17• num2 = CDbl(Text1.Text) •Select Case act• Case 1• sum = num1 + num2 • Case 2• sum = num1 - num2 •Case 3• sum = num1 * num2 • Case 4• sum = num1 / num2 • Case 5• sum = num1 Mod num2 • End Select• Text1.Text = ""• Text1.Text = CStr(sum) •Case 18• End•End Select•End Sub。
VB四则运算

6、拓展案例1——货物托运费计算
要求:
(1)界面要能够输入货物重量、运输距离(公里)和单位重量运费/公里
(2)程序功能——计算输入货物重量和里程的运费
7、拓展案例2——计算圆(或球)面积、周长、体积(球)
8、鸡兔同笼问题求解(教材案例1)
PublicClassForm1
(3)“乘法”按钮单击事件
(4)“除法”按钮单击事件
3、思考1:如果输入框输入12.5和8.3,结果会怎样?为什么?怎样处理小数(浮点数)?
注意:Cint函数将浮点数转换为整型数据,会进行四舍五入!
ห้องสมุดไป่ตู้解决办法:
(1)将变量x和y声明为浮点数(Single——单精度、Double——双精度)
(2)Cint函数要改写成:Convert.ToSingle
第
一、实验目的:
(1)熟练文本框控件、按钮控件使用
(2)运算符使用
(3)系统函数
二、实验内容:
1、创建如下界面
要求:
(1)输入文本框文本居中对齐——修改TextAlign属性,取值为Center
(2)显示结果文本框文本居中、字体颜色红色、加粗
2、实现代码如下:
(1)“加法”按钮单击事件
(2)“减法”按钮单击事件
R = Val(Me.TextBox1.Text)
S = 2 * PI * R
Me.TextBox2.Text = S.ToString
EndSub
EndClass
DimPIAsDouble= 3.1415926
DimRAsDouble
DimSAsDouble
PrivateSubRadioButton1_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesRadioButton1.Click
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计算器代码

第 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依次改为“+”、“-”、“*”、“/”。
vba自动生成四则运算题

vba自动生成四则运算题VBA 自动化生成四则运算题目是通过编写 VBA 代码,利用Excel 软件的功能实现的。
下面是一个示例的 VBA 代码,用于生成 10 道四则运算题目:```vbaSub GenerateArithmeticQuestions()Dim i As IntegerDim number1 As IntegerDim number2 As IntegerDim operator As StringDim result As Variant' 清空工作表中的内容ThisWorkbook.Sheets("Sheet1").Cells.ClearContents' 在工作表中生成题目For i = 1 To 10' 随机生成两个数number1 = Int((100 - 1 + 1) * Rnd + 1)number2 = Int((100 - 1 + 1) * Rnd + 1)' 随机选择运算符Select Case Int((4 - 1 + 1) * Rnd + 1)Case 1operator = "+"result = number1 + number2Case 2operator = "-"result = number1 - number2Case 3operator = "*"result = number1 * number2Case 4operator = "/"result = number1 / number2End Select' 在工作表的 A 列和 B 列中写入题目和答案ThisWorkbook.Sheets("Sheet1").Cells(i, 1).Value = number1 & " " & operator & " " & number2 & " ="ThisWorkbook.Sheets("Sheet1").Cells(i, 2).Value = resultNext iEnd Sub```在这个示例代码中,我们使用了一个循环来生成 10 个题目。
vba 四则混合运算

vba 四则混合运算VBA(Visual Basic for Applications)是一种用于Microsoft Office套件中的宏编程语言。
它可以用于自动化和定制化Office 应用程序,包括Excel、Word和PowerPoint等。
在本文中,我们将探讨如何使用VBA进行四则混合运算。
四则混合运算是指同时使用加减乘除四种基本运算符进行计算的运算。
在VBA中,我们可以使用这些运算符来进行数值计算,从而实现各种复杂的计算任务。
我们需要了解VBA中的运算符。
在VBA中,加法运算使用"+"符号表示,减法运算使用"-"符号表示,乘法运算使用"*"符号表示,除法运算使用"/"符号表示。
通过使用这些运算符,我们可以在VBA程序中进行各种数值计算。
让我们以一个简单的例子开始。
假设我们有两个变量A和B,它们分别存储了两个数字。
现在,我们想要将这两个数字相加并将结果存储在一个新的变量C中。
我们可以使用VBA的加法运算符来实现这个任务,代码如下:```Dim A As IntegerDim B As IntegerDim C As IntegerA = 10B = 5C = A + BMsgBox "两个数字的和为:" & C```在这个例子中,我们首先声明了三个整型变量A、B和C。
然后,我们给变量A和B赋值,分别为10和5。
接下来,我们使用加法运算符将A和B相加,并将结果存储在变量C中。
最后,我们使用MsgBox函数输出结果。
除了加法运算,VBA还支持减法、乘法和除法运算。
我们可以使用类似的方法来进行这些运算。
下面是一个进行四则混合运算的示例代码:```Dim A As DoubleDim B As DoubleDim C As DoubleA = 10.5B = 2.5C = (A + B) * (A - B) / (A * B)MsgBox "四则混合运算的结果为:" & C```在这个例子中,我们首先声明了三个双精度浮点型变量A、B和C。
VB小学数学四则运算程序代码

Option Base 1 '标识数组下标从1开始Dim x, y, z As IntegerPrivate Sub Command1_Click()Dim a(4) As StringDim b As IntegerText1.Text = Int(10 * Rnd + 0) '文本框1中随机产生0 - 9中的一个数a(1) = "+"a(2) = "-"a(3) = "*"a(4) = "/"b = Int(4 * Rnd + 1)Label1.Caption = a(b) '标签1随机产生“加”、“减”、“乘”、“除”号If Label1.Caption = a(4) ThenText2.Text = Int(9 * Rnd + 1) '如果标签1出现的是“/”号,则文本框2随机产生1-9中的一个数ElseText2.Text = Int(10 * Rnd + 0) '如果不是则文本框2随机产生0-9中的一个数End IfText3.SetFocusEnd SubPrivate Sub Command2_Click()Dim c As SingleIf IsNumeric(Text3.Text) = False ThenMsgBox "请输入数字!", vbOKOnly + vbExclamation, "提示" '如果文本框3输入的不是数字或没有输入,则提示“请输入数字!”Text3.Text = ""Text3.SetFocusElseSelect Case Label1.CaptionCase "+"c = Val(Text1.Text) + Val(Text2.Text)Case "-"c = Val(Text1.Text) - Val(Text2.Text)Case "*"c = Val(Text1.Text) * Val(Text2.Text)Case "/"c = Val(Text1.Text) / Val(Text2.Text) End SelectIf Text3.Text = c ThenMsgBox "恭喜你,回答正确!", vbOKOnly + vbInformation, "提示"x = x + 1Text4.Text = xz = z + 10Text6.Text = zElseMsgBox "回答错误!" & " " & "正确结果为" & c, vbOKOnly + vbCritical, "提示"y = y + 1Text5.Text = yz = z - 10Text6.Text = zEnd IfEnd IfEnd SubPrivate Sub Form_Load() RandomizeEnd SubPrivate Sub Label1_Change() Text3.Text = ""End SubPrivate Sub Text1_Change() Text3.Text = ""End SubPrivate Sub Text2_Change() Text3.Text = ""End Sub。
VB计算器程序代码

VB计算器程序代码下面是一个简单的VB计算器程序代码,可以进行基本的四则运算:```VBImports System.MathPublic Class Form1Dim num1, num2, result As DoubleDim operatorType As String = ""Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.LoadEnd SubPrivate Sub Button_Click(sender As Object, e As EventArgs) Handles btn0.Click, btn1.Click, btn2.Click, btn3.Click,btn4.Click, btn5.Click, btn6.Click, btn7.Click, btn8.Click, btn9.Click, btnDot.ClickDim button As Button = CType(sender, Button)If button.Text = "." ThenIf Not txtDisplay.Text.Contains(".") ThentxtDisplay.Text += button.TextEnd IfElsetxtDisplay.Text += button.TextEnd IfEnd SubPrivate Sub Operator_Click(sender As Object, e As EventArgs) Handles btnAdd.Click, btnSubtract.Click, btnMultiply.Click, btnDivide.ClickDim button As Button = CType(sender, Button)num1 = CDbl(txtDisplay.Text)operatorType = button.TexttxtDisplay.ClearEnd SubPrivate Sub btnEquals_Click(sender As Object, e As EventArgs) Handles btnEquals.Clicknum2 = CDbl(txtDisplay.Text)Select Case operatorTypeCase "+"result = num1 + num2Case "-"result = num1 - num2Case "*"result = num1 * num2Case "/"If num2 <> 0 Thenresult = num1 / num2ElseMessageBox.Show("除数不能为零!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error)End IfEnd SelecttxtDisplay.Text = result.ToStringEnd SubPrivate Sub btnClear_Click(sender As Object, e As EventArgs) Handles btnClear.ClicktxtDisplay.ClearEnd SubPrivate Sub btnSqrt_Click(sender As Object, e As EventArgs) Handles btnSqrt.ClickIf txtDisplay.Text = "" ThenMessageBox.Show("请输入一个数字!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error)Elsenum1 = CDbl(txtDisplay.Text)result = Sqrt(num1)txtDisplay.Text = result.ToStringEnd IfEnd SubPrivate Sub btnPower_Click(sender As Object, e As EventArgs) Handles btnPower.ClickIf txtDisplay.Text = "" ThenMessageBox.Show("请输入一个数字!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error)Elsenum1 = CDbl(txtDisplay.Text)result = num1 ^ 2txtDisplay.Text = result.ToStringEnd IfEnd SubPrivate Sub btnBackspace_Click(sender As Object, e As EventArgs) Handles btnBackspace.ClickIf txtDisplay.Text.Length > 0 ThentxtDisplay.Text = txtDisplay.Text.Substring(0, txtDisplay.Text.Length - 1)End IfEnd SubPrivate Sub btnNegative_Click(sender As Object, e As EventArgs) Handles btnNegative.ClickIf txtDisplay.Text.Length > 0 ThenIf txtDisplay.Text.Substring(0, 1) = "-" ThentxtDisplay.Text = txtDisplay.Text.Substring(1, txtDisplay.Text.Length - 1)ElsetxtDisplay.Text = "-" + txtDisplay.TextEnd IfEnd IfEnd SubEnd Class```这个计算器程序具有以下功能:1.支持0-9的数字输入和小数点的输入。
用VB制作四则运算器步骤及代码

⽤VB制作四则运算器步骤及代码⽤V B制作四则运算器步骤及代码Company Document number:WUUT-WUUY-WBBGB-BWYTT-1982GT⼀、实验⽬的、⽬标综合运⽤本课程的相关知识,完成两位数四则运算器的设计、编写与测试,培养学⽣的实践动⼿能⼒,并检测本课程的学习效果。
⼆、实验内容基本要求:两位数(指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 IntegerPrivate Sub Form_Load()= False= False==MsgBox "请选择题量和答题时间!", 48, "提⽰"Unload Form2End SubPrivate Sub Option1_Click(Index As Integer)tishu = Val(Option1(Index).Caption)= tishuEnd SubPrivate Sub Option2_Click(Index As Integer)shijian = Val(Option2(Index).Caption)= shijianEnd SubPrivate Sub Command1_Click()MsgBox "请直接在⽂本框中输⼊数字作答(其中除法为整除)," & vbLf & "回车完成⼀题,系统⾃动⽣成下⼀题", , "提⽰" End SubPrivate Sub Command2_Click()EndEnd Sub4、在Form2窗⼝,双击控件打开代码窗⼝,设计窗体及控件的事件代码。
用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源代码

计算方法VB源代码以下是一个计算器的VB源代码,用于进行基本的四则运算:```vbImports System.GlobalizationPublic Class CalculatorFormPrivate operand1 As DoublePrivate operand2 As DoublePrivate operation As StringPrivate Sub CalculateButton_Click(sender As Object, e As EventArgs) Handles CalculateButton.ClickIf Double.TryParse(Operand1TextBox.Text, operand1) AndAlso Double.TryParse(Operand2TextBox.Text, operand2) Then Select Case operationCase "+"ResultTextBox.Text = (operand1 +operand2).ToString(CultureInfo.InvariantCulture)Case "-"ResultTextBox.Text = (operand1 -operand2).ToString(CultureInfo.InvariantCulture)Case "*"ResultTextBox.Text = (operand1 *operand2).ToString(CultureInfo.InvariantCulture)Case "/"If operand2 <> 0 ThenResultTextBox.Text = (operand1 /operand2).ToString(CultureInfo.InvariantCulture)ElseMessageBox.Show("Division by zero is not allowed.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)End IfCase ElseMessageBox.Show("Invalid operation.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)End SelectElseMessageBox.Show("Invalid operands.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)End IfEnd SubPrivate Sub OperationButton_Click(sender As Object, e As EventArgs) Handles AdditionButton.Click, SubtractionButton.Click, MultiplicationButton.Click, DivisionButton.ClickDim button As Button = CType(sender, Button)operation = button.TextEnd SubEnd Class```这是一个简单的计算器窗体应用程序,由两个文本框(Operand1TextBox 和 Operand2TextBox) 用于输入操作数,一个结果文本框 (ResultTextBox) 用于显示结果,以及四个按钮 (AdditionButton、SubtractionButton、MultiplicationButton 和 DivisionButton) 用于选择四则运算操作。
vba自动生成四则运算题

vba自动生成四则运算题VBA(Visual Basic for Applications)是一种用于编写宏的编程语言,可以在Microsoft Office应用程序中自动化任务。
下面是一个示例代码,可以用VBA自动生成四则运算题:vba.Sub 自动生成四则运算题()。
Dim num1 As Integer, num2 As Integer.Dim operator As String.Dim result As Double.'设置题目数量。
Dim questionCount As Integer.questionCount = 10。
'设置题目范围。
Dim minNum As Integer, maxNum As Integer.minNum = 1。
maxNum = 10。
'清空工作表。
Sheets("Sheet1").UsedRange.Clear.'循环生成题目。
For i = 1 To questionCount.'生成随机数和运算符。
num1 = WorksheetFunction.RandBetween(minNum, maxNum)。
num2 = WorksheetFunction.RandBetween(minNum, maxNum)。
operator = GetRandomOperator()。
'计算结果。
Select Case operator.Case "+"result = num1 + num2。
Case "-"result = num1 num2。
Case ""result = num1 num2。
Case "/"result = num1 / num2。
End Select.'将题目和结果写入工作表。
Cells(i, 1).Value = num1 & " " & operator & " " & num2 & " = "Cells(i, 2).Value = result.Next i.'调整列宽。
用VB实现任意位数大整数的四则运算

( ,1 ) s 4 0
I i j< 4 T e f hn
真设计 和反复 测试 ,我们认 为我们 的算
sr 1( tl4i+ j )= 蚰
Ⅱ s e
法精 度已经足 啦大 了 从理 论上讲 ,加 sr 1( ) tt 2 2 ,… ,sr I ( ] t I 2I 表示对 s 分组 4 2 法 、减 法 、乘 法和除 法的精 度可以达 到 后从 左到右得到的每一组 数。数纽 sr 3 tl 1
若余数的长度小于l2这时如果l2lenstr112l1l3即余数与除数长度的差小于l1l3表示被除数数字字符串未参与运算的子串长度则从被除数的l31位开始取长度为l2lenstr112的子串补在str112最后一位的后面作为str111所得到的商的字符串后面加上l2lenstr1121个0作为新的商结果将l3l2lenstr112作为新的l3值否则将所得到的商的字符串后面加上l1l3个0作为最终的商结果
维普资讯
用 VB实现 任意
位数大整数的 四则运算
黄世 中 黎彤 亮
00 8 5 0 河 北省 应 用数 学研 究所
零,侧如 : O ” 0 8 0 ) 9 7 ” Qu ( 0 9 7 ” 一“ 8 0 l
根 据多项 式乘法 的运算 规则 .对于
I L nsr 1( _j f e ( l4i+ ) t )> l 4
Th n e
的四则运 算 ,我们采 用特别的 办法 解决
了速 一 问题 。
s 0= s l4 i+j t 1( r ) sr 1 ( tl4i+j ): R g t i h
总体 来说 ,加法 、乘法和 减法 采用
VB.NETVB2010 四则计算器源码

Public Class Form1'计算器的原理:'将输入的算式以运算符进行分割并计算'例如1+1分割成1、+、1,三个部分,然后运算Function CutStr(ByVal InPutStr As String) As String()Dim CalStr(3) As StringIf InStr(InPutStr, "+") Then'算式中有+号那么就是加法CalStr(0) = InPutStr.Split("+")(0)CalStr(1) = "+"CalStr(2) = InPutStr.Split("+")(1)ElseIf InStr(InPutStr, "-") Then'算式中有-号那么就是减法CalStr(0) = InPutStr.Split("-")(0)CalStr(1) = "-"CalStr(2) = InPutStr.Split("-")(1)ElseIf InStr(InPutStr, "*") Then'算式中有*号那么就是乘法CalStr(0) = InPutStr.Split("*")(0)CalStr(1) = "*"CalStr(2) = InPutStr.Split("*")(1)ElseIf InStr(InPutStr, "/") Then'算式中有/号那么就是除法CalStr(0) = InPutStr.Split("/")(0)CalStr(1) = "/"CalStr(2) = InPutStr.Split("/")(1)Else'算式中没有运算符号CalStr(0) = InPutStrCalStr(1) = ""CalStr(2) = ""End IfReturn CalStrEnd FunctionPrivate Sub数字键_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles数字键0.Click, 数字键1.Click, 数字键2.Click, 数字键3.Click, 数字键4.Click, 数字键5.Click, 数字键6.Click, 数字键7.Click, 数字键8.Click, 数字键9.Click'输入键,如果当前是0那么覆盖输入,如果当前不是0那么追加输入If显示框.Text = "0"Then显示框.Text = sender.textElse显示框.Text = 显示框.Text & sender.textEnd IfEnd SubPrivate Sub小数点_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles小数点.Click'此处比较复杂举例说明'当前按下后输入'没有运算符没有小数的数字例如:2 2.'没有运算符含有小数的数字例如:2. 不输入仍是:2.'含有运算符没有小数例如:3+3 3+3.'含有运算符含有小数例如:3+3. 不输入仍是3+3.'含有运算符运算符后为空例如:3+ 补0输入:3+0.If CutStr(显示框.Text)(1) = ""Then'表示没有运算符If InStr(显示框.Text, sender.text) = False Then'没有运算符没有小数的数字例如:2 2.显示框.Text = 显示框.Text & sender.textEnd IfExit SubElse'表示含有运算符If InStr(CutStr(显示框.Text)(2), sender.text) = False ThenIf CutStr(显示框.Text)(2) = ""Then'含有运算符运算符后为空例如:3+ 补0输入:3+0.显示框.Text = 显示框.Text & "0" & sender.textElse'含有运算符没有小数例如:3+3 3+3.显示框.Text = 显示框.Text & sender.textEnd IfEnd IfEnd IfEnd SubPrivate Sub运算符_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles运算符乘.Click, 运算符除.Click, 运算符加.Click, 运算符减.Click'如果已经存在运算符了,那么,不允许输入If (InStr(显示框.Text, "+") Or InStr(显示框.Text, "-") Or InStr(显示框.Text, "*") Or InStr(显示框.Text, "/")) = False Then显示框.Text = 显示框.Text & sender.textEnd IfEnd SubPrivate Sub清零键_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles清零键.Click'清零就是在显示框显示0显示框.Text = "0"End SubPrivate Sub运算符等于_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles运算符等于.Click'对运算符进行判断,并进行相应的运算Select Case CutStr(显示框.Text)(1)Case"+"显示框.Text = Val(CutStr(显示框.Text)(0)) + Val(CutStr(显示框.Text)(2)) Case"-"显示框.Text = Val(CutStr(显示框.Text)(0)) - Val(CutStr(显示框.Text)(2)) Case"*"显示框.Text = Val(CutStr(显示框.Text)(0)) * Val(CutStr(显示框.Text)(2)) Case"/"显示框.Text = Val(CutStr(显示框.Text)(0)) / Val(CutStr(显示框.Text)(2)) Case ElseEnd SelectEnd SubEnd Class。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用V B制作四则运算器步骤及代码Company Document number:WUUT-WUUY-WBBGB-BWYTT-1982GT一、实验目的、目标综合运用本课程的相关知识,完成两位数四则运算器的设计、编写与测试,培养学生的实践动手能力,并检测本课程的学习效果。
二、实验内容基本要求:✓两位数(指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 IntegerPrivate Sub Form_Load()= False= False==MsgBox "请选择题量和答题时间!", 48, "提示"Unload Form2End SubPrivate Sub Option1_Click(Index As Integer)tishu = Val(Option1(Index).Caption)= tishuEnd SubPrivate Sub Option2_Click(Index As Integer)shijian = Val(Option2(Index).Caption)= shijianEnd SubPrivate Sub Command1_Click()MsgBox "请直接在文本框中输入数字作答(其中除法为整除)," & vbLf & "回车完成一题,系统自动生成下一题", , "提示"End SubPrivate Sub Command2_Click()EndEnd Sub4、在Form2窗口,双击控件打开代码窗口,设计窗体及控件的事件代码。
(1)定义变量Dim a() As IntegerDim b() As IntegerDim c() As IntegerDim result() As DoubleDim cou As IntegerDim n As StringDim X As StringDim i As IntegerDim p As IntegerDim sum As IntegerDim right As IntegerDim wrong As IntegerDim w As DoubleDim ww As StringDim S As IntegerDim 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= CStr(a(cou))= CStr(c(cou))result(cou) = a(cou) + c(cou)= "+"Case 2If Val(CStr(a(cou))) > Val(CStr(c(cou))) Then= CStr(a(cou))= CStr(c(cou))result(cou) = a(cou) - c(cou)Else= CStr(c(cou))= CStr(a(cou))result(cou) = c(cou) - a(cou)End If= "-"Case 3= CStr(a(cou))= CStr(c(cou))result(cou) = a(cou) * c(cou)= "*"Case 4If Val(CStr(a(cou))) > Val(CStr(c(cou))) Then= CStr(a(cou))= CStr(c(cou))result(cou) = Int(a(cou) / c(cou))Else= CStr(c(cou))= CStr(a(cou))result(cou) = Int(c(cou) / a(cou))End If= "/"End SelectEnd Sub(3)设定Form2加载时的相关数据Private Sub Form_Load()==RandomizeCall product= "剩余时间" & Space(2) & S & Space(1) & "S"sum = 0right = 0wrong = 0w = 0End Sub(4)通过一个钟控和一个文本框的回车键方法实现两位随机数(指10-99的自然数)的加减乘除(除法指的是整除)运算的判断,给出错误答案并将式子显示出来,统计正确题数和错误题数Private Sub Timer1_Timer()If p >= 0 Theni = i + 1p = S - i= "剩余时间" & Space(2) & p & Space(1) & "S"End IfIf p = 0 Thenwrong = wrong + 1= "错误题数:" & Space(2) & wrongn = "×"X = result(cou)& & & & & Chr(32) & CStr(n) & Space(3) & "答案是" & CStr(X)) i = -1Call productEnd IfUnload Form2Load Form1MsgBox "请重新选择题量和答题时间或者退出系统", 48, "提示"End IfEnd SubPrivate Sub Text1_KeyPress(KeyAscii As Integer)If KeyAscii = 13 Theni = -1If = "" Or IsNumeric = False ThenMsgBox "请输入答案!", 48, "提示"ElseIf Val <> result(cou) Then n = "×" Else n = "√"If n = "×" Thenwrong = wrong + 1= "错误题数:" & Space(2) & wrongX = result(cou)& & & & & Chr(32) & CStr(n) & Space(3) & "答案是" & CStr(X))Elseright = right + 1= "正确题数:" & Space(2) & right& & & & & Chr(32) & CStr(n))End If= ""End IfCall productEnd IfEnd Sub(5)利用另一个钟控统计已答题数和正确率Private Sub Timer2_Timer()sum = right + wrong= "已答题数:" & Space(2) & sumIf sum > 0 Thenw = right / sumIf w = 0 Thenww = w= "正确率:" & Space(2) & wwElseww = Format(w, "#.###") * 100 & "%"= "正确率:" & Space(2) & wwEnd IfEnd IfEnd Sub(6)利用两个按键控件和一个图形显示控件分别实现重新开始、退出系统、识别等功能Private Sub Command3_Click()Unload Form2Load Form1MsgBox "请重新选择题量和答题时间或者退出系统", 48, "提示"End SubPrivate Sub Command1_Click()EndEnd SubPrivate Sub Picture2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)MsgBox "版权所有,请勿模仿", 48, "提示"End Sub四、测试数据及运行结果【输入的测试数据,输出的结果】五、实验总结、经验分享【简单叙述心得,指出本次上机实验的关键环节或关键点;若经多次失败最终成功,请阐述失败之处和导致失败的原因,并简单给出你是如何一步步成功(或经验分享);若本次上机实验最终没有成功,则阐述成败之处及其原因分析。