怎样用VB编写简单的计算器程序

怎样用VB编写简单的计算器程序,第1张

分类: 电脑/网络 >> 程序设计 >> 其他编程语言

解析:

其实比较简单啦,用一个窗体就可以实现啦!

我自己写的,你可以看看

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

Print

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的问题 高手帮我下。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10118561.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存