怎么做加减计算机程序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 = False
End Sub
Private Sub AllClear_Click() ‘這個不用說了,是全部清空
DisplayFromNew = True ‘恢復到初始狀態
Counter = 0
Display.Text = "0" ‘清空輸入框
CalcNumber = 0
Reg = 0
AlreadyDecimalThere = False ‘恢復到初始狀態
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 = False 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
Else ‘這個的意思是,如果只點了法則(+或-)之后沒點數,就加上前面輸的數,但我覺得這樣就等于前面輸得數的2倍(+時)或0(-時),所以不用這么麻煩
Counter = Reg - CDbl(Display.Text)
Display.Text = CStr(Counter)
DisplayFromNew = True
AlreadyDecimalThere = False
Reg = CDbl(Display.Text)
End If
ElseIf LastClick = "Addition" Then ‘這是加法,和減法一樣
If CalcNumber = 0 Then
Reg = CDbl(Display.Text)
DisplayFromNew = True
CalcNumber = 1
Else
Counter = Reg + CDbl(Display.Text)
Display.Text = CStr(Counter)
DisplayFromNew = True
AlreadyDecimalThere = False
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 = False ‘之后立即變為False,因為要接著這個數繼續輸入
Else
Display.Text = Display.Text & Addition ‘當DisplayFromNew = False 就是接著輸入欄里已有的數字繼續輸入
End If
End Sub
注:為何要弄兩種情況呢,因為當點擊-或+時,要求輸入欄從新記錄
Private Sub MemorySave_Click() ‘這是保存記錄
If DisplayFromNew = False 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
Else ‘這個就是如果前面輸過一次-號,再點-號就運算結果,這一點是很重要的,如果不加這個就無法進行連續運算 Counter = Reg - CDbl(Display.Text)
Display.Text = CStr(Counter)
DisplayFromNew = True
AlreadyDecimalThere = False
Reg = CDbl(Display.Text)
End If
LastClick = "Minus"
End Sub
Private Sub Plus_Click() ‘和減法一樣
If CalcNumber = 0 Then
Reg = CDbl(Display.Text)
DisplayFromNew = True
CalcNumber = 1
Else
Counter = Reg + CDbl(Display.Text)
Display.Text = CStr(Counter)
DisplayFromNew = True
AlreadyDecimalThere = False
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
Private Sub Two_Click()
AddDisplayDigit "2"
End Sub
Private Sub One_Click()
AddDisplayDigit "1"
End Sub
Private Sub Zero_Click()
AddDisplayDigit "0"
End Sub
總結
以上是生活随笔為你收集整理的怎么做加减计算机程序vb,如何用VB设计一个简单计算器能进行加减乘除运算?...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hive中常见的日期函数
- 下一篇: nodejs的部署的问题