vb:简易计算器(加减乘除)代码

跪求高人给代码!!!... 跪求高人给代码!!! 展开
 我来答
changyiduU4Q
高粉答主

推荐于2019-10-03 · 关注我不会让你失望
知道答主
回答量:264
采纳率:100%
帮助的人:8.4万
展开全部

代码如下:

Dim t, t1 As Integer

Dim x, y As Double

Public Sub com()

x = Val(l1.Caption)

Select Case t1

Case Is = 1: y = y + x

Case Is = 2: y = y - x

Case Is = 3: y = y * x

Case Is = 4: y = y / x

End Select

t1 = 0

t = 0

l1.Caption = "0"

End Sub

Private Sub Form_Load()

x = 0

y = 0

t = 0

t1 = 1

End Sub

Private Sub c0_Click(Index As Integer)

If l1.Caption = "0" Then

l1.Caption = "0"

Else

l1.Caption = l1.Caption + "0"

End If

End Sub

Private Sub C1_Click(Index As Integer)

If l1.Caption = "0" Then

l1.Caption = "1"

Else

l1.Caption = l1.Caption + "1"

End If

End Sub

Private Sub c10_Click(Index As Integer)

If t = 0 Then

l1.Caption = l1.Caption + "."

t = 1

End If

End Sub

Private Sub C2_Click(Index As Integer)

If l1.Caption = "0" Then

l1.Caption = "2"

Else

l1.Caption = l1.Caption + "2"

End If

End Sub

Private Sub C3_Click(Index As Integer)

If l1.Caption = "0" Then

l1.Caption = "3"

Else

l1.Caption = l1.Caption + "3"

End If

End Sub

Private Sub C4_Click(Index As Integer)

If l1.Caption = "0" Then

l1.Caption = "4"

Else

l1.Caption = l1.Caption + "4"

End If

End Sub

Private Sub C5_Click(Index As Integer)

If l1.Caption = "0" Then

l1.Caption = "5"

Else

l1.Caption = l1.Caption + "5"

End If

End Sub

Private Sub C6_Click(Index As Integer)

If l1.Caption = "0" Then

l1.Caption = "6"

Else

l1.Caption = l1.Caption + "6"

End If

End Sub

Private Sub C7_Click(Index As Integer)

If l1.Caption = "0" Then

l1.Caption = "7"

Else

l1.Caption = l1.Caption + "7"

End If

End Sub

Private Sub C8_Click(Index As Integer)

If l1.Caption = "0" Then

l1.Caption = "8"

Else

l1.Caption = l1.Caption + "8"

End If

End Sub

Private Sub C9_Click(Index As Integer)

If l1.Caption = "0" Then

l1.Caption = "9"

Else

l1.Caption = l1.Caption + "9"

End If 

End Sub

Private Sub z1_Click(Index As Integer)

com

t1 = 1

End Sub

Private Sub z2_Click(Index As Integer)

com

t1 = 2

End Sub

Private Sub z3_Click(Index As Integer)

com

t1 = 3

End Sub

Private Sub z4_Click(Index As Integer)

com

t1 = 4

End Sub

Private Sub z5_Click(Index As Integer)

tmp = Mid(l1.Caption, Len(l1.Caption), 1)

If tmp = "." Then

t = 0

End If

If Len(l1.Caption) = 1 Then

l1.Caption = "0"

Else

l1.Caption = Left(l1.Caption, Len(l1.Caption) - 1)

End If

End Sub

Private Sub z6_Click(Index As Integer)

l1.Caption = "0"

Form_Load

End Sub

Private Sub z7_Click(Index As Integer)

If (l1.Caption <> "0") Then

l1.Caption = "-" + l1.Caption

End If

End Sub

Private Sub z8_Click(Index As Integer)

com

l1.Caption = Str(y)

End Sub

扩展资料

语言缺点

Visual Basic 语言具有不支持继承、无原生支持多线程、异常处理不完善等三项明显缺点,使其有所局限性(此些缺点皆已在 vb .net 获得改进)。

不支持继承

VB 5.0 和 VB 6.0 都是基于对象的编程语言,但是不包含继承特性。VB 中提供了特殊的类的功能,但是还是不能满足程序员的需求。

无原生支持多线程

Visual Basic 对于多线程无原生支持,只能通过Windows API的调用实现,且极其的不稳定。因为在API创建的线程中,并没有自动初始化运行时库,导致部分的函数无法使用。一般的,在VB6等早期的VB开发环境下,使用API创建线程的目的是完成容易使程序假死的大量数据或者逻辑的计算。

异常处理不完善

Visual Basic 中内置异常处理,即使未写异常处理代码,一旦用户出错也会弹出一个明确写出出错原因对话框,接着程序终止。

Visual Basic 中可以使用 Err.Raise抛出异常。对系统及用户抛出的异常的处理常用两种模式:一是使用 On Error Resume Next 处理错误;另一种是使用 On Error Goto 将运行引入错误处理代码。但相对 C++ 等语言而言,这样的异常处理破坏了代码的结构。

参考资料:百度百科-VB

匿名用户
2013-11-13
展开全部
(1)运行界面: (2)除法(其他运算相似) (3)退格(删除光标处的数字) 其他功能就不介绍了,楼主如果要源码,可以发给你.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2018-02-22
展开全部
这里我假定数1的是text1 运算符是text2 数2为text3 结果为text4 private sub form_load() text1=""text2=""text3=""text4=""end subPrivate Sub Command1_Click()
Select Case Text2.Text
Case "+"
Text4.Text = Text1 + Text3
Case "-"
Text4.Text = Text1 - Text3
Case "*"
Text4.Text = Text1 * Text3
Case "/"
If Text3 = "0" Then
Text4.Text = "除数为0"
Exit Sub
Else
Text4.Text = Text1 / Text3
End If
Case "\"
If Text3 = "0" Then
Text4.Text = "除数为0"
Exit Sub
Else
Text4.Text = Text1 \ Text3
End If
End Select
End SubPrivate Sub Text1_KeyPress(KeyAscii As Integer)
If IsNumeric(Chr(KeyAscii)) Then
Else
If KeyAscii = 8 Then
Else
KeyAscii = 0
End If
End If
End Sub
Private Sub Text3_KeyPress(KeyAscii As Integer)
If IsNumeric(Chr(KeyAscii)) Then
Else
If KeyAscii = 8 Then
Else
KeyAscii = 0
End If
End If
End SubPrivate Sub Text2_KeyPress(KeyAscii As Integer)
If Chr(KeyAscii) = "+" Or Chr(KeyAscii) = "-" Or Chr(KeyAscii) = "*" Or Chr(KeyAscii) = "/" Or Chr(KeyAscii) = "\" Then
Else
If KeyAscii = 8 Then
Else
KeyAscii = 0
End If
End If
End Sub好了 代码就到这里了 检测一下 应该是没什么问题的,不过是写得不怎么好。能运行的
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-11-13
展开全部
你在窗体上加个按钮,往里面输入这个代码,然后运行点击一下那个按钮:msgbox("介绍:这个计算器能算:加法,减法,乘法,除法,算出两个数字哪个大!")
msgbox("使用方法:先输入要运算的2个数字,然后在输入要用到的运算方法.")
jf="请输入第1个数字"
jr="请输入第2个数字"
a=Inputbox(jf,"计算")
b=Inputbox(jr,"计算")
k=Inputbox("请用数字标出你要进行的运算(用数字选,1=加法 2=减法 3=乘法 4=除法 5=算出两个数字哪个大)")
if k=1 then c=int(a)+int(b)
if k=2 then c=(a)-(b)
if k=3 then c=(a)*(b)
if k=4 then c=(a)/(b)
if k=5 and a>b then c=("第1个数字大")
if k=5 and a<b then c=("第2个数字大")
if k=5 and a=b then c=("2个数字一样大")
msgbox("这个计算的结果是:")&(c)
msgbox("QQ172259743:计算完成关闭计算器")
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2016-11-11
展开全部
Private Sub Command1_Click()
Select Case Text2.Text
Case "+"
Text4.Text = Str(Val(Text1.Text) + Val(Text3.Text))
Case "-"
Text4.Text = Str(Val(Text1.Text) - Val(Text3.Text))
Case "*"
Text4.Text = Str(Val(Text1.Text) * Val(Text3.Text))
Case "/"
If Val(Text3.Text) = 0 Then
Text4.Text = "除数不能为0"
Else
Text4.Text = Str(Val(Text1.Text) / Val(Text3.Text))
End If
End Select
End SubPrivate Sub Command2_Click()
Unload Me
End Sub
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式