怎样用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

加入标签Label1,Caption设置为“你好,请输入你的姓名”

加入文本框Text1,用来输入姓名的

加入标签Label2,按照你的要求设置字体属性,autosize属性设成true

分别加入确定,继续,结束按钮

以下是代码:

Private Sub Form_Load()

Me结束Visible = False

Me继续Visible = False

Label2Visible = False

End Sub

Private Sub 继续_Click()

Me结束Visible = False

Me继续Visible = False

Label2Visible = False

Me确定Visible = True

Label1Visible = True

Text1Visible = True

End Sub

Private Sub 结束_Click()

End

End Sub

Private Sub 确定_Click()

Label2Caption = Text1Text & "同学,你好,祝你学好vb程序设计"

Me结束Visible = True

Me继续Visible = True

Label2Visible = True

Label1Visible = False

Text1Visible = False

Me确定Visible = False

End Sub

VB 程序设计是Visual Basic编程语言,编写计算机程序需要使用计算机编程语言。计算机编程语言是人和计算机“对话”的桥梁,计算机编程语言也有很多。

目前较为广泛使用的语言有“C++”、“Pascal”、“Basic”等。在众多的计算机编程语言中,以BASIC语言最为易学易用。

BASIC是英文Beginner’s All purpose Symbolic Instruction Code的缩写,意思为初学者通用符号指令代码,一直都是程序设计入门的首选语言。

1991年,Visual Basic(简称VB)面世,他是第三代BASIC语言,它不但秉承了BASIC语言的易学易用的优点,而且增加了图形界面设计工具。

它简化了复杂的窗口程序编写过程,让编程者将更多的精力致力于问题的求解过程。

VB程序设计能设计出大部分的Windows平台的软件,不过有些软件虽然能做,但并不适合VB程序设计。

例如用VB做游戏的话,原理上是可行的,也确实有人用VB开发过游戏,但不得不说太麻烦了。还有一些底层控制的程序也不好做。

VB目前主要用途还是用于快速制作不太复杂的、小型的桌面软件。所以要想开发大型的软件,例如Photoshop或是3DMax之类的程序,VB显然是不能胜任的。

扩展资料:

1、VB的基本特点

(1)可视化的设计平台。Visual Basic提供的可视化设计平台,把Windows界面设计的复杂性“封装”起来,开发人员不必为界面的设计而编写大量程序代码。

只需按照设计的要求,用系统提示的工具在屏幕中画出各种对象即可。Visual Basic自动产生界面设计代码,程序员只需要实现程序功能的那部分代码,从而大大地提高了程序设计的效率。

(2)事件驱动的编程机制。VB没有传统意义上的主程序,程序执行的基本方法是由“事件”来驱动子程序的运行。在图形用户界面的应用程序中,是由用户的动作即事件掌握着程序运行的流向。

每个事件都能驱动一段程序的运行。程序员只需编写响应用户动作的代码,各个动作之间不一定有联系,使得程序既易于编写又易于维护。

2、VB的优点

(1)强大的数值和字符串处理功能。

(2)丰富的图形指令。

(3)提供静态和动态数组,有利于简化内存管理。

(4)过程可递归调用。

(5)支持随机文件和顺序文件访问。

(6)提供了一个可供应用程序调用的包含多种类型的图标库。

(7)具有完善的运行出错处理。

参考资料来源:百度百科-Visual Basic

vb2005中除了ini,还有其他的方法,就是用MySettings。

选择“项目”-“xxx(你的解决法案名)属性”

可以看到一个对话框,有编译,调试,引用,资源等选项,我们选择“设置”,右边出现一个表,项目有“名称”“类型等”,我们创建一个名称为“wt”,类型为“integer”的属性!下面的代码实现保存关闭时的窗体宽,当然可以保存一切你想要的数据(只读属性无法存!):

Private

Sub

Form1_FormClosed(ByVal

sender

As

Object,

ByVal

e

As

SystemWindowsFormsFormClosedEventArgs)

Handles

MeFormClosed

MySettingswt

=

MeWidth

End

Sub

Private

Sub

Form1_Load(ByVal

sender

As

SystemObject,

ByVal

e

As

SystemEventArgs)

Handles

MyBaseLoad

MeWidth

=

MySettingswt

End

Sub

VB60测试通过

'利用随机函数产生60个100~200之间的随机整数,将其中的偶数按由小到大的顺序排列并输出,将奇数按由大到小的顺序排列并输出。

'1.将随机产生的60个整数按每行10个数输出到窗体或文本框中。

'2.将排好序的偶数和奇数分别输出到两个文本框中。

Dim RndArray(6, 10) As Integer

Dim OddArray() As Integer

Dim EvenArray() As Integer

Dim i, j As Integer

Dim m, n As Integer

Private Sub Cmd_Exit_Click()

'销毁数组

Unload Me

End Sub

Private Sub Cmd_Start_Click()

'除数化

MeTxt(0)Text = ""

MeTxt(1)Text = ""

MeTxt(2)Text = ""

ReDim OddArray(60)

ReDim EvenArray(60)

For i = 0 To 5 Step 1

For j = 0 To 9 Step 1

RndArray(i, j) = RndNuN(100, 200)

Next j

Next i

For i = 0 To 5 Step 1

For j = 0 To 8 Step 1

MeTxt(0)Text = MeTxt(0)Text + Trim(Str(RndArray(i, j))) + ","

Next j

MeTxt(0)Text = MeTxt(0)Text + Trim(Str(RndArray(i, j))) + vbCrLf

Next i

m = 0

n = 0

For i = 0 To 5 Step 1

For j = 0 To 9 Step 1

If RndArray(i, j) Mod 2 Then

OddArray(m) = RndArray(i, j)

m = m + 1

Else

EvenArray(n) = RndArray(i, j)

n = n + 1

End If

Next j

Next i

ReDim Preserve OddArray(m)

ReDim Preserve EvenArray(n)

DwComp OddArray(), m

UpComp EvenArray(), n

m = m - 1

n = n - 1

For i = 0 To m Step 1

MeTxt(1) = MeTxt(1) + Trim(Str(OddArray(i))) + ","

Next i

For i = 0 To n Step 1

MeTxt(2) = MeTxt(2) + Trim(Str(EvenArray(i))) + ","

Next i

End Sub

Public Function RndNuN(ByVal Min As Integer, ByVal Max As Integer)

RndNuN = Min + (Max - Min) Rnd

End Function

Public Function UpComp(ByRef parray() As Integer, ByVal num As Integer)

Dim temp As Integer

num = num - 2

For i = 0 To num Step 1

For j = 0 To num Step 1

If parray(j) > parray(j + 1) Then

temp = parray(j)

parray(j) = parray(j + 1)

parray(j + 1) = temp

End If

Next j

Next i

End Function

Public Function DwComp(ByRef parray() As Integer, ByVal num As Integer)

Dim temp As Integer

num = num - 2

For i = 0 To num Step 1

For j = 0 To num Step 1

If parray(j) < parray(j + 1) Then

temp = parray(j)

parray(j) = parray(j + 1)

parray(j + 1) = temp

End If

Next j

Next i

End Function

'利用随机函数产生100个10~99之间的随机整数,找出其中的素数,并将这些素数求和。

'1 将随机产生的100个整数存入数组,按每行10个数输出到窗体或文本框中。

'2 用Sub子过程或Function函数过程判断随机整数是否为素数。

'3 将素数按每行10个数在窗体或文本框中输出。

'4 将素数的个数以及求和结果出到窗体或文本框中。

Dim RndArray(10, 10) As Integer

Dim PrimArray() As Integer

Dim i, j As Integer

Dim m, n As Integer

Dim num As Integer

Dim sum As Integer

Private Sub Cmd_Click(Index As Integer)

If Index Then

Unload Me

Else

'初始化

MeTxt(0)Text = ""

MeTxt(1)Text = ""

MeTxt(2)Text = ""

MeTxt(3)Text = ""

For i = 0 To 9 Step 1

For j = 0 To 9 Step 1

RndArray(i, j) = RndNuN(10, 99)

Next j

Next i

For i = 0 To 9 Step 1

For j = 0 To 8 Step 1

MeTxt(0)Text = MeTxt(0)Text + Trim(Str(RndArray(i, j))) + ","

Next j

MeTxt(0)Text = MeTxt(0)Text + Trim(Str(RndArray(i, j))) + vbCrLf

Next i

m = 0

n = 0

num = 0

sum = 0

ReDim PrimArray(10, 10)

For i = 0 To 9 Step 1

For j = 0 To 9 Step 1

If IsPrime(RndArray(i, j)) Then

PrimArray(m, n) = RndArray(i, j)

MeTxt(1)Text = MeTxt(1)Text + Trim(Str(PrimArray(m, n))) + ","

sum = sum + PrimArray(m, n)

n = n + 1

If n > 9 Then

m = m + 1

n = 0

End If

num = num + 1

End If

Next j

Next i

MeTxt(2)Text = Trim(Str(num))

MeTxt(3)Text = Trim(Str(sum))

End If

End Sub

Public Function RndNuN(ByVal Min As Integer, ByVal Max As Integer)

RndNuN = Min + (Max - Min) Rnd

End Function

Public Function IsPrime(ByVal n As Integer) As Boolean

Dim a, b As Integer

IsPrime = False

If n Mod 2 Then

b = Sqr(n)

For a = 3 To b Step 2

If n Mod a = 0 Then

Exit Function

End If

Next a

IsPrime = True

End If

End Function

变量定义面变量名x,y换别x1y1等

Dim

x1

As

Integer

Private

Sub

Command1_Click()'+按钮

x1

=

x1

+

1

MeCaption

=

x1

End

Sub

Private

Sub

Command2_Click()'-按钮

x1=

x1

-

1

MeCaption

=

x1

End

Sub

Private Sub Command1_Click()

Static n As Long, m As Long

m = Val(Text2)

n = n + 1

If Text1 = "psw123" Then

MsgBox "口令正确", vbExclamation, "登录"

n = 0

Else

If n >= m Then

MsgBox n & "次输入错误,请退出", vbExclamation, "登录"

End

Else

MsgBox "第" & n & "次口令输入错误,请重新输入", vbExclamation, "登录"

Text1SetFocus

End If

End If

End Sub

Private Sub Form_Load()

Label1Caption = "口令:"

Label2Caption = "允许输入口令的次数:"

Command1Caption = "确定"

MeCaption = "登录"

Text1 = ""

Text1PasswordChar = ""

Text2 = 3

End Sub

1 list1clear

2 1

3 C:\student\xstxt xstxt

4 show

5 static

6 3

7 redim

8 vb有这函数吗?我记得只有ubound

9 d出式

以上就是关于怎样用VB编写简单的计算器程序全部的内容,包括:怎样用VB编写简单的计算器程序、怎么用vb做一个简单的程序、什么是VB程序设计等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存