VB-计算器-课程设计_第1页
VB-计算器-课程设计_第2页
VB-计算器-课程设计_第3页
VB-计算器-课程设计_第4页
VB-计算器-课程设计_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

华东交通大学VB课程设计报告VB课程设计(论文)任务书电子版:1503284681扣扣机电学12物流专业_2班班一、课程设计(论文)题目:计算器 二、课程设计(论文)工作自2013年06月17日起至2013年06月23日止三、课程设计(论文)地点: 计算中心8#601四、课程设计(论文)内容要求:.本课程设计的目的(1)进一步巩固和加深对“VB程序设计”课程基本知识的理解和掌握,了解VB语言在项目开发中的应用。 —~(2)学习程序设计开发的一般方法,了解和掌握项目开发过程及方式,培养正确的设计思想和分析问题、解决问题的能力,特别是项目设计能力。(3)通过对标准化、规范化文档的掌握并查阅有关技术资料等,培养项目设计开发能力。.课程设计的任务及要求(1)基本要求: ""1)对系统功能进行需求分析; 一2)使用Visualbasic开发环境进行程序开发;3)提出系统的设计方案; 一4)编写源程序代码并进行调试。 (2)创新要求在基本要求达到后,可进行创新设计。(3)课程设计报告撰写及装订要求课程设计报告的撰写要求表述简明,图表准确。 报告按如下内容和顺序用A4纸进行打印并装订成册。—~1)封面采用统一的课程设计封面,并按要求填写好封面要求的个人信息和选题。 2)设计任务书 一3)评阅书 4)目录 5)正文 6)主要参考文献 (4)课程设计评分标准:""1)达到课程设计的目的与要求,程序的可读性较好,并调试正确,60分;2)能正确回答设计的中老师所提问题,可增加10分;3)课程设计报告书写规范整齐,可增加10分; 4)心得体会认真总结,可增加10分; 一5)程序有创新性,可增加10分;成绩评定实行优秀、良好、中等、及格和不及格五个等级。不及格者需重做。(5)课程设计进度安排:华东交通大学VB课程设计报告1)准备阶段(6学时):选择设计题目、了解设计目的要求、查阅相关资料。2)程序模块设计分析阶段(8学时):程序总体设计、详细设计。3)代码编写调试阶段(10学时):程序模块代码编写、调试、测试。 4)撰写论文阶段(6学时):总结课程设计任务和设计内容,撰写课程设计论文。(6)课程设计题目具体要求:设计要求:设计一个“计算器” 本题目要求编制一个“计算器”程序,不但具有家、减、乘、除等简单功能,还要求包括常用数学函数的功能,并且可以进行存储、清零等操作。 ⑴“计算器”(如图1)要求包含的功能有:加、减、乘、除、存储、显示存储结果、存储器清零,以及计算正弦、余弦、正切、余切、反正弦、反余弦、反正切、反余切、求自然对数、求以10为底的对数、求阶乘等功能。图1 ~~⑵要求计算器上数字0〜9为一个控件数组,加、减、乘、除为一个控件数组,存储X一M)、存储显示(RM)、存储相加(M+)为一个控件数组,计算功能框中所有的功能按钮(如sin、cos、Ln及n!等)为一个控件数组⑶输入的原始数据、运算的中间结果及最终结果都显示在窗口顶部的同一个文本框中。~~⑷能用系统内部函数的计算功能尽量采用系统函数,没有相应系统函数的计算功能要定义独立的函数过程。⑸对于三角函数,其输入的角度单位为度;对于反三角函数,输出的结果单位也为度,要求当输入的单位或数值不符合题意时,程序能及时地在窗口底部的信息窗口中提示或用消息框提示(如反正弦函数原始数据的范围为[-1,1],若用户输入的数据不在此范围,则程序能显示“数据超出反正闲的数值范围,请重新输入!”(如图2),自动将文本框中的数据清除,并使文本框获得焦点,等待用户重新输入)。calc数据荏出应亲弦的数值范围,话重新输入.二二通定二二|⑹“X-M”按钮可将当前显示的数值保存到寄存器中,如果存储器中已有数据,则被华东交通大学VB课程设计报告覆盖。“RM”按钮可以调出寄存器中的数据,并可参与到当前进行的计算中。“M+”按钮可以将当前显示的数据和寄存器当前保存的数据相加后保存到寄存器中。每按一次“->”按钮可以删除当前数据的最后一位。“C”按钮可以清除所有已输入的数据从头计算;“CE”按钮只清除当前输入的数据,重新输入数据可以继续当前计算。学生签名: 2013年06月日华东交通大学VB课程设计报告课程设计(论文)评阅意见序号项目等 级优秀良好中等及格不及格1课程设计态度评价2出勤情况评价3任务难度评价4工作量饱满评价5设计中创新性评价6论文书写规范化评价综合评定等级评阅人职称2013年月日华东交通大学VB课程设计报告目录TOC\o"1-5"\h\z\o"CurrentDocument"一:任务概述 1\o"CurrentDocument"二:系统总体设计方案 2\o"CurrentDocument"三:系统的调试 4\o"CurrentDocument"四:源程序代码及必要注释 6\o"CurrentDocument"五:运行结果及分析 15六:心得体会 17参考文献华东交通大学VB课程设计报告一、任务概述.设计任务:编制一个计算机程序,使其不仅能够拥有简单的加减乘除运算,还具有常用数学函数功能,使其具备科学计算器的大部分功能。.程序启动启动程序会看见黄色背景色,有36个命令按钮和一个文本框构成,文本框呈浅蓝色按下OFF按钮可关闭程序。该计算器具有记忆储存功能(XfM)以及储存相加(M+)功能。当存储器中数不为零时会在Text框中显示M,否则M消失。对于输入的数据不符合相对应的运算法则时,电脑会自动报错(数据超出**的数值范围,请重新输入!),此时应从新输入数据。符号+/-是正负的切换,按一下就为负,再按一次又转为正。对于更多的内容后面章节会提及。.任务目的检验自己学期内的学习效果和自习能力,更好地掌握VB编程技术。

华东交通大学VB课程设计报告二、系统总体设计方案.构思流程图:图2—1.各属性值的变换:文本框和窗体颜色在“BackColor”中改变,分别如图2-2和2-3,其中,文本框

中的Locked改为true使其不能人工输入,此时Text为只读!文本框颜色改为浅蓝色,窗体的颜色改为黄色华东交通大学VB课程设计报告Igffi-Teitl|Fez11leilEtu在字壬序於三类序AliEiineiLi0-LeftJustifyAppearMicei-3rl!-xcldColof□^I:II:I????I:IIMBprlerStyle1-FistedSirigl^CaTLEezYalidalianTrueIl:dih电IdIlaiiFormatDaidlenberDa.i CADr也祖e(Noras.JIragJIode0-ManualEnabledTrueTout策佯IoreColor■i4800000084Heidit975H41pC>:>ni4xiIIIOHid^ScleciiqilTrueINEn.:..ieO-NoOperationIinieELef-.非[LinHteniL3TiJifJod.fiD-Eon。LiidzTanet-uiSOLiiiklopicLoekedTrueFbucLengtt0IIouselcon(Hone)NdTiseJ'iijjfler0-DefaultFlulMUn电FolaOLEDr3.O_Marital.OLEHriipriiiiieO-NonefaEEVordChirKigMToL电ftFalseScriillBai'E0-None7^Llnddx1急性-■十宜器E计篁器Forn按字母序按分类序溶标〕 |计算器Appearance1-3HAutoReiirawF:i1ehEackColor□i^iKnnnnjFFF^BorderStyle2-SizableCajition计算器ClipControleTrueCijiLtrolBoxTrueHrawMcide13_匚口pyFenLrawStyle0-SolidDrawWidth1EnabledTrueFine01or■■^00000000.3.FillStyle1-TranEpar白ntFout宋体FojitTr皿sparentTrueForeColorr.ftH8LlLlLll:lLll2&HazDCTrueHeiglit11520KelpContextID0IcDR(Icon.)KeyPreviewFils^Left0LirikfilodeU一NoneLiiilzTopicF(rm1MaiButtonTrueMlUChildF:±1ehMinBut+onTrusMhueeli:on(Ifone)MuueeFuinterU-DefaultMovt:以匕1eTrueNegotiateFilenuETrueOLEDropMode0一NonePol«!11GQf口n,白]PaletteModeU一H:dlttijrLHPictureOfone'IV—■----—-图2-3图图2-3华东交通大学VB课程设计报告三、系统的调试1、关于函数运算和进制转换的属性及属性值对象名称属性属性值命令按钮Commond2(0)CaptionSin命令按钮Commond2(1)CaptionCos命令按钮Commond2(2)CaptionTan命令按钮Commond2(3)CaptionCot命令按钮Commond2(4)CaptionArcsin命令按钮Commond2(5)CaptionArctan命令按钮Commond2(6)CaptionArccos命令按钮Commond2(7)Captionn!命令按钮Commond2(8)CaptionSec命令按钮Commond2(9)CaptionArccot命令按钮Commond2(10)CaptionLog命令按钮Commond2(11)CaptionLn命令按钮Commond5(0)CaptionXfM命令按钮Commond5(1)Captionf命令按钮Commond5(2)CaptionCE命令按钮Commond5(3)CaptionC命令按钮Commond5(4)CaptionM+命令按钮Commond5(5)CaptionRM

华东交通大学VB课程设计报告2、运算有关的属性及其属性值对象名称属性属性值窗体FormlCaption计算器文本框Textltext空Lockedtrue命令按钮Commond3(0~9)Caption0~9命令按钮Commond4(0~3)Caption+,-,:,X,命令按钮Commond4(8)Caption+/-命令按钮Commond4(7)Caption.命令按钮Commond4(4)Caption=华东交通大学VB课程设计报告h程序源代码及必要注释PublicangAsDoublePublicCalKeyAsStringDimbAsIntegerDimaAsIntegerDimcAsDoubleDimregAsDoubleDimcnumberAsDoubleDimredoAsBooleanDimdflagAsIntegerDimiAsIntegerDimopnreAsIntegerDimprevAsDoubleDimoflagAsIntegerDimindAsIntegerPrivateSubCommand2_Click(IndexAsInteger)SelectCaseIndexCase0Text1.Text=Str(Sin(ang*Val(Text1.Text)))IfVal(Text1.Text)<>0ThenText1.Text=Str(Cos(ang*Val(Text1.Text)))ElseMsgBox"数据超出余弦的数值范围,请重新输入!",16,"calc"EndIfIf(Cos(Val(Text1.Text)))<>0Then 'tan中的sin不能为0Text1.Text=Str(Sin(ang*Val(Text1.Text))/Cos(ang*Val(Text1.Text)))ElseMsgBox”数据超出正切的数值范围,请重新输入!",16,"calc"EndIfIf(Sin(Val(Text1.Text)))<>0ThenText1.Text=Str(Cos(ang*Val(Text1.Text))/Sin(ang*Val(Text1.Text)))ElseMsgBox"数据超出余切的数值范围,请重新输入!",16,"calc"EndIf华东交通大学VB课程设计报告a=Val(Textl.Text)IfVal(Textl,Text)>-1AndVal(Textl,Text)<1Thena=Atn(a/Sqr(1-a*a))Textl.Text=a 反正弦、余弦范围均不能超过{-1,1}ElseMsgBox”数据超出反正弦的数值范围,请重新输入!",16,"calc"EndIfText1.Text=Str((Atn(Val(Text1.Text)))/ang)IfVal(Text1.Text)>-1AndVal(Text1.Text)<1Thena=Atn(Sqr(1-a*a)/a)Text1.Text=aElseMsgBox"数据超出反余弦的数值范围,请重新输入!",16,"calc"EndIfText1.Text=Str(fact(Val(Text1.Text)))IfVal(Text1.Text)>-1AndVl(Text1.Text)<1ThenText1.Text=1/Str(Sin(ang*Val(Text1.Text)))ElseMsgBox”数据超出正割的数值范围,请重新输入!",16,"calc"EndIfText1.Text=Str((ang/Atn(Val(Text1.Text))))IfVal(Text1.Text)>0ThenText1.Text=Str((Log(Val(Text1.Text))/Log(10)))ElseMsgBox"数据超出Log的数值范围,请重新输入!",16,"calc"EndIfIfVal(Text1.Text)>0ThenText1.Text=Str(Log(Val(Text1.Text)))ElseMsgBox"数据超出Ln的数值范围,请重新输入!",16,"calc"EndIfEndSelect华东交通大学VB课程设计报告EndSubPrivateSubCommand5_Click(IndexAsInteger)SelectCaseIndexCase0c=0Case0Text1.Text=Str(c)Case2c=Val(Textl.Text)Textl.Text="M"pr=tStrNuml=Textl.TextIfLen(StrNuml)>0ThenStrNuml=Left(StrNuml,Len(StrNuml)-l)Textl.Text=StrNumlElseTextl.Text="0.0"EndIfredo=Trueresult=0Textl.Text="0"cnumber=0reg=0cdecimal=FalseTextl.Text=""Textl.SetFocusc=Val(Textl.Text)Textl.Text="M"pr=t华东交通大学VB课程设计报告c=0Case0Textl.Text=Str(mem)Case2c=Val(Textl.Text)Textl.Text="M"pr=tEndSelectEndSubPrivateSubForm_Load()dflag=0prev=0oflag=0ind=0opnre=0Clipboard.Clearang=3.14/180EndSubFunctionpower(mAsDouble,nAsLong)AsDoubleDimiAsDoublei=1If(n>0)ThenWhilen>0n=n-1i=i*mWendpower=iElseIf(n=0)Thenpower=1ElseMsgBox("ILLEGAL.POWERLESTHAN0,")EndIfEndFunctionFunctionfact(numAsLong)AsLongIf(num<0Ornum=0)ThenMsgBox("ILLEGALNEAGETIVEFACTORIAL")fact=numElse华东交通大学VB课程设计报告If(num>12)ThenMsgBox("VALUETOOLARGE")fact=numElsere=1While(num>0)re=re*numnum=num-1Wendfact=reEndIfEndIfEndFunctionPrivateSubForm_KeyPress(KeyAsciiAsInteger)IfKeyAscii=Asc(".")Theni=10Command3_Click(i)BeepElseIfKeyAscii=Asc("0")Theni=0Command3_Click(i)BeepElseIfKeyAscii=Asc("1")Theni=1Command3_Click(i)BeepElseIfKeyAsci3=Asc("2")Theni=2Command3_Click(i)BeepElseIfKeyAscii=Asc("3")Theni=3Command3_Click(i)BeepElseIfKeyAscii=Asc("4")Theni=4Command3_Click(i)BeepElseIfKeyAscii=Asc("5")Theni=5华东交通大学VB课程设计报告Command3_Click(i)BeepElselfKeyAscii=Asc("6")Theni=6Command3_Click(i)BeepElseIfKeyAscii=Asc("7")Theni=7Command3_Click(i)BeepElseIfKeyAscii=Asc("8")Theni=8Command3_Click(i)BeepElseIfKeyAscii=Asc("9")Theni=9Command3_Click(i)BeepElseIfKeyAscii=Asc("0")Theni=0Command3_Click(i)BeepElseIfKeyAscii=Asc("+")Theni=0Command4_Click(i)BeepElseIfKeyAscii=Asc("+")Theni=0Command4_Click(i)BeepElseIfKeyAscii=Asc("-")Theni=1Command4_Click(i)BeepElseIfKeyAscii=Ascf=")Theni=2Command4_Click(i)BeepElseIfKeyAscii=Asc("x")Theni=3Command4_Click(i)BeepElseIfKeyAscii=Asc("=")Then华东交通大学VB课程设计报告=4Command4_Click(i)BeepElselfKeyAscii=Asc("c")OrKeyAscii=Asc("C")Thendflag=0prev=0oflag=0ind=0opnre=0Text1.Text="0"BeepBeepElseIfKeyAscii=Asc("d")OrKeyAscii=Asc("D")ThenText1.Text="0"BeepEndIfEndSubPrivateSubCommand1_Click()UnloadMeEndSubPrivateSubCommand4_Click(IndexAsInteger)DimnAsLongDimrAsLongIfopnre=0OrIndex=4ThenIfind=0Thenprev=prev+Val(Text1.Text)ElseIfind=1Thenprev=prev-Val(Text1.Text)ElseIfind=6Thenprev=prevModVal(Text1.Text)ElseIfind=7Thenr=Fix(Val(Text1.Text))n=Fix(Val(prev))If((n>rOrn=r)Andn>0And(r>0Orr=0))Thenprev=fact(n)/(fact(n-r))ElseMsgBox("ILLEGALENTRIESofN,R")EndIfElseIfind=5Thenr=Fix(Val(Text1.Text))n=Fix(Val(prev))If((n>rOrn=r)Andn>0And(r>0Orr=0))Then华东交通大学VB课程设计报告prev=fact(n)/(fact(n-r)*fact(r))ElseMsgBox("ILLEGALENTRIESofN,R")EndIfElseIfind=8ThenIf(Text1.Text=""Orprev=0)ThenMsgBox("ILLEGAL.INVALIEDENTRIES")Elseprev=(power(prev,Fix(Val(Text1.Text))))EndIfElseIfind=2ThenIfVal(Textl,Text)<>0Thenprev=prev/Val(Textl.Text)ElseMsgBox("ILLEGALDIVIDE0")EndIfElseIfind=3Thenprev=prev*Val(Textl.Text)EndIfTextl.Text=Str(prev)oflag=0opnre=1ind=Indexdflag=0EndIfIfIndex=8ThenIfTextl=Textl.TextThenTextl.Text=Val(Textl.Text)*-lElseIfTextl.Text="-"&Textl.TextThenTextl.Text=Val(Textl.Text)*-lEndIfEndIfEndSubPrivateSubCommand3_Click(IndexAsInteger)Ifind=4Thenprev=0Textl.Text=""ind=0EndIfopnre=0Ifoflag=0ThenTextl.Text=""华东交通大学VB课程设计报告EndIfoflag=1IfCommand3(Index).Caption<>"."ThenIfText1.Text<>"0"ThenText1.Text=Text1.Text&Command3(Index).CaptionElseText1.Text=""&Command3(Index).CaptionEndIfElseIfdflag=0ThenText1.Text=Text1.Text&"."dflag=1ElseMsgBox("ILLEGALSAIRAM")EndIfEndIfEndSub设计界面示意图:华东交通大学VB课程设计报告五、运行结果及分析1、运行窗口结果:下图为运行88^66的结果下图为打开除运行状态的界面:华东交通大学VB课程设计报告下面两幅图为运行Log99的结果,其中Log为以10为底的对数2、程序分析及使用说明.当点击OFF控件时,系统自动关闭.当运行Arcsin、Arccos时输入的范围超过【-1,1】,则系统自动报错,会如下图所显示:(3).当按下“一”键后,原先文本框里的数字会从最后一个数字起慢慢删减。(4),输入的数据不正确系统会自动报错华东交通大学VB课程设计报告六、心得体会.对学习VB程序语言设计首先要有强大的兴趣和苦干的毅力。.平时经常学习VB是很有必要的。.VB这门课程很难因此要更加重视,因此在学习生活中要做到如下几点:(1)课前预习,认真听课并适当做些笔记,课后要认真复习消化所学内容,完成作业.(2)学习程序设计要注重理解一些重要的概念.VB程序设计本身并不复杂,翻开一本程序设计学习的书籍,看到的无非就是变量,函数,条件语句彳循环语句等概念.但要真正能进行程序设计,需要深入理解这些概念.因此,在程序入门阶段还是应该重视概念的学习(3)程序设计入门阶段要经常自己动手抄写或编写一些小程序,亲自动手进行程序设计是创造性思维应用的体现,是培养逻辑思维的好方法.因此一定要多动手编写程序,而且要从小程序开发开始,逐渐提高写程序的能力.(4)多看别人设计好的程序代码,包括教材上的例题程序.在读懂别人程序后,要想他为什么这么设计能不能将程序修改完成更多的功能则可以学到别人优秀的东西,帮助自己提高自身水平..学习VB这门课程的意义VB编程可不是一项轻

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论