怎么做加减计算机程序vb,如何⽤VB设计⼀个简单计算器能进
⾏加减乘除运算?...
参考下:
计算器的程序,很简单,只弄了+-法,乘除没弄,只要把代码看懂照着+-法改⼀下就⾏了,不过涉及到多级运算只⽤⼀个LastClick是不⾏的
程序的控件就两种
CommandBotton和TextBox都是最基本的
先创建⼗⼀个CommandBotton,Caption改为0-9以及⼀个"."(⼩数点)
创建三个CommandBotton,Caption改为“-”,“+”“=”
创建五个CommandBotton,Caption改为“CM”(clearmemory) “MR”(memoryrecall) “MS”(memorysave) “C”(clear)“AC”(allclear)
再创建个TextBox
下⾯的是对应代码,很清楚
不懂来问我`~
Dim Counter As Double ‘这个⽤来记录结果
Dim Memory As Double ‘⽤来记录你保存的数,这个我们⽤的科学计算器⾥也有
Dim Reg As Double ‘这个也是⽤来记录结果
Dim CalcNumber As Long ‘这个是判断:1当之前点过⼀次+或-时再点⼀次运算结果,2如果前⾯没点过+或-则不进⾏运算
Dim DisplayFromNew As Boolean ‘这个⽤来判断输⼊框状态:是接着输⼊还是从新输⼊新的数
Dim AlreadyDecimalThere As Boolean ‘这个⽤来判断是否能⽤⼩数点
Dim LastClick As String ‘这个⽤来记录最后⼀次选择的运算法则
Private Sub Form_Load()
Display.Text = "0"
Reg = 0
CalcNumber = 0
DisplayFromNew = True
AlreadyDecimalThere = Fal
End Sub
Private Sub AllClear_Click() ‘这个不⽤说了,是全部清空
DisplayFromNew = True ‘恢复到初始状态
Counter = 0
Display.Text = "0" ‘清空输⼊框
CalcNumber = 0
Reg = 0
AlreadyDecimalThere = Fal ‘恢复到初始状态
End Sub
Private Sub Clear_Click() ‘清空,但不清空纪录
DisplayFromNew = True
Display.Text = "0"
End Sub
Private Sub ClearMemory_Click() ‘清空纪录
Memory = 0
End Sub
Private Sub Decimal_Click() ‘关于⼩数点的
If AlreadyDecimalThere = Fal Then
AddDisplayDigit "."
AlreadyDecimalThere = True ‘每次输⼊只能输⼀次⼩数点
End If
End Sub
Private Sub Equals_Click() ‘等号时的
If LastClick = "Minus" Then
If CalcNumber = 0 Then
Reg = CDbl(Display.Text) ‘记录
DisplayFromNew = True
中秋节英文怎么说CalcNumber = 1
El ‘这个的意思是,如果只点了法则(+或-)之后没点数,就加上前⾯输的数,但我觉得这样就等于前⾯输得数的2倍(+时)或0(-时),所以不⽤这么⿇烦
Counter = Reg - CDbl(Display.Text)
Display.Text = CStr(Counter)artshow
服务员的英文
DisplayFromNew = True
AlreadyDecimalThere = Fal
Reg = CDbl(Display.Text)
End If
ElIf LastClick = "Addition" Then ‘这是加法,和减法⼀样
If CalcNumber = 0 Then
Reg = CDbl(Display.Text)
DisplayFromNew = True
CalcNumber = 1
in my arms
El
Counter = Reg + CDbl(Display.Text)
Display.Text = CStr(Counter)
DisplayFromNew = True
AlreadyDecimalThere = Fal
Reg = CDbl(Display.Text)
End If
End If
CalcNumber = 0
End Sub
Sub AddDisplayDigit(Addition As String) ‘这⼀段⼗分重要,也是⼤家要学习的,就是⾃⼰创建⼀个函数,这样应⽤起来会⼗分⽅便
If DisplayFromNew = True Then
Display.Text = Addition ‘当DisplayFromNew = True时(⼤家注意杂那⼏种情况下= True)输⼊栏从新显⽰刚输⼊的数
DisplayFromNew = Fal ‘之后⽴即变为Fal,因为要接着这个数继续输⼊
El
Display.Text = Display.Text & Addition ‘当DisplayFromNew = Fal 就是接着输⼊栏⾥已有的数字继续输⼊
End If
End Sub
注:为何要弄两种情况呢,因为当点击-或+时,要求输⼊栏从新记录
Private Sub MemorySave_Click() ‘这是保存记录
If DisplayFromNew = Fal Then
Memory = CDbl(Display.Text)
End If
End Sub
Private Sub MemoryRecall_Click() ‘打开纪录
Display = CStr(Memory)
End Sub
Private Sub Minus_Click() ‘点击
If CalcNumber = 0 Then
Reg = CDbl(Display.Text)
DisplayFromNew = True
CalcNumber = 1
tigermap
El ‘这个就是如果前⾯输过⼀次-号,再点-号就运算结果,这⼀点是很重要的,如果不加这个就⽆法进⾏连续运算 Counter = Reg -CDbl(Display.Text)
苍空Display.Text = CStr(Counter)
DisplayFromNew = True
AlreadyDecimalThere = Fal
Reg = CDbl(Display.Text)
End If
LastClick = "Minus"
End Sub
Private Sub Plus_Click() ‘和减法⼀样
If CalcNumber = 0 Then
Reg = CDbl(Display.Text)
DisplayFromNew = True
resist temptation
CalcNumber = 1
El
Counter = Reg + CDbl(Display.Text)
Display.Text = CStr(Counter)
lcl
DisplayFromNew = True
AlreadyDecimalThere = Fal
Reg = CDbl(Display.Text)
End If
LastClick = "Addition"
End Sub
‘下⾯的就简单了0-9,不过⽤到了前⾯定义的函数AddDisplayDigit,⼤家看到这个⾃定义函数的作⽤了吧Private Sub Nine_Click()
AddDisplayDigit "9"
End Sub
Private Sub Eight_Click()
AddDisplayDigit "8"
End Sub
Private Sub Seven_Click()
AddDisplayDigit "7"
End Sub
Private Sub Six_Click()
AddDisplayDigit "6"
End Sub
Private Sub Five_Click()
AddDisplayDigit "5"
End Sub
Private Sub Four_Click() AddDisplayDigit "4"
End Sub
Private Sub Three_Click() AddDisplayDigit "3"
End Sub
2016高考真题
Private Sub Two_Click() AddDisplayDigit "2"
End Sub
注册会计师工资待遇Private Sub One_Click() AddDisplayDigit "1"
End Sub
Private Sub Zero_Click() AddDisplayDigit "0"
End Sub