VB计算器实验.docx

上传人:b****1 文档编号:14919780 上传时间:2023-06-28 格式:DOCX 页数:20 大小:82.35KB
下载 相关 举报
VB计算器实验.docx_第1页
第1页 / 共20页
VB计算器实验.docx_第2页
第2页 / 共20页
VB计算器实验.docx_第3页
第3页 / 共20页
VB计算器实验.docx_第4页
第4页 / 共20页
VB计算器实验.docx_第5页
第5页 / 共20页
VB计算器实验.docx_第6页
第6页 / 共20页
VB计算器实验.docx_第7页
第7页 / 共20页
VB计算器实验.docx_第8页
第8页 / 共20页
VB计算器实验.docx_第9页
第9页 / 共20页
VB计算器实验.docx_第10页
第10页 / 共20页
VB计算器实验.docx_第11页
第11页 / 共20页
VB计算器实验.docx_第12页
第12页 / 共20页
VB计算器实验.docx_第13页
第13页 / 共20页
VB计算器实验.docx_第14页
第14页 / 共20页
VB计算器实验.docx_第15页
第15页 / 共20页
VB计算器实验.docx_第16页
第16页 / 共20页
VB计算器实验.docx_第17页
第17页 / 共20页
VB计算器实验.docx_第18页
第18页 / 共20页
VB计算器实验.docx_第19页
第19页 / 共20页
VB计算器实验.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

VB计算器实验.docx

《VB计算器实验.docx》由会员分享,可在线阅读,更多相关《VB计算器实验.docx(20页珍藏版)》请在冰点文库上搜索。

VB计算器实验.docx

VB计算器实验

软件开发环境与工具

实验报告

实验一

 

实验题目:

计算器的设计与实现

实验类型:

验证型

实验地点:

软件实验室一

指导教师:

**

专业班级:

计算机科学与技术系**班

姓名:

***

 

2013年10月25日

1、实验题目:

计算器的设计与实现。

二、实验目的:

1、进一步熟悉并且掌握VisualStudio2010集成开发环境的使用。

2、学会使用常用的几种控件。

3、掌握中三种分支结构的使用。

4、初步掌握的基本编程方法和技巧。

5、根据所学知识能够独立完成一个简易计算器。

三、实验内容:

设计一个简单的计算器,使之能够实现加、减、乘、除基本的四则运算。

四、实验设计思路:

先在窗体上设计计算器的外观,包含按钮和文本输出框,然后写出各个触发事件,包含数字事件、运算符事件等,之后再写各类运算函数,包括加法、减法、乘法和除法,完了在主函数中调用各函数进行运算。

五、实验步骤:

1、在MicrosoftVisualStudio2010中,点击“新建项目”,命名为"计算器",再点击“确定”,进入窗体设计界面。

2、使用按钮以及文本框在窗体设计界面设计一个简易计算器。

界面如下:

3、分别在不同的按钮中编写相应的函数来实现其功能并且验证通过。

六、实验代码:

PublicClass计算器

Dimstrdx()AsString={"","",""}'声明一个字符串,用以存取数值

Dimcalcount1AsString=""

Dimcalcount2AsString=""'声明2个字符串,用以存取运算符

DimstrvalueAsBoolean=False'声明一个布尔型的变量,用以区别小数点的运用

PrivateSub数字0_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles数字0.Click

IfTextBox1.Text="0"Then'配合清零使用,如果显示框内为0,将显示内容清空

TextBox1.Text=""

EndIf

Ifstrdx(0)=""Then'输入键入的数字

strdx(0)=sender.text

TextBox1.Text&=strdx(0)&"."

ElseIfstrvalue=FalseThen'输入两位数

strdx(0)=strdx(0)&sender.text

TextBox1.Text&=strdx(0)&"."'

Else

strdx(0)=strdx(0)&sender.text'配合小数点的使用,防止出现2个小数点

TextBox1.Text&=strdx(0)

EndIf

EndSub

PrivateSub数字1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles数字1.Click

IfTextBox1.Text="0"Then

TextBox1.Text=""

EndIf

Ifstrdx(0)=""Then

strdx(0)=sender.text

TextBox1.Text&=strdx(0)&"."

ElseIfstrvalue=FalseThen

strdx(0)=strdx(0)&sender.text

TextBox1.Text&=strdx(0)&"."

Else

strdx(0)=strdx(0)&sender.text

TextBox1.Text&=strdx(0)

EndIf

EndSub

PrivateSub数字2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles数字2.Click

IfTextBox1.Text="0"Then

TextBox1.Text=""

EndIf

Ifstrdx(0)=""Then

strdx(0)=sender.text

TextBox1.Text&=strdx(0)&"."

ElseIfstrvalue=FalseThen

strdx(0)=strdx(0)&sender.text

TextBox1.Text&=strdx(0)&"."

Else

strdx(0)=strdx(0)&sender.text

TextBox1.Text&=strdx(0)

EndIf

EndSub

PrivateSub数字3_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles数字3.Click

IfTextBox1.Text="0"Then

TextBox1.Text=""

EndIf

Ifstrdx(0)=""Then

strdx(0)=sender.text

TextBox1.Text&=strdx(0)&"."

ElseIfstrvalue=FalseThen

strdx(0)=strdx(0)&sender.text

TextBox1.Text&=strdx(0)&"."

Else

strdx(0)=strdx(0)&sender.text

TextBox1.Text&=strdx(0)

EndIf

EndSub

PrivateSub数字4_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles数字4.Click

IfTextBox1.Text="0"Then

TextBox1.Text=""

EndIf

Ifstrdx(0)=""Then

strdx(0)=sender.text

TextBox1.Text&=strdx(0)&"."

ElseIfstrvalue=FalseThen

strdx(0)=strdx(0)&sender.text

TextBox1.Text&=strdx(0)&"."

Else

strdx(0)=strdx(0)&sender.text

TextBox1.Text&=strdx(0)

EndIf

EndSub

PrivateSub数字5_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles数字5.Click

IfTextBox1.Text="0"Then

TextBox1.Text=""

EndIf

Ifstrdx(0)=""Then

strdx(0)=sender.text

TextBox1.Text&=strdx(0)&"."

ElseIfstrvalue=FalseThen

strdx(0)=strdx(0)&sender.text

TextBox1.Text&=strdx(0)&"."

Else

strdx(0)=strdx(0)&sender.text

TextBox1.Text&=strdx(0)

EndIf

EndSub

PrivateSub数字6_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles数字6.Click

IfTextBox1.Text="0"Then

TextBox1.Text=""

EndIf

Ifstrdx(0)=""Then

strdx(0)=sender.text

TextBox1.Text&=strdx(0)&"."

ElseIfstrvalue=FalseThen

strdx(0)=strdx(0)&sender.text

TextBox1.Text&=strdx(0)&"."

Else

strdx(0)=strdx(0)&sender.text

TextBox1.Text&=strdx(0)

EndIf

EndSub

PrivateSub数字7_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles数字7.Click

IfTextBox1.Text="0"Then

TextBox1.Text=""

EndIf

Ifstrdx(0)=""Then

strdx(0)=sender.text

TextBox1.Text&=strdx(0)&"."

ElseIfstrvalue=FalseThen

strdx(0)=strdx(0)&sender.text

TextBox1.Text&=strdx(0)&"."

Else

strdx(0)=strdx(0)&sender.text

TextBox1.Text&=strdx(0)

EndIf

EndSub

PrivateSub数字8_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles数字8.Click

IfTextBox1.Text="0"Then

TextBox1.Text=""

EndIf

Ifstrdx(0)=""Then

strdx(0)=sender.text

TextBox1.Text&=strdx(0)&"."

ElseIfstrvalue=FalseThen

strdx(0)=strdx(0)&sender.text

TextBox1.Text&=strdx(0)&"."

Else

strdx(0)=strdx(0)&sender.text

TextBox1.Text&=strdx(0)

EndIf

EndSub

PrivateSub数字9_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles数字9.Click

IfTextBox1.Text="0"Then

TextBox1.Text=""

EndIf

Ifstrdx(0)=""Then

strdx(0)=sender.text

TextBox1.Text&=strdx(0)&"."

ElseIfstrvalue=FalseThen

strdx(0)=strdx(0)&sender.text

TextBox1.Text&=strdx(0)&"."

Else

strdx(0)=strdx(0)&sender.text

TextBox1.Text&=strdx(0)

EndIf

EndSub

PrivateSub加法_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles加法.Click

Ifcalcount1=""Then'点击按键后,将calcount1置为此运算键

calcount1=sender.text

strdx

(1)=strdx(0)'将strdx(0)的值赋给strdx

(1),再将strdx(0)置空,以便继续输入

strdx(0)=""

ElseIfcalcount2="="Then'如果是连等运算,可以将上一次运算的结果strdx

(2)赋值给strdx

(1),strdx(0)置空,以便继续输入

calcount1=sender.text

strdx

(1)=strdx

(2)

strdx(0)=""

strdx

(2)=""'将上一次的结果清空

calcount2=""'将上一次置的等号清除

Else:

SelectCasecalcount1'用来实现连续的加减乘除

Case"+"

strdx

(1)=Str(Val(strdx(0))+Val(strdx

(1)))

strdx(0)=""

calcount1=sender.text

Case"-"

strdx

(1)=Str(Val(strdx

(1))-Val(strdx(0)))

strdx(0)=""

calcount1=sender.text

Case"*"

strdx

(1)=Str(Val(strdx(0))*Val(strdx

(1)))'如果后一运算符的优先级高,先算后面的

strdx(0)=""

calcount1=sender.text

Case"/"

strdx

(1)=Str(Val(strdx

(1))/Val(strdx(0)))'如果后一运算符的优先级高,先算后面的

strdx(0)=""

calcount1=sender.text

EndSelect

EndIf

TextBox1.Text&=sender.text'连接

EndSub

PrivateSub减法_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles减法.Click

Ifcalcount1=""Then

calcount1=sender.text

strdx

(1)=strdx(0)

strdx(0)=""

ElseIfcalcount2="="Then

calcount1=sender.text

strdx

(1)=strdx

(2)

strdx(0)=""

strdx

(2)=""

calcount2=""

Else:

SelectCasecalcount1

Case"+"

strdx

(1)=Str(Val(strdx(0))+Val(strdx

(1)))

strdx(0)=""

calcount1=sender.text

Case"-"

strdx

(1)=Str(Val(strdx

(1))-Val(strdx(0)))

strdx(0)=""

calcount1=sender.text

Case"*"

strdx

(1)=Str(Val(strdx(0))*Val(strdx

(1)))

strdx(0)=""

calcount1=sender.text

Case"/"

strdx

(1)=Str(Val(strdx

(1))/Val(strdx(0)))

strdx(0)=""

calcount1=sender.text

EndSelect

EndIf

TextBox1.Text&=sender.text

EndSub

PrivateSub乘法_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles乘法.Click

Ifcalcount1=""Then

calcount1=sender.text

strdx

(1)=strdx(0)

strdx(0)=""

ElseIfcalcount2="="Then

calcount1=sender.text

strdx

(1)=strdx

(2)

strdx(0)=""

strdx

(2)=""

calcount2=""

Else:

SelectCasecalcount1

Case"+"

strdx

(1)=Str(Val(strdx(0))+Val(strdx

(1)))

strdx(0)=""

calcount1=sender.text

Case"-"

strdx

(1)=Str(Val(strdx

(1))-Val(strdx(0)))

strdx(0)=""

calcount1=sender.text

Case"*"

strdx

(1)=Str(Val(strdx(0))*Val(strdx

(1)))

strdx(0)=""

calcount1=sender.text

Case"/"

strdx

(1)=Str(Val(strdx

(1))/Val(strdx(0)))

strdx(0)=""

calcount1=sender.text

EndSelect

EndIf

TextBox1.Text&=sender.text

EndSub

PrivateSub除法_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles除法.Click

Ifcalcount1=""Then

calcount1=sender.text

strdx

(1)=strdx(0)

strdx(0)=""

ElseIfcalcount2="="Then

calcount1=sender.text

strdx

(1)=strdx

(2)

strdx(0)=""

strdx

(2)=""

calcount2=""

Else:

SelectCasecalcount1

Case"+"

strdx

(1)=Str(Val(strdx(0))+Val(strdx

(1)))

strdx(0)=""

calcount1=sender.text

Case"-"

strdx

(1)=Str(Val(strdx

(1))-Val(strdx(0)))

strdx(0)=""

calcount1=sender.text

Case"*"

strdx

(1)=Str(Val(strdx(0))*Val(strdx

(1)))

strdx(0)=""

calcount1=sender.text

Case"/"

strdx

(1)=Str(Val(strdx

(1))/Val(strdx(0)))

strdx(0)=""

calcount1=sender.text

EndSelect

EndIf

TextBox1.Text&=sender.text

EndSub

PrivateSub小数点_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles小数点.Click

strvalue=True'使用小数点后将strvalue置为0

strdx(0)=strdx(0)&"."

TextBox1.Text&=strdx(0)'连接

EndSub

PrivateSub清零_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles清零.Click

strdx(0)=""将所有变量置0,以便重新运算

strdx

(1)=""

strdx

(2)=""

calcount1=""

calcount2=""

strvalue=False

TextBox1.Text="0"

EndSub

PrivateSub等号_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles等号.Click

TextBox1.Text&="="'连接

Ifstrdx

(2)=""Then

calcount2="="'如果是第一次输入等号,将calcount2置为等号

SelectCasecalcount1'实现运算

Case"+"

TextBox1.Text&=Str(Val(strdx

(1))+Val(strdx(0)))

strdx

(2)=Str(Val(strdx

(1))+Val(strdx(0)))

Case"-"

TextBox1.Text&=Str(Val(strdx

(1))-Val(strdx(0)))

strdx

(2)=Str(Val(strdx

(1))-Val(strdx(0)))

Case"*"

TextBox1.Text&=Str(Val(strdx

(1))*Val(strdx(0)))

strdx

(2)=Str(Val(strdx

(1))*Val(strdx(0)))

Case"/"

Ifstrdx(0)="0"Then

TextBox1.Text="error!

"

Else

TextBox1.Text&=Str(Val(strdx

(1))/Val(strdx(0)))

strdx

(2)=Str(Val(strdx

(1))/Val(strdx(0)))

EndIf

EndSelect

ElseIfcalcount2="*"Then'连续运算时有优先级问题时改变运算顺序

strdx(0)=Str(Val(strdx(

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

当前位置:首页 > 高中教育 > 高中教育

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2