用VB编写计算器的源程序代码

用VB编写计算器的源程序代码,第1张

完全版的前后台代码...

'请把下面的保存为 form1.frm

VERSION 5.00

Begin VB.Form Calculator

BorderStyle = 1 'Fixed Single

Caption = "计算器"

ClientHeight = 2970

ClientLeft = 2580

ClientTop = 1485

ClientWidth = 3270

ClipControls = 0 'False

BeginProperty Font

Name = "System"

Size = 9.75

Charset = 0

Weight = 700

Underline = 0 'False

Italic = 0 'False

Strikethrough = 0 'False

EndProperty

Icon = "CALC.frx":0000

LinkMode = 1 'Source

LinkTopic = "Form1"

MaxButton = 0 'False

PaletteMode = 1 'UseZOrder

ScaleHeight = 2970

ScaleWidth = 3270

WhatsThisHelp = -1 'True

Begin VB.CommandButton Number

Caption = "7"

Height = 480

Index = 7

Left = 120

TabIndex = 7

Top = 600

Width = 480

End

Begin VB.CommandButton Number

Caption = "8"

Height = 480

Index = 8

Left = 720

TabIndex = 8

Top = 600

Width = 480

End

Begin VB.CommandButton Number

Caption = "9"

Height = 480

Index = 9

Left = 1320

TabIndex = 9

Top = 600

Width = 480

End

Begin VB.CommandButton Cancel

Caption = "C"

Height = 480

Left = 2040

TabIndex = 10

Top = 600

Width = 480

End

Begin VB.CommandButton CancelEntry

Caption = "CE"

Height = 480

Left = 2640

TabIndex = 11

Top = 600

Width = 480

End

Begin VB.CommandButton Number

Caption = "4"

Height = 480

Index = 4

Left = 120

TabIndex = 4

Top = 1200

Width = 480

End

Begin VB.CommandButton Number

Caption = "5"

Height = 480

Index = 5

Left = 720

TabIndex = 5

Top = 1200

Width = 480

End

Begin VB.CommandButton Number

Caption = "6"

Height = 480

Index = 6

Left = 1320

TabIndex = 6

Top = 1200

Width = 480

End

Begin VB.CommandButton Operator

Caption = "+"

Height = 480

Index = 1

Left = 2040

TabIndex = 12

Top = 1200

Width = 480

End

Begin VB.CommandButton Operator

Caption = "-"

Height = 480

Index = 3

Left = 2640

TabIndex = 13

Top = 1200

Width = 480

End

Begin VB.CommandButton Number

Caption = "1"

Height = 480

Index = 1

Left = 120

TabIndex = 1

Top = 1800

Width = 480

End

Begin VB.CommandButton Number

Caption = "2"

Height = 480

Index = 2

Left = 720

TabIndex = 2

Top = 1800

Width = 480

End

Begin VB.CommandButton Number

Caption = "3"

Height = 480

Index = 3

Left = 1320

TabIndex = 3

Top = 1800

Width = 480

End

Begin VB.CommandButton Operator

Caption = "X"

Height = 480

Index = 2

Left = 2040

TabIndex = 14

Top = 1800

Width = 480

End

Begin VB.CommandButton Operator

Caption = "/"

Height = 480

Index = 0

Left = 2640

TabIndex = 15

Top = 1800

Width = 480

End

Begin VB.CommandButton Number

Caption = "0"

Height = 480

Index = 0

Left = 120

TabIndex = 0

Top = 2400

Width = 1080

End

Begin VB.CommandButton Decimal

Caption = "."

Height = 480

Left = 1320

TabIndex = 18

Top = 2400

Width = 480

End

Begin VB.CommandButton Operator

Caption = "="

Height = 480

Index = 4

Left = 2040

TabIndex = 16

Top = 2400

Width = 480

End

Begin VB.CommandButton Percent

Caption = "%"

Height = 480

Left = 2640

TabIndex = 17

Top = 2400

Width = 480

End

Begin VB.Label Readout

Alignment = 1 'Right Justify

BackColor = &H0000FFFF&

BorderStyle = 1 'Fixed Single

Caption = "0."

BeginProperty Font

Name = "MS Sans Serif"

Size = 12

Charset = 0

Weight = 700

Underline = 0 'False

Italic = 0 'False

Strikethrough = 0 'False

EndProperty

ForeColor = &H00000000&

Height = 375

Left = 120

TabIndex = 19

Top = 105

Width = 3000

End

End

Attribute VB_Name = "Calculator"

Attribute VB_GlobalNameSpace = False

Attribute VB_Creatable = False

Attribute VB_PredeclaredId = True

Attribute VB_Exposed = False

' --------------------------------------------------------------------------

' 版权所有 (C) 1994 Microsoft Corporation

'

' 您可以免费以任何方式使用、修改、复制并分发您认为有用的

' 示例应用程序文件 (或任何修改过的版本)。Microsoft 对任何

' 示例应用程序文件不做任何保证,不负任何责任和义务。

' --------------------------------------------------------------------------

Option Explicit

Dim Op1, Op2 ' 前面输入的 *** 作数

Dim DecimalFlag As Integer ' 小数点仍然存在吗?

Dim NumOps As Integer ' *** 作数个数

Dim LastInput ' 指示上一次按键事件的类型

Dim OpFlag ' 指示未完成的 *** 作

Dim TempReadout

' C (取消) 按钮的 Click 事件过程

' 重新设置显示并初始化变量

Private Sub Cancel_Click()

Readout = Format(0, "0.")

Op1 = 0

Op2 = 0

Form_Load

End Sub

' CE (取消输入) 按钮的 Click 事件过程

Private Sub CancelEntry_Click()

Readout = Format(0, "0.")

DecimalFlag = False

LastInput = "CE"

End Sub

' 小数点 (.) 按钮的 Click 事件过程

' 如果上一次按键为运算符,初始化 readout 为 "0.";

' 否则显示时追加一个小数点

Private Sub Decimal_Click()

If LastInput = "NEG" Then

Readout = Format(0, "-0.")

ElseIf LastInput <> "NUMS" Then

Readout = Format(0, "0.")

End If

DecimalFlag = True

LastInput = "NUMS"

End Sub

' 窗体的初始化过程

' 设置所有变量为其初始值

Private Sub Form_Load()

DecimalFlag = False

NumOps = 0

LastInput = "NONE"

OpFlag = " "

Readout = Format(0, "0.")

'Decimal.Caption = Format(0, ".")

End Sub

' 数字键 (0-9) 的 Click 事件过程

' 向显示中的数追加新数

Private Sub Number_Click(Index As Integer)

If LastInput <> "NUMS" Then

Readout = Format(0, ".")

DecimalFlag = False

End If

If DecimalFlag Then

Readout = Readout + Number(Index).Caption

Else

Readout = Left(Readout, InStr(Readout, Format(0, ".")) - 1) + Number(Index).Caption + Format(0, ".")

End If

If LastInput = "NEG" Then Readout = "-" & Readout

LastInput = "NUMS"

End Sub

' 运算符 (+, -, x, /, =) 的 Click 事件过程

' 如果接下来的按键是数字键,增加 NumOps。

' 如果有一个 *** 作数,则设置 Op1。

' 如果有两个 *** 作数,则将 Op1 设置为 Op1 与

' 当前输入字符串的运算结果,并显示结果

Private Sub Operator_Click(Index As Integer)

TempReadout = Readout

If LastInput = "NUMS" Then

NumOps = NumOps + 1

End If

Select Case NumOps

Case 0

If Operator(Index).Caption = "-" And LastInput <> "NEG" Then

Readout = "-" & Readout

LastInput = "NEG"

End If

Case 1

Op1 = Readout

If Operator(Index).Caption = "-" And LastInput <> "NUMS" And OpFlag <> "=" Then

Readout = "-"

LastInput = "NEG"

End If

Case 2

Op2 = TempReadout

Select Case OpFlag

Case "+"

Op1 = CDbl(Op1) + CDbl(Op2)

Case "-"

Op1 = CDbl(Op1) - CDbl(Op2)

Case "X"

Op1 = CDbl(Op1) * CDbl(Op2)

Case "/"

If Op2 = 0 Then

MsgBox "除数不能为 0", 48, "计算器"

Else

Op1 = CDbl(Op1) / CDbl(Op2)

End If

Case "="

Op1 = CDbl(Op2)

Case "%"

Op1 = CDbl(Op1) * CDbl(Op2)

End Select

Readout = Op1

NumOps = 1

End Select

If LastInput <> "NEG" Then

LastInput = "OPS"

OpFlag = Operator(Index).Caption

End If

End Sub

' 百分比键 (%) 的 Click 事件过程

' 计算并显示第一个 *** 作数的百分数

Private Sub Percent_Click()

Readout = Readout / 100

LastInput = "Ops"

OpFlag = "%"

NumOps = NumOps + 1

DecimalFlag = True

End Sub

首先你要有VB 这个软件,注意你还的注意版本的问题,是否与你现有的源代码是否一致,一般来讲VB6.0的大多数.

然后打开你的VB程序,点击文件--打开工程--选择你保存源程序的代码的文件夹,选择工程文件(VBP\VBG文件) ,确定.

现在可以先按F5来试运行,没问题,点击文件---生成XXXXX.EXE --一路下去就OK啦!

B中的错误共分为3种,分别是语法错误、逻辑错误和运行错误。语法错误是指输入的语句不符合VB语法规则,如将if错输成fi、if语句后面没有then、for语句后面没有next等等。这类错误在编译时系统会自动检测出来,并提示错误发生的位置等信息,所以这种错误又称编译期错误。逻辑错误是指我们输入的语法符合VB语法规则,但程序达不到我们要求的功能。例如我们编写了一个加法程序,运行后却发现程序不能完成两数相加的功能。这类程序由于语法正确,而是程序逻辑上存在错误,因此系统不会提示任何信息,必须通过自己调试来发现错误。运行错误则是数据溢出、数组下标越界、被0除、负数开平方或取对数等等。


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

原文地址:https://54852.com/yw/8113295.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存