基于VB制作简易计算器课设报告Word文件下载.docx

上传人:b****5 文档编号:19225446 上传时间:2023-01-04 格式:DOCX 页数:21 大小:274.64KB
下载 相关 举报
基于VB制作简易计算器课设报告Word文件下载.docx_第1页
第1页 / 共21页
基于VB制作简易计算器课设报告Word文件下载.docx_第2页
第2页 / 共21页
基于VB制作简易计算器课设报告Word文件下载.docx_第3页
第3页 / 共21页
基于VB制作简易计算器课设报告Word文件下载.docx_第4页
第4页 / 共21页
基于VB制作简易计算器课设报告Word文件下载.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

基于VB制作简易计算器课设报告Word文件下载.docx

《基于VB制作简易计算器课设报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于VB制作简易计算器课设报告Word文件下载.docx(21页珍藏版)》请在冰豆网上搜索。

基于VB制作简易计算器课设报告Word文件下载.docx

C.各部分程序设计……………………………………………………3

1.“0~9”以及“.”……………………………………………………3

2“+、-、*、/”………………………………………………………3

3.“=”…………………………………………………………………3

4.“Del、AC”…………………………………………………………3

5.“Save”键的功能以及介绍…………………………………………

6.误差分析………………………………………………………………4

D.难点及调试过程……………………………………………………5

E.成果展示……………………………………………………………5

三.实验心得……………………………………………………………8

一.课程设计目的

1、通过对课程所学知识的延伸和扩展,结合VB各类知识及代码与C++各类知识及代码对比来加深对VB与C++的综合理解。

2、掌握基本的面向对象的程序设计的思路和方法。

3、能够灵活运用所学知识解决实际问题.。

二.课程设计内容

A.题目及要求

(一)设计题目:

简易计算器

(二)内容介绍:

1、具有加减乘除功能。

2、当被除数为零是会自动报错。

3、有删减单字符功能(Del),也有全清功能(AC)。

4、有保存运算结果功能(save),并且能将结果保存到E盘并以程序运行保存结果的时间作为文档名保存。

(三)基本要求:

支持基本的功能示例如下:

1、可进行简单计算

2、有异常处理

3、能显示结果,并将运算结果保存到TXT文档中

B.课题分析及设计思路

(一)分析

根据题目要求,设计出一个简易的计算器,要求能进行简易计算,并且将计算结果保存为.txt格式。

所以我们小组采用了VB的方式来完成本课题。

VB的优势在于VB是一种可视化编程语言,可以用于开发Windows环境下的各类应用程序,本课题通过VB可以更快更好的的完成本课题的要求。

(二)基本设计思路类的设计

在VB6.0精简版中,我们可以通过Command按钮以及Text显示框来进行显示以及操作。

为了界面的美观,我们特意将Command按钮一级Text显示框嵌入在Frame框架中,以便于更好的将每个模块差分开。

如图为程序的源程序界面:

下图为本程序的操作界面

我们通过使用中间参数来简化程序的运行,最后的程序将中间参数框体隐藏已获得更好的使用体验,中间参数框内的内容是用来计算刚刚键入的值,从而通过“=”来将结果投射到计算器的显示框。

C.各部分程序设计

1.“0~9”以及“.”的功能实现

代码如上图所示,我们使用了Case语句来集成了0~9十个按键,相比传统的来设置0~9每个按键的键位以及功能,使用Case语句则会让键位一体化,省去了很多的时间与精力,并且可以更加直观的显示键位的功能。

2.“+、-、*、/”功能的实现

与0~9同样,我们集成了“+、-、*、/”四个按键的一体化,使用Case语句让每个符号能按照自己的正常功能来计算。

3.“=”功能的实现

详细的说明可以通过代码栏中绿色的备注来查看

值得一提的是,本程序可以进行连等运算,以下是连等运算的代码

PrivateSubCommand_dy_Click()'

等号

'

等号按下逻辑,执行上一个运算。

Text1.Text=F_js(Text2.Text,Text_y.Text)'

等号的运算

Text2.Text=Text1.Text'

相当于代数式左边的数字存起来,连等会用到这个

Text_ysan.Text="

0"

初始运算按钮状态

Text_lxs.Text="

F"

连续算,假

CXSRzt=1'

重新输入状态,1打开,-1关闭

Dian="

"

初始小数点状态

EndSub

4.“CE”清屏功能

由代码不难看出,我们将所有的文本显示框都进行了初始化,即归零(包括中间参数栏)

PrivateSubCommand_CE_Click()

初始。

CXSRzt=-1'

重新输入状态

Text1.Text=0

Text2.Text="

上一个数

Text3.Text="

上一个运算符号

Text_ysan="

运算按钮按键次数

连续算,初始假

5.“Save”键的功能以及介绍

在Save键中,我们使用了不同于其他小组的保存方式。

我们发现,其他小组的保存结果均为Result.txt,本程序中我们采用了使用当前时间作为.txt的文件名,这样做的好处是,可以进行多次的保存,而不用替换.txt文件中的内容。

PrivateSubCommandSave_Click()

DimLJAsString

DimSJAsString

SJ=Format(Now,"

YYYYMMDDHHMMSS"

LJ="

E:

\"

&

SJ&

"

.TXT"

OpenLJForOutputAs#1

Print#1,Text1.Text

Close#1

代码中可知,我们的输出目录为E:

\,

6.异常处理机制

代码中我们特意规范了0不可以作为除数的函数,并且镶嵌在了整个的计算函数当中。

FunctionF_js(ByValstrZAsString,ByValstrYAsString)AsDouble'

计算函数。

OnErrorGoToccc:

F_js=Val(Text1.Text)

IfText3.Text="

+"

Then

F_js=Val(strZ)+Val(strY)

EndIf

-"

F_js=Val(strZ)-Val(strY)

*"

F_js=Val(strZ)*Val(strY)

/"

F_js=Val(strZ)/Val(strY)

ExitFunction

ccc:

F_js=0'

计算出错返回0,如除数为0的计算。

MsgBox"

出错的计算!

EndFunction

D.难点及调试过程

本程序难点在于Case语句的正确使用以及连等运算的实现

调试过程中,我们测试了

1)小数点之间的加减乘除

2)整数之间的加减乘除

3)小数点与整数之间的加减乘除

4)Save功能

5)CE功能

调试发现,当计算结果的值为0=<

x=<

1之间时,显示框只能显示“.X”,不能如愿显示“0.x”。

对此,我们给计算结果显示框增加了If判断语句,当显示框中的值在零到一之间时,自动在“.”的前面增加一个“0”,从而实现了该bug的修复

E.成果展示

运行Calc.exe以后,弹出操作界面

我们做一些简单的运算,为了显示的更加清楚,我在此处将中间参数显出来,以便更加清楚地显示计算过程。

三.实验心得

经过一学期的学习与编制等一系列的过程,完成了如题所示的简易计算器,包括数字0—9,+,-,*,/,=等按键,可实现基本+,-,*,/,平方等的运算,符合计算器的基本要求。

调试过程中不可避免的出现不少错误,经过查阅资料,询问同学,修改后,基本解决加减乘除等的一些问题。

基本完成学习和实践的要求和目的。

课程设计,使我提高了实际操作能力,从以前的理论上升到实践,从感性认识上升到理性认识,真正做到学有所用,懂得先要发现问题,分析问题,解决问题,虽然在设计过程中我也遇到一些困难,但在同学的帮助和自己的努力下,我都认真克服了,但由于时间紧触,我并不能做到尽善尽美,应该说这是一大遗憾吧,我相信这对以后会有别开生会的体验。

附录:

以下为本程序的全部代码

'

********

姓名:

阿伦斯

学号:

021300801

王亦昆

111300642

和系统自带的calc运算逻辑是一样的。

可以测试一下。

***********

DimCXSRztAsInteger'

重新输入状态,是否重新输入。

非-1的都为重新输入。

DimDianAsString'

小数点

PrivateSubCommand_sz_Click(IndexAsInteger)

这个是数字按钮被按下事件。

1.最左边0处理逻辑,如果右边是点,可以保留,如果是数字则删除。

2.点的处理逻辑,仅可以出现1次。

或0次

3,其他的往右边连接。

4.小数点右边的零要留着。

如果有运算按钮被按下了,再次按数字按钮,清空了再输出新的。

IfCXSRzt>

-1Then

Text1.Text="

CXSRzt=-1

DimstrAsString

SelectCaseIndex

Case0,1,2,3,4,5,6,7,8,9'

0-9按钮被按下了,

Text1.Text=Text1.Text&

Index

IfDian="

Then'

点没有被按下,就需要规范数字。

Text1.Text=Val(Text1.Text)

Case10'

这个是点

."

点被按下了。

Dian

EndSelect

Text1.Text=Left(Text1.Text,10)'

这里暂定最多是10位

Text_y=Text1.Text

有2个等号运算,一个是按等号,一个是按运算符号的。

这2个是有区别的,按运算符号的可以连续算,按等号的就结束连续算了。

PrivateSubCommand_ys_Click(IndexAsInteger)

执行运算之前,先执行一下等号运算。

这样才可以实现连续加减

按完等号之后再按运算按钮则不执行等号运算了

只有第一次按运算符号才执行等号运算,其他次的不执行。

Text_ysan.Text=CInt(Text_ysan.Text)+1

连续算是真的,且是第一次按运算按键,则计算结果。

IfText_lxs.Text="

T"

执行等号运算

IfText_ysan.Text="

1"

Text2.Text=Val(Text1.Text)'

Case0'

+

Case1'

-

Case2'

*

Case3'

/

DQYS=Index'

当前运算符号

连续算,真

PrivateSubForm_Load()

初始化,

Command_CE.Value=True

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 设计艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1