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

合集下载

vb科学计算器课程设计

vb科学计算器课程设计

vb科学计算器课程设计一、课程目标知识目标:1. 学生能理解并掌握VB编程环境中科学计算器的基本功能与操作。

2. 学生能运用VB编程语言实现加、减、乘、除等基本运算,并掌握科学计算器的扩展功能,如平方根、指数、对数等。

3. 学生能运用所学知识解决实际生活中的科学计算问题。

技能目标:1. 学生能够独立进行VB科学计算器的界面设计,编写程序代码实现计算功能。

2. 学生通过实际操作,提高编程解决问题的能力,培养逻辑思维和动手实践能力。

3. 学生学会使用调试工具,能够发现并修正程序中的错误,提高程序的稳定性。

情感态度价值观目标:1. 学生培养对计算机编程的兴趣和热情,激发创新意识,提高自主学习的积极性。

2. 学生通过合作交流,培养团队协作能力和沟通能力,学会分享与互助。

3. 学生在解决问题的过程中,认识到编程在科学计算领域的重要作用,树立正确的价值观,增强社会责任感。

分析课程性质、学生特点和教学要求:本课程为VB科学计算器编程,结合学生年级特点,注重知识性与趣味性相结合,以培养学生编程兴趣和动手实践能力为主。

在教学过程中,需关注学生的个体差异,因材施教,鼓励学生积极参与,注重培养团队协作和沟通能力。

教学要求明确,以学生为主体,教师为主导,实现课程目标的具体学习成果。

二、教学内容1. VB科学计算器的基本概念与功能- 熟悉VB编程环境- 了解科学计算器的基本功能与操作2. VB编程基础- 变量、常量的定义与使用- 数据类型与运算符- 程序流程控制(顺序、选择、循环结构)3. 科学计算器功能实现- 基本运算(加、减、乘、除)- 扩展功能(平方根、指数、对数)- 界面设计与事件处理4. 程序调试与优化- 使用调试工具- 识别并修正程序错误- 提高程序稳定性与执行效率5. 实践项目与案例分析- 完成一个科学计算器项目- 分析并改进现有科学计算器程序教学安排与进度:第一周:熟悉VB编程环境,学习基本概念与功能第二周:学习VB编程基础,了解程序流程控制第三周:实现科学计算器基本运算功能第四周:完成扩展功能,进行界面设计与事件处理第五周:学习程序调试与优化,分析案例第六周:完成实践项目,进行成果展示与评价教学内容与教材关联:本章节教学内容与教材中相关章节紧密关联,涵盖了《VB程序设计》教材中第二章至第五章的主要内容,确保了教学内容的科学性和系统性。

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

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程序语言设计科学计算器

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

VB程序语言设计课程大作业题目名称:科学计算器设计班级: 12020742姓名:学号:课程教师:温海骏学期: 2014-2015学年第2学期完成时间: 2015年5月1、实验内容《科学计算器》设计本科学计算器是一种能实现加、减、乘、除、倒数、乘方、正玄、余玄、正切、In、n!函数、进制、弧度转换等运算功能,并带有存储器、统计框等,基本实现了Windows自带计算器的所有功能。

要实现计算器的这些功能就用到我们所学的VB知识编写程序来实现运算功能并解决问题,也是我们实训要达到的目的。

2、实验目的1、通过本实验,进一步理解Visual Basic的编程方法。

2、提高运用Visual Basic编程的能力。

3、培养对所学知识的综合运用能力。

4、用所学的VB知识编写程序来实现运算功能并解决问题,达到实训的目的三、实验设备计算机、VB软件4、实验过程1、课题的选材过程(设计思路)由VB程序设计的科学计算器是一种能实现加、减、乘、除、倒数、乘方、正玄、余玄、正切、In、n!函数、进制、弧度转换等运算功能,并带有存储器、统计框等,基本实现了Windows自带计算器的所有功能。

思路:为实现上述功能,我的基本思路是在窗体上建立4个控件数组,第一个控件数组是标准型,实现简单的四则运算;第二个控件数组是科学型,用来进行正弦余弦、正切余切、正割余割、反正弦反余弦、对数和n!等函数功能;第三个控件数组为程序员,实现进制转换;另外一个按钮实现单位转换。

2、设计的将要达到的目标实现加、减、乘、除、倒数、乘方、正玄、余玄、正切、In、n!函数、进制、弧度转换等运算功能,并带有存储器、统计框等,基本实现Windows自带计算器的所有功能。

3、总体设计结构与功能(1)总体设计结构介绍(绘制:结构流程图)结构流程图如下:(2)各功能模块运行界面的功能、算法和操作步骤VB程序算法如下:4、设计结果分析(运行结果展示、正确性分析)经调试,程序运行基本正确。

Vb 制作计算器程序设计.doc

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代码
Style = 1 'Graphical
TabIndex = 21
Top = 2400
Width = 510
End
Begin Command1
Caption = "."
Height = 390
Index = 11
Left = 3915
TabIndex = 20
Top = 2400
Width = 510
Top = 1455
Width = 510
End
Begin Command1
Caption = "4"
Height = 390
Index = 4
Left = 2820
TabIndex = 4
Top = 1455
Width = 510
End
Begin Command1
Caption = "3"
Height = 390
End
End
End
Attribute VB_Name = "Frm_Scientific"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Caption = "*"
Height = 390
IndexLeabharlann = 1Left = 4470
TabIndex = 11
Top = 1455
Width = 510
End

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)

风铃计算器程序代码青春风铃西南交通大学Dim sum As Double, Expr, A, B, D, Cha As String Dim Time As IntegerDim leftbracket, rbracket As IntegerDim Bo1, Bo2, Sto As BooleanPublic Function Fact(n As Long) As DoubleIf n > 0 ThenIf n = 1 ThenFact = 1ElseFact = n * Fact(n - 1)End IfElseIf n = 0 ThenFact = 1ElseIf n = -1 ThenFact = -1ElseFact = n * Fact(n + 1)End IfEnd IfEnd FunctionPrivate Function leftfind(ByV al Expr As String, Where As Long) As String Dim i, leftbracket, rbracket As IntegerDim numl As StringIf Mid(Expr, Where - 1, 1) = ")" Then '-------------左有括号For i = Where To 1 Step -1If Mid(Expr, i, 1) = ")" Thenrbracket = rbracket + 1ElseIf Mid(Expr, i, 1) = "(" Thenlbracket = lbracket + 1End IfIf lbracket = rbracket And lbracket <> 0 Thennuml = Mid(Expr, i, Where - i)Exit ForEnd IfNext iElse '-------------无括号For i = Where - 1 To 1 Step -1numl = Mid(Expr, i, 1)If numl = "+" Or numl = "-" Or numl = "*" Or numl = "/" Or numl = "(" Then numl = Mid(Expr, i + 1, Where - i - 1)Exit ForEnd IfIf i = 1 Thennuml = Mid(Expr, 1, Where - 1)Exit ForEnd IfNext iEnd Ifleftfind = numlEnd FunctionPrivate Function rightfind(ByV al Expr As String, Where As Long) As String Dim i, leftbracket, rbracket As IntegerDim numr As StringIf Mid(Expr, Where + 1, 1) = "(" Then '-------------右有括号For i = Where + 1 To Len(Expr)If Mid(Expr, i, 1) = ")" Thenrbracket = rbracket + 1ElseIf Mid(Expr, i, 1) = "(" Thenlbracket = lbracket + 1End IfIf lbracket = rbracket And lbracket <> 0 Thennumr = Mid(Expr, Where + 1, i - Where)Exit ForEnd IfNext iElse '-------------无括号For i = Where + 1 To Len(Expr)numr = Mid(Expr, i, 1)If numr = "+" Or numr = "-" Or numr = "*" Or numr = "/" Or numl = "(" Then numr = Mid(Expr, Where + 1, i - Where - 1)Exit ForEnd IfIf i = Len(Expr) Thennumr = Mid(Expr, Where + 1, i - Where)Exit ForEnd IfNext iEnd Ifrightfind = numrEnd FunctionPrivate Sub jingdian_Click(Index As Integer)Frame1.BackColor = &H8080FFFrame2.BackColor = &H80FF80Frame3.BackColor = &HFF80FFText2.BackColor = &H80FF80For i = 0 To 11Label1(i).BackColor = &HFF80FFNext ijingdian(0).Enabled = Falsechuantong(1).Enabled = Truepinhong(2).Enabled = TrueEnd SubPrivate Sub chuantong_Click(Index As Integer)Frame1.BackColor = &H8000000FFrame2.BackColor = &H8000000FFrame3.BackColor = &H8000000FText2.BackColor = &H8000000FFor i = 0 To 11Label1(i).BackColor = &H8000000FNext ijingdian(0).Enabled = Truechuantong(1).Enabled = Falsepinhong(2).Enabled = TrueEnd SubPrivate Sub pinhong_Click(Index As Integer)Frame1.BackColor = &HFF80FFFrame2.BackColor = &HFF80FFFrame3.BackColor = &HFF80FFText2.BackColor = &HFF80FFFor i = 0 To 11Label1(i).BackColor = &HFF80FFNext ijingdian(0).Enabled = Truechuantong(1).Enabled = Truepinhong(2).Enabled = FalseEnd SubPrivate Sub Form_Load()A = "0":B = "0": D = "0"Sto = False: Bo = FalseText1.Text = "0"Text2.Text = "青春风铃欢迎您的使用!"jingdian(0).Enabled = FalseEnd Sub'-------------------------------------------------状态栏代码--------------------------------------------------------Private Sub Frame1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) StatusBar1.Panels(2).Text = "数字键"End SubPrivate Sub Frame2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) StatusBar1.Panels(2).Text = "运算符"End SubPrivate Sub Frame3_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) StatusBar1.Panels(2).Text = "功能区,选中Shift时执行附加功能"End SubPrivate Sub Command4_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)Select Case IndexCase 0StatusBar1.Panels(2).Text = "退格"Case 1StatusBar1.Panels(2).Text = "清除"Case 2StatusBar1.Panels(2).Text = "左括号"Case 3StatusBar1.Panels(2).Text = "右括号"Case 4StatusBar1.Panels(2).Text = "等于号"End SelectEnd SubPrivate Sub Text1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) StatusBar1.Panels(2).Text = "风铃计算表达式"End SubPrivate Sub Text2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) StatusBar1.Panels(2).Text = "风铃计算结果"End SubPrivate Sub Check1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) StatusBar1.Panels(2).Text = "功能转换键"End SubPrivate Sub Check2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) StatusBar1.Panels(2).Text = "选中为角度模式,否则为弧度模式"End Sub'---------------------数字键的输入----------------------------Private Sub Command1_Click(Index As Integer)If Time <> 1 ThenText1.Text = "" '清空表达式Time = 1End IfIf Index <= 9 ThenText1.Text = Text1.Text & IndexElseIf Index = 10 ThenText1.Text = Text1.Text & "."ElseText1.Text = Text1.Text & "pi"End IfEnd Sub'---------------------运算符的输入----------------------------Private Sub Command2_Click(Index As Integer)If Time = 0 ThenText1.Text = ""ElseIf Time = 2 ThenText1.Text = "Ans"End IfTime = 1Select Case IndexCase 0Text1.Text = Text1.Text & "+"Case 1Text1.Text = Text1.Text & "-"Case 2Text1.Text = Text1.Text & "*"Case 3Text1.Text = Text1.Text & "/"End SelectEnd Sub'---------------------函数功能的输入----------------------------Private Sub Command3_Click(Index As Integer)'------前处理-------If Index <= 2 Or (Index <= 11 And Index >= 8 And Check1.V alue = 0) Then If Time = 2 ThenText1.Text = "Ans" '引用结果End IfElseIf Time <> 1 ThenText1.Text = "" '清空表达式End IfEnd If'------附加功能-------If Check1.V alue = 0 ThenSelect Case IndexCase 8 '1/xText1.Text = Text1.Text & "^-1"Case 9 'ncrText1.Text = Text1.Text & "C"Case 10 'nprText1.Text = Text1.Text & "P"Case 11 'x!Text1.Text = Text1.Text & "!"End SelectElseIf Check1.V alue = 1 And Sto = False Then If Time <> 1 And Index = 11 ThenText1.Text = "Ans"End IfSelect Case IndexCase 8If Time <> 1 ThenText1.Text = "A="Text2.Text = AElseText1.Text = Text1.Text & "A"End IfCase 9If Time <> 1 ThenText1.Text = "B="Text2.Text = BElseText1.Text = Text1.Text & "B"End IfCase 10If Time <> 1 ThenText1.Text = "D="Text2.Text = DElseText1.Text = Text1.Text & "D"End IfCase 11If Time <> 1 ThenText1.Text = "Ans→"ElseText1.Text = Text1.Text & "→"End IfSto = TrueEnd SelectElse 'check1.value=1 and sto=1Select Case IndexCase 8Text1.Text = Text1.Text & "A"Case 9Text1.Text = Text1.Text & "B"Case 10Text1.Text = Text1.Text & "D"End SelectBo = TrueEnd IfIf Bo = True ThenBo = FalseCommand4_Click (4)End If'------基本功能输入-------If Check1.V alue = 0 ThenSelect Case IndexCase 0 '幂运算Text1.Text = Text1.Text & "^"Case 1 '平方Text1.Text = Text1.Text & "^2"Case 2 '立方Text1.Text = Text1.Text & "^3"Case 3 'logText1.Text = Text1.Text & "ln("Case 4 'sinText1.Text = Text1.Text & "sin("Case 5 'cosText1.Text = Text1.Text & "cos("Case 6 'tanText1.Text = Text1.Text & "tan("Case 7 'lgText1.Text = Text1.Text & "lg("End SelectElseSelect Case IndexCase 0 '根式运算Text1.Text = Text1.Text & "Rn("Case 1 '平方根Text1.Text = Text1.Text & "^(1/2)"Case 2 '立方根Text1.Text = Text1.Text & "^(1/3)"Case 3 'e^xText1.Text = Text1.Text & "e^("Case 4 'asinText1.Text = Text1.Text & "asin("Case 5 'acosText1.Text = Text1.Text & "acos("Case 6 'tanText1.Text = Text1.Text & "atn("Case 7 'lnText1.Text = Text1.Text & "10^("End SelectEnd IfTime = 1End Sub'---------------------常用按钮及等号的代码---------------------------- Private Sub Command4_Click(Index As Integer)Dim Where As LongDim numl, numr, str As StringDim n, r As DoubleDim i, j, lbracket, rbracket As IntegerSelect Case IndexCase 0 '<-- 退格If Len(Text1.Text) >= 2 ThenText1.Text = Left(Text1.Text, Len(Text1.Text) - 1)Time = 1ElseText1.Text = "0"Time = 0End IfCase 1 'AC 清零Text1.Text = "0"Text2.Text = "0"Time = 0sum = 0Case 2 '( 号If Time <> 1 ThenText1.Text = "" '清空表达式Time = 1End IfText1.Text = Text1.Text & "("Case 3 ') 号If Time = 0 ThenText1.Text = "" '清空表达式Time = 1End IfText1.Text = Text1.Text & ")"Case 4 '= 号Expr = Replace(Text1.Text, "pi", "3.14159265358979323846264338327950288419716939937510")Expr = Replace(Expr, "Ans", Text2.Text)Expr = Replace(Expr, " ", "")Expr = Replace(Expr, "=", "")Where = InStr(Expr, "→")If Where <> 0 ThenCha = Right(Expr, 1)Expr = Left(Expr, Len(Expr) - 2)End IfExpr = Replace(Expr, "A", A)Expr = Replace(Expr, "B", B)Expr = Replace(Expr, "D", D)'-------处理括号不足问题----------For i = 1 To Len(Expr)If Mid(Expr, i, 1) = ")" Thenrbracket = rbracket + 1ElseIf Mid(Expr, i, 1) = "(" Thenlbracket = lbracket + 1End IfNext iIf lbracket < rbracket ThenExpr = String(rbracket - lbracket, "(") & ExprElseIf lbracket > rbracket ThenExpr = Expr & String(lbracket - rbracket, ")")End IfSet Sc = CreateObject("ScriptControl")nguage = "VBScript"'---------------------处理acos----------------------------For j = 1 To Len(Expr)Where = InStr(Expr, "acos")If Where <> 0 ThenWhere = Where + 3numr = rightfind(Expr, Where)str = "acos" & numrOn Error GoTo eh1r = CDbl(Sc.Eval(numr))If Check2.V alue = 1 Thenr = (Atn(-r / Sqr(-r * r + 1)) + 2 * Atn(1)) * 45 / Atn(1)ElseIf Check2.V alue = 0 Thenr = Atn(-r / Sqr(-r * r + 1)) + 2 * Atn(1)End IfExpr = Replace(Expr, str, CStr(r))i = 0: numl = "": n = 0: r = 0: Where = 0: str = ""ElseExit ForEnd IfNext j'---------------------处理asin----------------------------For j = 1 To Len(Expr)Where = InStr(Expr, "asin")If Where <> 0 ThenWhere = Where + 3numr = rightfind(Expr, Where)str = "asin" & numrOn Error GoTo eh1r = CDbl(Sc.Eval(numr))If Check2.V alue = 1 Thenr = Atn(r / Sqr(-r * r + 1)) * 45 / Atn(1)ElseIf Check2.V alue = 0 Thenr = Atn(r / Sqr(-r * r + 1))End IfExpr = Replace(Expr, str, CStr(r))i = 0: numl = "": n = 0: r = 0: Where = 0: str = ""ElseExit ForEnd IfNext j'----------------------处理阶乘!--------------------------------------For j = 1 To Len(Expr)Where = InStr(Expr, "!")If Where <> 0 Then '-------------有阶乘numl = leftfind(Expr, Where)str = numl & "!"On Error GoTo eh1n = CDbl(Sc.Eval(numl))n = Fact(Fix(n))Expr = Replace(Expr, str, CStr(n))i = 0: numl = "": n = 0: r = 0: Where = 0: str = ""ElseExit ForEnd IfNext j'----------------------处理排列--------------------------------------For j = 1 To Len(Expr)Where = InStr(Expr, "P")If Where <> 0 Then '-------------有排列numl = leftfind(Expr, Where)numr = rightfind(Expr, Where)str = numl & "P" & numrOn Error GoTo eh1n = CDbl(Sc.Eval(numl))r = CDbl(Sc.Eval(numr))If r > n ThenGoTo eh1End Ifn = Fact(Fix(n)) / Fact(Fix(n - r))Expr = Replace(Expr, str, CStr(n))i = 0: numl = "": n = 0: r = 0: Where = 0: str = ""ElseExit ForEnd IfNext j'----------------------处理组合--------------------------------------For j = 1 To Len(Expr)Where = InStr(Expr, "C")If Where <> 0 Then '-------------有组合numl = leftfind(Expr, Where)numr = rightfind(Expr, Where)str = numl & "C" & numrOn Error GoTo eh1n = CDbl(Sc.Eval(numl))r = CDbl(Sc.Eval(numr))If r > n ThenGoTo eh1End Ifn = Fact(Fix(n)) / Fact(Fix(r)) / Fact(Fix(n - r))Expr = Replace(Expr, str, CStr(n))i = 0: numl = "": n = 0: r = 0: Where = 0: str = ""ElseExit ForEnd IfNext j'----------------------处理其他情况--------------------------------------Expr = Replace(Expr, "Rn(", "^(1/")If Check2.V alue = 1 ThenExpr = Replace(Expr, "atn(", "1/atn(1)*45*atn(")Expr = Replace(Expr, "sin(", "sin(atn(1)/45*")Expr = Replace(Expr, "cos(", "cos(atn(1)/45*")Expr = Replace(Expr, "tan(", "tan(atn(1)/45*")End IfExpr = Replace(Expr, "e^(", "exp(1)^(")Expr = Replace(Expr, "ln(", "log(")Expr = Replace(Expr, "lg(", "1/log(10)*log(")On Error GoTo eh1sum = Sc.Eval(Expr)If Sto = True ThenSelect Case ChaCase "A"A = CDbl(sum)Case "B"B = CDbl(sum)Case "D"D = CDbl(sum)Case "B"End SelectSto = FalseEnd IfText2.Text = sumTime = 2End Select '对应=Exit Subeh1:Text1.Text = "^_^:运行错误,风铃计算表达式不合语法规则!" End Sub。

基于VB编程语言完成计算器的设计实现

基于VB编程语言完成计算器的设计实现

在 人类开 始学 会交易 的 时候 ,计 算也就 产生 了。计算器的发明是跨时代的 ,它 比算盘 计算速度要快很多倍 、计算的结果也更精确 , 操作 的方法要更方便 、更简单易学 ,计算的范 围更广 。而 随着计算机 的普及越来越多人在使 用计算机 ,电子计算器功能也 以软件的形式进 入计算机世 界。本次设 计就是使用 VB语言程 序设计的~个简单计算器 ,能实现加、减 、乘、

i f ( s e q = =” e q ” 、 {
l a c h a r:’ ’ +” : t B1 . T e x t: r e s u l t .
统 的设计思想和设计步骤 。

值设置为 T B 1 , 调整文体框的相应高度和宽度 , 及相对位置 ,文体框界面的制作就完成了。接 着往 F OR M1中连续放人 十七个按 扭,并调 整
计算机技术应用 ・ t h e A p p l i c a t i o n o f C o mp u t e r T e c h n o l o g y
基于 V B编程语言 完成计算器的设计实现
文/ 姚 蕾

首 先 打开 Mi c r o s o f t V i s u a l S t u d i o 2 0 0 5的 编译环境 中新建一个窗体 ,并将选 项卡 中文本 框按钮 放入 F OR I V l l中,用于显示数据 。接 下 来把文本 框 的 t e x t 的属性值 清空 ,n a me 属性
【 关键词】窗体 运 算符 的定 义 计算器
位置 ,左边部分设置为十个数字键 ,右边部分 T o S t r i n g ( 1 +” + ” :
为运算符 ( 加、 臧、 乘、 除、 等于 ) 和小数点 ( . ), 而位 于文本框和另外 十六个按扭之间的那个按
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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)总体设计结构介绍(绘制:结构流程图)
结构流程图如下:
(2)各功能模块运行界面的功能、算法和操作步骤
VB程序算法如下:
4、设计结果分析(运行结果展示、正确性分析)
经调试,程序运行基本正确。

运行结果如下:
五、总结
1、对学习者知识的要求:
首先,学习程序设计要有一定的逻辑思维能力,逻辑思维需要长时间的锻炼,其次,学习程序设计要具备一定的数学基础,计算机与数学有很大的联系。

2、学习程序设计基本要求:
熟悉VisualBasic操作环境与设计工具,能设计应用程序界面;
理解、运用数据库的连接,及调用;
掌握数据库对数据的管理;
掌握VB语言的基础知识,程序设计的方法;
能阅读一般难的程序;
能应用编写一些简单程序。

3、如何学好VB
(1)养成良好的学习习惯;
(2)学习程序设计要注重理解一些重要的概念;
(3)自己动手编写程序;
(4)阅读、借签别人设计的好程序;
(5)VB程序设计学习的重点;
(6)养成良好的编程习惯。

4、不足之处
由于水平问题,计算器的许多其他功能没有实现,而且程序还存在许多缺陷,外观不是很漂亮。

相关文档
最新文档