问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何用VB编写计算器,要求实现加,减,乘,除,求乘方,正弦,余弦,正切,余...

发布网友 发布时间:2024-10-22 07:29

我来回答

1个回答

热心网友 时间:2024-10-23 04:47

基本思路如下,其他的触类旁通。

Option Explicit

Private StoredValue As Double

Private Const opNone = 0
Private Const opAdd = 1
Private Const opSubtract = 2
Private Const opMultiply = 3
Private Const opDivide = 4
Private Operator As Integer

Private NewEntry As Boolean

' Remove the last character.
Private Sub DeleteCharacter()
Dim txt As String
Dim min_len As Integer

txt = txtDisplay.Text
If Left$(txt, 1) = "-" Then
min_len = 2
Else
min_len = 1
End If

If Len(txt) > min_len Then
txtDisplay.Text = Left$(txt, Len(txt) - 1)
Else
txtDisplay.Text = "0"
End If
End Sub

' Clear the current entry, saved value, and operator.
Private Sub cmdClear_Click()
cmdClearEntry_Click
StoredValue = 0
Operator = opNone
End Sub

' Clear the current entry.
Private Sub cmdClearEntry_Click()
txtDisplay.Text = ""
End Sub

' Add a decimal point to the display.
Private Sub cmdDecimal_Click()
If InStr(txtDisplay.Text, ".") Then
Beep
Else
If NewEntry Then
txtDisplay.Text = "."
NewEntry = False
Else
txtDisplay.Text = txtDisplay.Text & "."
End If
End If
End Sub

' Calculate the result of the previous operation.
Private Sub cmdEquals_Click()
Dim new_value As Double

If txtDisplay.Text = "" Then
new_value = 0
Else
new_value = CDbl(txtDisplay.Text)
End If
Select Case Operator
Case opNone
StoredValue = new_value
Case opAdd
StoredValue = StoredValue + new_value
Case opSubtract
StoredValue = StoredValue - new_value
Case opMultiply
StoredValue = StoredValue * new_value
Case opDivide
StoredValue = StoredValue / new_value
End Select
Operator = opNone
NewEntry = True
txtDisplay.Text = Format$(StoredValue)
End Sub

' Add a number to the display.
Private Sub cmdNumber_Click(Index As Integer)
If NewEntry Then
txtDisplay.Text = Format$(Index)
NewEntry = False
Else
txtDisplay.Text = _
txtDisplay.Text & Format$(Index)
End If
End Sub

热心网友 时间:2024-10-23 04:45

基本思路如下,其他的触类旁通。

Option Explicit

Private StoredValue As Double

Private Const opNone = 0
Private Const opAdd = 1
Private Const opSubtract = 2
Private Const opMultiply = 3
Private Const opDivide = 4
Private Operator As Integer

Private NewEntry As Boolean

' Remove the last character.
Private Sub DeleteCharacter()
Dim txt As String
Dim min_len As Integer

txt = txtDisplay.Text
If Left$(txt, 1) = "-" Then
min_len = 2
Else
min_len = 1
End If

If Len(txt) > min_len Then
txtDisplay.Text = Left$(txt, Len(txt) - 1)
Else
txtDisplay.Text = "0"
End If
End Sub

' Clear the current entry, saved value, and operator.
Private Sub cmdClear_Click()
cmdClearEntry_Click
StoredValue = 0
Operator = opNone
End Sub

' Clear the current entry.
Private Sub cmdClearEntry_Click()
txtDisplay.Text = ""
End Sub

' Add a decimal point to the display.
Private Sub cmdDecimal_Click()
If InStr(txtDisplay.Text, ".") Then
Beep
Else
If NewEntry Then
txtDisplay.Text = "."
NewEntry = False
Else
txtDisplay.Text = txtDisplay.Text & "."
End If
End If
End Sub

' Calculate the result of the previous operation.
Private Sub cmdEquals_Click()
Dim new_value As Double

If txtDisplay.Text = "" Then
new_value = 0
Else
new_value = CDbl(txtDisplay.Text)
End If
Select Case Operator
Case opNone
StoredValue = new_value
Case opAdd
StoredValue = StoredValue + new_value
Case opSubtract
StoredValue = StoredValue - new_value
Case opMultiply
StoredValue = StoredValue * new_value
Case opDivide
StoredValue = StoredValue / new_value
End Select
Operator = opNone
NewEntry = True
txtDisplay.Text = Format$(StoredValue)
End Sub

' Add a number to the display.
Private Sub cmdNumber_Click(Index As Integer)
If NewEntry Then
txtDisplay.Text = Format$(Index)
NewEntry = False
Else
txtDisplay.Text = _
txtDisplay.Text & Format$(Index)
End If
End Sub
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
山东沃尔德集团集团所辖公司介绍 齐鲁银行无忧贷和市民贷哪个好 什么叫补按揭 后按揭贷款什么意思 买房者续按揭有什么危害 加按揭是什么意思 八月中国最凉快的地方 八月份哪里最凉快,去哪旅游好?美丽的地方 乱字同韵字是什么意思 华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 中国人民警察大学非公安类毕业生的就业方向有哪些 节日送礼难送出,这个事情到底是我太纠结还是社会常态 元旦送老师充值卡好吗 教师节送老师加油充值卡合适吗? 英语英语英语~~题 判断下列句子是否正确不正确的,请改正 光唇鱼有牙齿吗 0.23✖️0.78是怎么计算的? 1.44✖️0.8➗0.36的简便计算方法? NBA CCTV三和 SCPN 两个电视台的播放时间,人在,速度给分 跟女孩子表白了她还愿意你为她付钱 退休后返聘,年工资薪金没有超过六万,月收入超过五千,需要缴纳所得税吗... 蛋糕胚先放蛋糕油还是色拉油还是起酥油? ...处罚,在县城副驾驶不系安全带被警告会有案底吗 抚顺招聘会时间地点 抚顺招聘网地区优势 抚顺招聘网基本介绍 西陵峡地理位置 “早辞华萼”的出处是哪里 “夙有辞华惊乙览”的出处是哪里 500块油卡是什么 小车15年后是一年两审吗 ...比女儿大27岁,恰好是女儿年龄的4倍,爸爸和女儿今年各多少岁... 秦姓郡望堂号 ...为4,父亲比女儿大27岁,问今年父亲与女儿各多少岁 爸爸的年龄和女儿的年龄的商是4爸爸比女儿大27岁女儿爸爸各多少岁(算数... 成都到鹤壁淇县多少公里 爸爸今年的年龄比女孩大27岁,爸爸的年龄是女孩的4倍.女孩今年几岁? 宜宾到鹤壁淇县多少公里 爸爸的年龄比女儿大27岁,恰好是女儿的4倍,爸爸和女儿各多少岁?(用方程... 欢欢今年7岁,爸爸比欢欢大27岁.爸爸今年几岁.欢欢问爸爸我24岁时你几... 苏州健雄职业技术学院是公办还是民办大学? 只有清霜冻太空的意思是什么 “秪有清霜冻太空”的出处是哪里 钢珠糖在家怎么做 工资上税公式 灵魂摆渡大结局是什么意思 南瓜半生不熟吃可以吗 在「德马吉国际展览有限公司」工作或实习是一种怎样的体验? 我想知道德国德马吉展览公司搭建的质量怎么样,因为我们公司要和他们合...