VB简单计算器编程代码附图.docx
- 文档编号:346768
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:18
- 大小:35.93KB
VB简单计算器编程代码附图.docx
《VB简单计算器编程代码附图.docx》由会员分享,可在线阅读,更多相关《VB简单计算器编程代码附图.docx(18页珍藏版)》请在冰点文库上搜索。
VB简单计算器编程代码附图
课程设计说明书正文
一、题目:
计算器的创作和相应程序的编写
二、本题的主要功能:
通过计算器的创作熟悉各控件的属性和练习程序的编写。
三、程序截图:
四、源程序清单:
BeginVB.FormForm1
Caption="计算器"
ClientHeight=3765
ClientLeft=165
ClientTop=855
ClientWidth=5355
Icon="Form1.frx":
0000
LinkTopic="Form1"
LockControls=-1'True
ScaleHeight=3765
ScaleWidth=5355
StartUpPosition=3'窗口缺省
BeginVB.CommandButtonCommand4
Caption="="
Height=495
Left=4470
TabIndex=28
Top=3060
Width=735
End
BeginVB.CommandButtonCommand3
Caption="1/x"
Height=495
Left=4470
TabIndex=27
Top=2520
Width=735
End
BeginVB.CommandButtonCommand2
Caption="%"
Height=495
Left=4470
TabIndex=26
Top=1980
Width=735
End
BeginVB.CommandButtonCommand1
Caption="sqrt"
Height=495
Left=4470
TabIndex=25
Top=1440
Width=735
End
BeginVB.CommandButtoncmbDOT
Caption="."
Height=495
Left=2910
TabIndex=24
Top=3060
Width=735
End
BeginVB.CommandButtoncmbZF
Caption="+/-"
Height=495
Left=2130
TabIndex=23
Top=3060
Width=735
End
BeginVB.CommandButtoncmbSign
Caption="+"
Height=495
Index=3
Left=3690
TabIndex=22
Top=3060
Width=735
End
BeginVB.CommandButtoncmbSign
Caption="-"
Height=495
Index=2
Left=3690
TabIndex=21
Top=2520
Width=735
End
BeginVB.CommandButtoncmbSign
Caption="*"
Height=495
Index=1
Left=3690
TabIndex=20
Top=1980
Width=735
End
BeginVB.CommandButtoncmbSign
Caption="/"
Height=495
Index=0
Left=3690
TabIndex=19
Top=1440
Width=735
End
BeginVB.CommandButtoncmbNUM
Caption="9"
Height=495
Index=9
Left=2910
TabIndex=18
Top=1440
Width=735
End
BeginVB.CommandButtoncmbNUM
Caption="8"
Height=495
Index=8
Left=2130
TabIndex=17
Top=1440
Width=735
End
BeginVB.CommandButtoncmbNUM
Caption="7"
Height=495
Index=7
Left=1350
TabIndex=16
Top=1440
Width=735
End
BeginVB.CommandButtoncmbNUM
Caption="6"
Height=495
Index=6
Left=2910
TabIndex=15
Top=1980
Width=735
End
BeginVB.CommandButtoncmbNUM
Caption="5"
Height=495
Index=5
Left=2130
TabIndex=14
Top=1980
Width=735
End
BeginVB.CommandButtoncmbNUM
Caption="4"
Height=495
Index=4
Left=1350
TabIndex=13
Top=1980
Width=735
End
BeginVB.CommandButtoncmbNUM
Caption="3"
Height=495
Index=3
Left=2910
TabIndex=12
Top=2520
Width=735
End
BeginVB.CommandButtoncmbNUM
Caption="2"
Height=495
Index=2
Left=2130
TabIndex=11
Top=2520
Width=735
End
BeginVB.CommandButtoncmbNUM
Caption="1"
Height=495
Index=1
Left=1350
TabIndex=10
Top=2520
Width=735
End
BeginVB.CommandButtoncmbNUM
Caption="0"
Height=495
Index=0
Left=1350
TabIndex=9
Top=3060
Width=735
End
BeginVB.CommandButtoncmbMa
Caption="M+"
Height=495
Left=150
TabIndex=8
Top=3060
Width=975
End
BeginVB.CommandButtoncmbMS
Caption="MS"
Height=495
Left=150
TabIndex=7
Top=2520
Width=975
End
BeginVB.CommandButtoncmbMR
Caption="MR"
Height=495
Left=150
TabIndex=6
Top=1980
Width=975
End
BeginVB.CommandButtoncmbMC
Caption="MC"
Height=495
Left=150
TabIndex=5
Top=1440
Width=975
End
BeginVB.CommandButtoncmbC
Caption="C"
Height=495
Left=4020
TabIndex=4
Top=690
Width=1155
End
BeginVB.CommandButtoncmbCE
Caption="CE"
Height=495
Left=2670
TabIndex=3
Top=690
Width=1155
End
BeginVB.CommandButtoncmbbackspace
Caption="Backspace"
Height=495
Left=1380
TabIndex=2
Top=690
Width=1155
End
BeginVB.TextBoxText1
Alignment=1'RightJustify
Height=375
Left=210
TabIndex=0
Text="0."
Top=120
Width=4935
End
BeginVB.LabelLabel2
Alignment=2'Center
Height=255
Left=360
TabIndex=29
Top=840
Width=375
End
BeginVB.LabelLabel1
Alignment=2'Center
BorderStyle=1'FixedSingle
BeginPropertyFont
Name="宋体"
Size=14.25
Charset=134
Weight=400
Underline=0'False
Italic=0'False
Strikethrough=0'False
EndProperty
Height=495
Left=240
TabIndex=1
Top=690
Width=615
End
BeginVB.Menuedit
Caption="编辑(&E)"
End
BeginVB.Menulook
Caption="查看(&V)"
End
BeginVB.Menuhelp
Caption="帮助(&H)"
End
End
AttributeVB_Name="Form1"
AttributeVB_GlobalNameSpace=False
AttributeVB_Creatable=False
AttributeVB_PredeclaredId=True
AttributeVB_Exposed=False
OptionExplicit
PrivateDeclareFunctionShowCursorLib"user32"(ByValbShowAsLong)AsLong
DimdotflagAsBoolean
DimfuhaoAsString
DimfirstAsDouble
DimsecondAsDouble
DimisEqualAsBoolean
DimmemoryAsDouble'保存显示的数据
DimlianyongAsDouble'当连续按等号时使用该变量
PrivateDeclareFunctionShowCursorLib"user32"(ByValbShowAsLong)AsLong
DimdotflagAsBoolean
DimfuhaoAsString
DimfirstAsDouble
DimsecondAsDouble
DimisEqualAsBoolean
DimmemoryAsDouble'保存显示的数据
DimlianyongAsDouble'当连续按等号时使用该变量
PrivateSubcmbDesign_Click(IndexAsInteger)
EndSub
PrivateSubcmbbackspace_Click()
IfRight(Trim(Text1.Text),1)="."Then
Text1.Text=Mid(Text1.Text,1,Len(Text1.Text)-2)&"."
Else
Text1.Text=Mid(Text1.Text,1,Len(Text1.Text)-1)
EndIf
IfRight(Text1.Text,1)="."Then
dotflag=False
EndIf
IfLen(Text1.Text)=1Then
Text1.Text="0."
EndIf
EndSub单击Backspace时删除文本框内最后一个字符
PrivateSubcmbC_Click()
dotflag=False
Text1.Text="0."
first=0
second=0
EndSub使文本框变成初始状态“0.”
PrivateSubcmbCE_Click()
Text1.Text="0."
EndSub删除文本框内的所有内容,使文本框变成初始状态“0.”
PrivateSubcmbDOT_Click()
'标示点击了点“。
”
dotflag=True
EndSub点的点击,
PrivateSubcmbMa_Click()
Text1.Text=Str(Val(Text1.Text)+memory)
formatText
EndSub记忆运算数值
PrivateSubcmbMC_Click()
memory=0
Label2.Caption=""
EndSub清除存储器内容.
PrivateSubcmbMR_Click()
Text1.Text=Str(memory)
formatText
EndSub调用存储器内容
PrivateSubcmbMS_Click()
memory=Val(Text1.Text)'保存到内存中
Label2.Caption="M"
EndSub保存到内存中
PrivateSubcmbNUM_Click(IndexAsInteger)
'判断是否按过等号键“="
IfisEqual=TrueThen
Text1.Text="0."
isEqual=False
EndIf
'判断是否点击过“点”按扭,如果未点击过在点前添加,否则在点后添加
Ifdotflag=FalseThen
Text1.Text=Left(Text1.Text,Len(Text1.Text)-1)&Index&"."
Else
Text1.Text=Text1.Text&Index
EndIf
formatText
EndSub
PrivateSubcmbSign_Click(IndexAsInteger)
'恢复未点击点“。
”的状态
dotflag=False
isEqual=False'恢复等号在本次运算中未单击过状态
first=Text1.Text
fuhao=cmbSign(Index).Caption
Text1.Text="0."
EndSub
PrivateSubcmbZF_Click()
IfLeft(Trim(Text1.Text),1)="-"Then
Text1.Text=Mid(Text1.Text,2)
Else
Text1.Text="-"&Trim(Text1.Text)
EndIf
EndSub对文本框进行取负运算
PrivateSubCommand1_Click()
DimisDotAsBoolean
DimiAsInteger
Fori=1ToLen(Trim(Text1.Text))
IfMid(Trim(Str(Sqr(Val(Text1.Text)))),i,1)="."Then
isDot=True
ExitFor
EndIf
Nexti
IfisDot=FalseThen
Text1.Text=Str(Sqr(Val(Text1.Text)))&"."
Else
Text1.Text=Str(Sqr(Val(Text1.Text)))
EndIf
EndSub对文本框的内容进行开方运算
PrivateSubCommand4_Click()
second=Val(Text1.Text)
IfisEqual=FalseThen
lianyong=Val(Text1.Text)
Else
first=second
EndIf
Text1.Text=Str(compute(first,lianyong,fuhao))
formatText
isEqual=True
EndSub等号的运算,并结束此次运算
PrivateSubForm_Load()
dotflag=False
isEqual=False
lianyong=0
EndSub判断等号是否连用
PublicFunctioncompute(fAsDouble,sAsDouble,fuhaoAsString)AsDouble
SelectCasefuhao
Case"+"
compute=f+s
Case"-"
compute=f-s
Case"*"
compute=f*s
Case"/"
compute=f/s
CaseElse
MsgBox"不明白"
EndSelect
EndFunction对文本框的内容进行加、减、乘、除的运算
PublicSubformatText()
DimiAsInteger
DimisDotAsBoolean
isDot=False
Fori=1ToLen(Text1.Text)
IfMid(Trim(Text1.Text),i,1)="."Then
isDot=True
ExitFor
EndIf
Nexti
IfisDot=FalseThen
Text1.Text=Text1.Text+"."
EndIf
IfLeft(Text1.Text,1)="0"Then
Text1.Text=Mid(Text1.Text,2)
EndIf
IfLeft(Trim(Text1.Text),1)="."Then
Text1.Text="0"&Trim(Text1.Text)
EndIf
IfLeft(Trim(Text1.Text),2)="-."Then
Text1.Text="-0"&Mid(Trim(Text1.Text),2)
EndIf
EndSub
五、程序调试结果及程序改进意见
1)如何判断小数点是否按下?
当小数点没有按下是,文本框的内容最后一个字符是:
“.”,当小数点按下时,文本框内容最后一个字符是输入的内容。
2)如何对按钮添加彩色图形?
在画图板上做出所需要彩色图形的图片,再把图片应用到控件按钮上。
3)如何判断除数不能为0,当除数为0时如何操作?
当除数为0时,单击等于运算时会显示除数不能为0,当除数为0时改变文本框的内容使除数不为0.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 简单 计算器 编程 代码 附图