精品用VB编写一个简单计算器.docx
- 文档编号:12708647
- 上传时间:2023-04-21
- 格式:DOCX
- 页数:5
- 大小:23.31KB
精品用VB编写一个简单计算器.docx
《精品用VB编写一个简单计算器.docx》由会员分享,可在线阅读,更多相关《精品用VB编写一个简单计算器.docx(5页珍藏版)》请在冰豆网上搜索。
精品用VB编写一个简单计算器
用VB编写一个简单计算器一、功能:
实现简单的加减乘除功能,C归零,CE取消输入,%计算并显示第一个操作数的百分比。
二、控件:
1个label,20个commandbutton。
三、计算器运行界面:
四、详细代码:
OptionExplicit
DimOp1,Op2'前面输入的操作数
DimDecimalFlagAsInteger'小数点仍然存在吗?
DimNumOpsAsInteger'操作数个数
DimLastInput'指示上一次按键事件的类型
DimOpFlag'指示未完成的操作
DimTempReadout'C(取消)按钮的Click事件过程
'重新设置显示并初始化变量
PrivateSubCancel_Click()
Readout=Format(0,"0.")
Op1=0
Op2=0
Form_Load
EndSub'CE(取消输入)按钮的Click事件过程
PrivateSubCancelEntry_Click()
Readout=Format(0,"0.")
DecimalFlag=False
LastInput="CE"
EndSub'小数点(.)按钮的Click事件过程
'如果上一次按键为运算符,初始化readout为"0.";
'否则显示时追加一个小数点
PrivateSubDecimal_Click()
IfLastInput="NEG"Then
Readout=Format(0,"-0.")
ElseIfLastInput<>"NUMS"Then
Readout=Format(0,"0.")
EndIf
DecimalFlag=True
LastInput="NUMS"
EndSub'窗体的初始化过程
'设置所有变量为其初始值
PrivateSubForm_Load()
DecimalFlag=False
NumOps=0
LastInput="NONE"
OpFlag=""
Readout=Format(0,"0.")
'Decimal.Caption=Format(0,".")
EndSub'数字键(0-9)的Click事件过程
'向显示中的数追加新数
PrivateSubNumber_Click(IndexAsInteger)
IfLastInput<>"NUMS"Then
Readout=Format(0,".")
DecimalFlag=False
EndIf
IfDecimalFlagThen
Readout=Readout+Number(Index).Caption
Else
Readout=Left(Readout,InStr(Readout,Format(0,"."))-1)+Number(Index).Caption+Format(0,".")
EndIf
IfLastInput="NEG"ThenReadout="-"&Readout
LastInput="NUMS"
EndSub'运算符(+,-,x,/,=)的Click事件过程
'如果接下来的按键是数字键,增加NumOps。
'如果有一个操作数,则设置Op1。
'如果有两个操作数,则将Op1设置为Op1与
'当前输入字符串的运算结果,并显示结果
PrivateSubOperator_Click(IndexAsInteger)
TempReadout=Readout
IfLastInput="NUMS"Then
NumOps=NumOps+1
EndIf
SelectCaseNumOps
Case0
IfOperator(Index).Caption="-"AndLastInput<>"NEG"Then
Readout="-"&Readout
LastInput="NEG"
EndIf
Case1
Op1=Readout
IfOperator(Index).Caption="-"AndLastInput<>"NUMS"AndOpFlag<>"="Then
Readout="-"
LastInput="NEG"
EndIf
Case2
Op2=TempReadout
SelectCaseOpFlag
Case"+"
Op1=CDbl(Op1)+CDbl(Op2)
Case"-"
Op1=CDbl(Op1)-CDbl(Op2)
Case"X"
Op1=CDbl(Op1)*CDbl(Op2)
Case"/"
IfOp2=0Then
MsgBox"除数不能为0",48,"计算器"
Else
Op1=CDbl(Op1)/CDbl(Op2)
EndIf
Case"="
Op1=CDbl(Op2)
Case"%"
Op1=CDbl(Op1)*CDbl(Op2)
EndSelect
Readout=Op1
NumOps=1
EndSelect
IfLastInput<>"NEG"Then
LastInput="OPS"
OpFlag=Operator(Index).Caption
EndIf
EndSub'百分比键(%)的Click事件过程
'计算并显示第一个操作数的百分数
PrivateSubPercent_Click()
Readout=Readout/100
LastInput="Ops"
OpFlag="%"
NumOps=NumOps+1
DecimalFlag=True
EndSub
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品 VB 编写 一个 简单 计算器