配色: 字号:
VB课程设计简易计算器
2012-08-25 | 阅:  转:  |  分享 
  










计算机课程设计报告











题目简易计算器



系别物理与电子工程学院

年级08专业电子科学与技术

班级电科(3)班学号

学生姓名

指导教师

设计时间2009.7

前言

1991年VisualBasic1.0诞生VisualBasic1.0的功能非常简单,微软为他添加了VBX控件,而不是我们熟悉的ocx控件,缺少数据库支持,而且此时的vb还是一种解释型语言,还不能生成.exe文件。但他最大的革新是加入了事件驱动模型和可视化开发。2、1992年微软推出了VisualBasic2.0微软在这个版本中加入了对象型变量和最原始的“继承”概念,以及OLE和简单的数据访问功能,同时还有大量的第三方控件。3、1993年VisualBasic3.0发布在这个版本中,微软添加了增加了最新的ODBC2.0的支持,Jet数据引擎的支持和新版本OLE的支持。最吸引人的地方是它对数据库的支持大大增强了,Grid控件和数据控件能够创建出色的数据窗口应用程序,而Jet引擎让VisualBasic能对最新的Access数据库快速地访问。VisualBasic3.0还增加了许多新的金融函数。此外还增加了相当多的专业级控件,可以开发出相当水平的Windows应用程序。VisualBasic3.0是98年以前中国最流行的VisualBasic版本。4、1995年VisualBasic4.0发布VisualBasic4.0是一场革命,但在当时而言,这简直是场灾难,首先vbx控件消失了,代之的是ocx控件,OLE已经不是传统的OLE了,VisualBasic4.0所用的语言换成了VisualBasicForApplication,这一切导致VB3.0以上版本很难移植到VB4.0中,但不可否认的是VisualBasic4.0为VisualBasic成为一种COM语言奠定了基础。微软在这个版本中引入COM编程思想,比如在语言上加入了类模块以及属性过程、函数过程,子程序过程等组件开发所需的封装性特征。同时该版本的VisualBasic还能够开发dll函数,可以将书写好的类用这种方式和其他语言共享。在当时用VisualBasic开发com组件比其他任何开发语言都快捷。5、1997年VisualBasic5.0发布这个版本的VisualBasic为com提供了最强有力的支持,同时微软还加入了一个本地代码编译器,解决了vb4.0中的p代码造成的性能瓶颈问题,让应用程序的效率大大提升。Visualbaisc5.0提供了更多的面向对象支持,允许开发人员创建事件和接口,改进了类模块,支持创建自己的集合类,ActiveX控件、进程内的COMDLL组件以及在浏览器中运行的ActiveX文档。VisualBasic5.0的IDE支持“智能感知”,这是一项非常方便开发者的功能,可以不必记住很长的成员名称和关键字,只要按“.”,想要的东西统统弹出来。6、1998年VisualBasic6。0发布VisualBasic6.0已经是一款非常成熟和稳定的开发系统,微软把VisualBasic6.0作为vIsualstudio的一员发布的,这表明微软在改变vb的产品定位,成为大规模企业开发的利器。在vb6.0中微软加入了ado数据访问模型,使大数据量快速访问成为可能,提高了vb对n层结构的分布式应用程序的开发能力,同时微软也为vb加入了开发web应用程序的能力。7、2002年VisualBasic.net诞生这是vb的又一次革命,vb.net新增了许多功能,vb6.0不能实现继承,因此一直被c++程序员指责为伪面向对象语言,vb.net还支持多线程,引入了try…catch结构异常化处理。但对vb程序员而言则是又一次灾难。这个版本的vb已经不是传统的VisualBasic,从语言而言VisualBasic4.0抛弃了QuickBASIC,采用了VisualBasicForApplication,那么vb.net则抛弃了VisualBasicForApplication,已经成为一门全新的语言,但这个变化也吓坏了vb程序员,vb.net处于一种非常尴尬的局面,一方面它有不可否认的强大功能,另一方面由于版本兼容性大量vb程序员转向c#或java,使用vb.net的程序员远不如vb6.0,开发商也很难从vb6.0转向vb.net。从目前透露的VisualBasic.net2005信息来看,VisualBasic.net2005是值得大家期待的,在这个版本的vb.net中,微软新增了更多的功能,如:泛型、运算符重载、PartialType、窗体的默认实例(让你用VB6的语法使用窗体)、语法的多种改进、My关键字等,微软声称在VisualBasic.net2005只用一行代码就可以读写注册表、访问文件、读写串口、获取应用程序信息,能让我们象逛商店那样轻松的编程。目录











































第一章选题分析











































第二章方案设计与论证













































第三章程序设计

3.1设计流程图



















3.2源程序

OptionExplicit

Dimnum1AsDouble,num2AsDouble,num3AsDouble,num4AsDouble,num5AsDouble

DimkAsInteger,iAsInteger,nAsInteger,yAsInteger

Dimnum()AsDouble

Dimnumstr1AsString,numstr2AsString

DimflagAsBoolean

PrivateSubCmd4_Click(IndexAsInteger)''清除和记忆按钮

SelectCaseIndex

Case0

txtDisplay="0."

num1=0

num2=0

numstr1=""

numstr2=""

flag=False

y=0

Cmd4(1).Enabled=True

Case1

txtDisplay=Str(num(i))''显示前一次的计算结果

i=i-1

Ifi=-1ThenMsgBox"这已是最后一个可显示的数据,也就是您第一次的计算结果!":Cmd4(1).Enabled=False

EndSelect

EndSub

PrivateSubCmdnumber_Click(IndexAsInteger)

SelectCaseIndex

Case0To10''数字操作

IfflagThen

numstr2=numstr2&Cmdnumber(Index).Caption

txtDisplay=numstr2

num2=Val(numstr2)

Else

numstr1=numstr1&Cmdnumber(Index).Caption

txtDisplay=numstr1

num1=Val(numstr1)

EndIf

Case11''相反数

IftxtDisplay.Text<>"0"AndtxtDisplay.Text<>"0."Then

IfLeft(txtDisplay.Text,1)="-"Then

txtDisplay.Text=Right(txtDisplay.Text,Len(txtDisplay.Text)-1)

Else

txtDisplay.Text="-"&txtDisplay.Text

numstr1=txtDisplay

num1=Val(numstr1)

EndIf

EndIf

Case12''退格

txtDisplay.Text=Left(txtDisplay,Len(txtDisplay)-1)

numstr1=txtDisplay.Text

num1=Val(numstr1)

EndSelect

Cmd4(1).Enabled=True

EndSub

PrivateSubcmdOperator_Click(IndexAsInteger)''运算符操作

y=y+1

n=cmdOperator(Index).Index

txtDisplay="www.huisheliren.com"

Ify>=2Then

Calljisuan

EndIf

flag=True

Cmd4(1).Enabled=True

EndSub

PrivateSubCommand3_Click()''等号操作

Calljisuan

ReDimPreservenum(k)''存储每次的计算结果

num(k)=num1

i=k

k=k+1

Cmd4(1).Enabled=True

EndSub

PrivateSubjisuan()

SelectCasen

Case0''加

num1=num1+num2

Case1''减

num1=num1-num2

Case2''乘

num1=num1num2

Case3''除

Ifnum2<>0Then

num1=num1/num2

Else

MsgBox"除数不可为零!"

EndIf

Case4''%分号

txtDisplay=num1100&"%"

Case5''开方(二次)

Ifnum1>=0Then

num1=Sqr(num1)

Else

MsgBox"被开方数不可小于零!"

EndIf

Case9

num5=num1

num2=num4^2-4num3num5

Ifnum2>=0Then

Text1.Text="x1="&((-1)num4+Sqr(num2))/num3/2

Text2.Text="x2="&((-1)num4-Sqr(num2))/num3/2

Else

MsgBox"该二元一次方程无实根"

EndIf

EndSelect

txtDisplay=num1

num2=0

numstr2=""

numstr1=""

flag=True

EndSub

PrivateFunctionjc(ByValaAsInteger)AsInteger

jc=1

DoWhilea>1

jc=jca

a=a-1

Loop

EndFunction

PrivateSubcmdOtherOper_Click(IndexAsInteger)

SelectCaseIndex

Case2

num1=Sin(num13.1415926/180)

Case3

num1=Cos(num13.1415926/180)

Case4

num1=Tan(num13.1415926/180)

Case5

num1=jc(num1)

Case6

num1=Log(num1)/Log(10)

Case7

num1=Log(num1)/Log(2.718)

Case11

num1=num1^3

Case10

num3=num1

num1=0

numstr1=""

txtDisplay="0."

Case9

num4=num1

num1=0

numstr1=""

txtDisplay="0."

n=9

EndSelect

txtDisplay=num1

EndSub

PrivateSubForm_Load()

Form1.Width=4185

txtDisplay="0."

EndSub

Submnubianshuo_Click()

frmAbout1.Show

EndSub

PrivateSubmnublack_Click()

Form1.BackColor=vbBlack

EndSub

PrivateSubmnublack5_Click()

txtDisplay.ForeColor=vbBlack

EndSub

PrivateSubmnublue_Click()

Form1.BackColor=vbBlue

EndSub

PrivateSubmnublue1_Click()

txtDisplay.ForeColor=vbBlue

EndSub

PrivateSubmnubq_Click()

frmAbout.Show

EndSub

PrivateSubmnugreen_Click()

Form1.BackColor=vbGreen

EndSub

PrivateSubmnugreen3_Click()

txtDisplay.ForeColor=vbGreen

EndSub

PrivateSubmnuh_Click()

frmAbout.Show

EndSub

PrivateSubmnuinstruct_Click()

frmAbout1.Show

EndSub

PrivateSubmnukj_Click()

Form1.Width=7050

cmdOtherOper(2).Enabled=True

cmdOtherOper(3).Enabled=True

cmdOtherOper(4).Enabled=True

cmdOtherOper(5).Enabled=True

cmdOtherOper(6).Enabled=True

cmdOtherOper(7).Enabled=True

cmdOtherOper(9).Enabled=False

cmdOtherOper(10).Enabled=False

cmdOtherOper(11).Enabled=True

EndSub

PrivateSubmnured_Click()

Form1.BackColor=vbRed

EndSub

PrivateSubmnured2_Click()

txtDisplay.ForeColor=vbRed

EndSub

PrivateSubmnusi_Click()

Form1.Width=4185

EndSub

PrivateSubmnustart_Click()

Form1.Width=7050

cmdOtherOper(2).Enabled=False

cmdOtherOper(3).Enabled=False

cmdOtherOper(4).Enabled=False

cmdOtherOper(5).Enabled=False

cmdOtherOper(6).Enabled=False

cmdOtherOper(7).Enabled=False

cmdOtherOper(9).Enabled=True

cmdOtherOper(10).Enabled=True

cmdOtherOper(11).Enabled=False

EndSub

PrivateSubmnuyellow_Click()

Form1.BackColor=vbYellow

EndSub

PrivateSubmnuyellow4_Click()

txtDisplay.ForeColor=vbYellow

EndSub

PrivateSubTimer1_Timer()

Label1.Caption=Now

EndSub















第四章设计心得体会















课程设计独创性声明:













学生签名: 指导教师评语:









课程设计成绩:指导教师签名: 教研室意见:









教研室主任签名:

常熟理工学院课程设计报告









2







献花(0)
+1
(本文系醉似寂寞首藏)