
分类: 电脑/网络 >> 程序设计 >> 其他编程语言
解析:
其实比较简单啦,用一个窗体就可以实现啦!
我自己写的,你可以看看
Option Explicit
Dim strNumber As String
Dim strPoint As String
Dim dblNum1 As Double
Dim intOperator As Integer
'清除结果
Private Sub cmdGT_Click()
txtDisplayText = "0"
strNumber = ""
strPoint = ""
intOperator = 7
End Sub
'输入数字
Private Sub cmdNumber_Click(Index As Integer)
strNumber = strNumber & cmdNumber(Index)Caption
txtDisplayText = strNumber & strPoint
End Sub
Private Sub cmdOnOff_Click()
End
End Sub
'运算过程
Private Sub cmdOperator_Click(Index As Integer)
Dim dblnum2 As Double
'是第一次单击运算符时,将输入的值先赋给第一个数,否则赋值给第二个数进行运算
If intOperator = 7 Then
dblNum1 = CDbl(txtDisplayText)
Else
dblnum2 = CDbl(Val(txtDisplayText))
'根据输入的符号进行运算
'求普通运算
Select Case intOperator
Case 0
dblNum1 = dblNum1 + dblnum2
Case 1
dblNum1 = dblNum1 - dblnum2
Case 2
dblNum1 = dblNum1 dblnum2
Case 3
If dblnum2 <> 0 Then
dblNum1 = dblNum1 / dblnum2
Else
MsgBox "除数不能为“0”!请重新输入除数。", vbOKOnly + vbInformation, "除零错误"
Index = intOperator
End If
Case 6
dblNum1 = dblNum1 dblnum2 / 100
End Select
End If
'取得当前输入的运算符,以做下次运算
intOperator = Index
strNumber = ""
txtDisplay = CStr(dblNum1)
'判断是否为文本框中的数字加点
If Not txtDisplay Like "" Then
txtDisplayText = txtDisplayText & ""
End If
End Sub
Private Sub cmdOtherOper_Click(Index As Integer)
Dim dblNum As Double
'求平方根,平方,
dblNum = CDbl(Val(txtDisplayText))
Select Case Index
Case 0
'验证数据是否有效
If dblNum >= 0 Then
txtDisplayText = CStr(Sqr(dblNum))
Else
MsgBox "负数不能开平方根!", _
vbOKOnly + vbCritical, "开平方根错误"
End If
Case 1
txtDisplayText = CStr(dblNum ^ 2)
End Select
'判断是否为文本框中的数字加点
If Not txtDisplay Like "" Then
txtDisplayText = txtDisplayText & ""
End If
End Sub
Private Sub cmdPoint_Click()
strNumber = strNumber & strPoint
strPoint = ""
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
'使被按下的数字键的对应按钮取得焦点
Select Case KeyCode
Case 48 To 57
cmdNumber(KeyCode - 48)SetFocus
Case 96 To 105
cmdNumber(KeyCode - 96)SetFocus
Case Else
'使按下的符号键对应的按钮取得焦点
If KeyCode = 107 Or (Shift = vbShiftMask And KeyCode = 187) Then
cmdOperator(0)SetFocus
cmdOperator_Click (0)
ElseIf KeyCode = 109 Or KeyCode = 189 Then
cmdOperator(1)SetFocus
cmdOperator_Click (1)
ElseIf KeyCode = 106 Or (Shift = vbShiftMask And KeyCode = 56) Then
cmdOperator(2)SetFocus
cmdOperator_Click (2)
ElseIf KeyCode = 111 Or KeyCode = 191 Then
cmdOperator(3)SetFocus
cmdOperator_Click (3)
ElseIf KeyCode = 13 Then
cmdOperator(7)SetFocus
cmdOperator_Click (7)
ElseIf KeyCode = 8 Then
cmdGTSetFocus
Call cmdGT_Click
End If
End Select
End Sub
Private Sub Form_KeyPress(KeyAscii As Integer)
'将合法的数据输入到文本框
Select Case KeyAscii
Case 48 To 58
'调用数字键点击处理程序
cmdNumber_Click KeyAscii - 48
KeyAscii = 0
Case 46
'调用小数点输入
cmdPoint_Click
KeyAscii = 0
Case 13
'当敲击回车时,不能触发Form的 KeyUp 事件,因此在这里设置文本框的焦点
txtDisplaySetFocus
Case Else
KeyAscii = 0
End Select
End Sub
Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
txtDisplaySetFocus
End Sub
Private Sub Form_Load()
strNumber = ""
strPoint = ""
intOperator = 7
End Sub
解释下该程序
Sub
Form_Click()
Dim
p
As
Currency
p=10000:r=125
t=1
Again:
If
t
>10
Then
GoTo
100
i=pr
p=p+i
t=t+i
GoTo
Again
100
p
End
Sub
本金为10000(p),年利率为125(r),每年复利计息一次,10年本利合计是多少。程序中“Again:”为标号,100为行号。
Private Sub Form_Click()
Dim P, R As Single
Dim N, i As Integer
P = InputBox("请输入本金")
R = InputBox("请输入年利率")
N = InputBox("请输入年数")
For i = 1 To N
P = (R + 1) P
Next
Print N; "年的本利和为" & P
End Sub
年利率以小数表示,0125是不是太大了00125还差不多
Private Sub Form_Load()
Text1Text = VScroll1Value
Text2Text = HScroll1Value
Text3Text = HScroll2Value
End Sub
Private Sub HScroll1_Change()
Call X
End Sub
Private Sub HScroll2_Change()
Call X
End Sub
Private Sub VScroll1_Change()
Call X
End Sub
Public Function X()
Text1Text = VScroll1Value
Text2Text = HScroll1Value
Text3Text = HScroll2Value
If (Text1Text <> 0) And (Text2Text <> 0) And (Text3Text <> 0) Then
Text4Text = Text1Text Text2Text Text3Text \ 1200
Text5Text = Val(Text4Text) + Val(Text1Text)
End If
End Function
1是让用户输入日期的,但我不知道怎样才能让用户输入日期
有两种办法,
第一次, 用日期控件, 省事
第二次, 在用户输入离开时, 就是失去焦点(LostFocus)时, 判断输入的是不是日期, IsDate函数可以判断, 如果不是, 把文本框清掉!
2日期型变量可以直接相减, 得到的就是天数!
Dim d1 As Date, d2 As Date, d3 As Date
d1 = CDate(Text1Text)
d2 = CDate(Text2Text)
d3 = d2 - d1
Text3Text = d3
以上就是关于怎样用VB编写简单的计算器程序全部的内容,包括:怎样用VB编写简单的计算器程序、编写个用于计算存款利息的程序、一个编写VB的问题 高手帮我下。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)