注册 登录
编程论坛 VB.NET论坛

如何用VB.NET编写计算器???

mojoy 发布于 2004-12-28 10:11, 13810 次点击

各位大虾

小弟最近在学习VB编程,近日需要编写一个计算器,但小弟资质尚浅,还请各位大虾能指点一二。

希望哪位大哥有空帮我写个比较全面的计算器代码,并能把一些重要的代码解释一下,小弟谢过了!!!

26 回复
#2
Mari2004-12-28 19:49
数字计算器还是科学计算器?
#3
mojoy2004-12-30 09:35
我先学简单的,是数字计算器,科学的太深奥,一时半会搞不懂。还请指教!!!!
#4
1506406432005-11-07 21:58

Public Class WebForm1
Inherits System.Web.UI.Page

#Region " Web 窗体设计器生成的代码 "

'该调用是 Web 窗体设计器所必需的。
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

End Sub
Protected WithEvents Button1 As System.Web.UI.WebControls.Button
Protected WithEvents Button2 As System.Web.UI.WebControls.Button
Protected WithEvents Button3 As System.Web.UI.WebControls.Button
Protected WithEvents Button4 As System.Web.UI.WebControls.Button
Protected WithEvents Button5 As System.Web.UI.WebControls.Button
Protected WithEvents Button6 As System.Web.UI.WebControls.Button
Protected WithEvents Button7 As System.Web.UI.WebControls.Button
Protected WithEvents Button8 As System.Web.UI.WebControls.Button
Protected WithEvents Button9 As System.Web.UI.WebControls.Button
Protected WithEvents Button10 As System.Web.UI.WebControls.Button
Protected WithEvents Button11 As System.Web.UI.WebControls.Button
Protected WithEvents Button12 As System.Web.UI.WebControls.Button
Protected WithEvents Button13 As System.Web.UI.WebControls.Button
Protected WithEvents Button14 As System.Web.UI.WebControls.Button
Protected WithEvents Button15 As System.Web.UI.WebControls.Button
Protected WithEvents Button16 As System.Web.UI.WebControls.Button
Protected WithEvents Button17 As System.Web.UI.WebControls.Button
Protected WithEvents Button18 As System.Web.UI.WebControls.Button
Protected WithEvents Button19 As System.Web.UI.WebControls.Button
Protected WithEvents Button20 As System.Web.UI.WebControls.Button
Protected WithEvents TextBox1 As System.Web.UI.WebControls.TextBox
Protected WithEvents Label1 As System.Web.UI.WebControls.Label
Protected WithEvents Label2 As System.Web.UI.WebControls.Label
Protected WithEvents Label3 As System.Web.UI.WebControls.Label
Protected WithEvents Label4 As System.Web.UI.WebControls.Label
Protected WithEvents Label5 As System.Web.UI.WebControls.Label

'注意: 以下占位符声明是 Web 窗体设计器所必需的。
'不要删除或移动它。
Private designerPlaceholderDeclaration As System.Object

Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
'不要使用代码编辑器修改它。
InitializeComponent()
End Sub

#End Region

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码
End Sub

Private Sub Button15_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button15.Click
If Label2.Text = "" Then '除法的实现
Label3.Text = "/"
Label1.Text = TextBox1.Text
Label4.Text = TextBox1.Text
Else
Label2.Text = TextBox1.Text
Select Case Label3.Text
Case "+"
TextBox1.Text = CDbl(Label1.Text) + CDbl(Label2.Text)
Case "*"
TextBox1.Text = CDbl(Label1.Text) * CDbl(Label2.Text)
Case "-"
TextBox1.Text = CDbl(Label1.Text) - CDbl(Label2.Text)
Case "/"
TextBox1.Text = CDbl(Label1.Text) / CDbl(Label2.Text)
Case "1/x"
TextBox1.Text = 1 / CDbl(Label1.Text)
End Select
Label3.Text = "/"
Label1.Text = TextBox1.Text
Label4.Text = TextBox1.Text

End If
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If Label4.Text = "" Then
TextBox1.Text = TextBox1.Text & "1"
Else
TextBox1.Text = ""
TextBox1.Text = TextBox1.Text & "1"
Label4.Text = ""
End If

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
If Label4.Text = "" Then
TextBox1.Text = TextBox1.Text & "2"
Else
TextBox1.Text = ""
TextBox1.Text = TextBox1.Text & "2"
Label4.Text = ""
End If
End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
If Label4.Text = "" Then
TextBox1.Text = TextBox1.Text & "3"
Else
TextBox1.Text = ""
TextBox1.Text = TextBox1.Text & "3"
Label4.Text = ""
End If
End Sub

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
If Label4.Text = "" Then
TextBox1.Text = TextBox1.Text & "4"
Else
TextBox1.Text = ""
TextBox1.Text = TextBox1.Text & "4"
Label4.Text = ""
End If
End Sub

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
If Label4.Text = "" Then
TextBox1.Text = TextBox1.Text & "5"
Else
TextBox1.Text = ""
TextBox1.Text = TextBox1.Text & "5"
Label4.Text = ""
End If
End Sub

Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
If Label4.Text = "" Then
TextBox1.Text = TextBox1.Text & "6"
Else
TextBox1.Text = ""
TextBox1.Text = TextBox1.Text & "6"
Label4.Text = ""
End If
End Sub

Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
If Label4.Text = "" Then
TextBox1.Text = TextBox1.Text & "7"
Else
TextBox1.Text = ""
TextBox1.Text = TextBox1.Text & "7"
Label4.Text = ""
End If
End Sub

Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click
If Label4.Text = "" Then
TextBox1.Text = TextBox1.Text & "8"
Else
TextBox1.Text = ""
TextBox1.Text = TextBox1.Text & "8"
Label4.Text = ""
End If
End Sub

Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click
If Label4.Text = "" Then
TextBox1.Text = TextBox1.Text & "9"
Else
TextBox1.Text = ""
TextBox1.Text = TextBox1.Text & "9"
Label4.Text = ""
End If
End Sub

Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click
If Label4.Text = "" Then
TextBox1.Text = TextBox1.Text & "0"
Else
TextBox1.Text = ""
TextBox1.Text = TextBox1.Text & "0"
Label4.Text = ""
End If
End Sub

Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click
If Label4.Text = "" Then
TextBox1.Text = TextBox1.Text & "."
Else
TextBox1.Text = ""
TextBox1.Text = TextBox1.Text & "."
Label4.Text = ""
End If
End Sub

Private Sub Button12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button12.Click
If Label2.Text = "" Then '加法的实现
Label3.Text = "+"
Label1.Text = TextBox1.Text
Label4.Text = TextBox1.Text
Else
Label2.Text = TextBox1.Text
Select Case Label3.Text
Case "+"
TextBox1.Text = CDbl(Label1.Text) + CDbl(Label2.Text)
Case "*"
TextBox1.Text = CDbl(Label1.Text) * CDbl(Label2.Text)
Case "-"
TextBox1.Text = CDbl(Label1.Text) - CDbl(Label2.Text)
Case "/"
TextBox1.Text = CDbl(Label1.Text) / CDbl(Label2.Text)
Case "1/x"
TextBox1.Text = 1 / CDbl(Label1.Text)
End Select
Label3.Text = "+"
Label1.Text = TextBox1.Text
Label4.Text = TextBox1.Text

End If

End Sub

Private Sub Button13_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button13.Click
If Label2.Text = "" Then '减法的实现
Label3.Text = "-"
Label1.Text = TextBox1.Text
Label4.Text = TextBox1.Text
Else
Label2.Text = TextBox1.Text
Select Case Label3.Text
Case "+"
TextBox1.Text = CDbl(Label1.Text) + CDbl(Label2.Text)
Case "*"
TextBox1.Text = CDbl(Label1.Text) * CDbl(Label2.Text)
Case "-"
TextBox1.Text = CDbl(Label1.Text) - CDbl(Label2.Text)
Case "/"
TextBox1.Text = CDbl(Label1.Text) / CDbl(Label2.Text)
Case "1/x"
TextBox1.Text = 1 / CDbl(Label1.Text)
End Select
Label3.Text = "-"
Label1.Text = TextBox1.Text
Label4.Text = TextBox1.Text

End If
End Sub

Private Sub Button14_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button14.Click
If Label2.Text = "" Then '乘法的实现
Label3.Text = "*"
Label1.Text = TextBox1.Text
Label4.Text = TextBox1.Text
Else
Label2.Text = TextBox1.Text
Select Case Label3.Text
Case "+"
TextBox1.Text = CDbl(Label1.Text) + CDbl(Label2.Text)
Case "*"
TextBox1.Text = CDbl(Label1.Text) * CDbl(Label2.Text)
Case "-"
TextBox1.Text = CDbl(Label1.Text) - CDbl(Label2.Text)
Case "/"
TextBox1.Text = CDbl(Label1.Text) / CDbl(Label2.Text)
Case "1/x"
TextBox1.Text = 1 / CDbl(Label1.Text)
End Select
Label3.Text = "*"
Label1.Text = TextBox1.Text
Label4.Text = TextBox1.Text

End If
End Sub

Private Sub Button20_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button20.Click
Label2.Text = TextBox1.Text '等于的实现
Select Case Label3.Text
Case "+"
TextBox1.Text = CDbl(Label1.Text) + CDbl(Label2.Text)
Case "*"
TextBox1.Text = CDbl(Label1.Text) * CDbl(Label2.Text)
Case "-"
TextBox1.Text = CDbl(Label1.Text) - CDbl(Label2.Text)
Case "/"
TextBox1.Text = CDbl(Label1.Text) / CDbl(Label2.Text)
Case "1/x"
TextBox1.Text = 1 / CDbl(Label1.Text)
End Select
Label2.Text = ""
End Sub

Private Sub Button16_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button16.Click
If Label2.Text = "" Then '倒数的实现
Label3.Text = "1/x"
Label1.Text = TextBox1.Text
Label4.Text = TextBox1.Text
Else
Label2.Text = TextBox1.Text
Select Case Label3.Text
Case "+"
TextBox1.Text = CDbl(Label1.Text) + CDbl(Label2.Text)
Case "*"
TextBox1.Text = CDbl(Label1.Text) * CDbl(Label2.Text)
Case "-"
TextBox1.Text = CDbl(Label1.Text) - CDbl(Label2.Text)
Case "/"
TextBox1.Text = CDbl(Label1.Text) / CDbl(Label2.Text)
Case "1/x"
TextBox1.Text = 1 / CDbl(Label1.Text)
End Select
Label3.Text = "1/x"
Label1.Text = TextBox1.Text
Label4.Text = TextBox1.Text

End If
End Sub

Private Sub Button18_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button18.Click
TextBox1.Text = "" 'CE的实现
End Sub

Private Sub Button19_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button19.Click
Label1.Text = "" ' C的实现
Label2.Text = ""
Label3.Text = ""
Label4.Text = ""
TextBox1.Text = ""
End Sub

Private Sub Button17_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button17.Click
Dim s As String 'Backspace的实现
Dim t As String
s = TextBox1.Text
t = Left(s, Len(s) - 1)
TextBox1.Text = t


End Sub

End Class

#5
ocean_2632005-11-20 00:51
给我邮箱 给你发过去
#6
smoonmoon2006-01-08 12:35
是呀给我你的邮箱我保证给你的是一个出错最少的程序
是上学期没事的时候 写的
#7
meiwang20082006-01-08 15:45
你写很不错吗?你今年大几了呢?你可以编一个《才数字》的吗?
#8
jasonchen8882006-01-09 17:19
我也要guobin609@163.com 谢谢
#9
zxb0962006-01-11 22:58
我也要zxb096@163.com 谢谢
#10
meiwang20082006-01-14 22:48
你们就知道这样!!害得大哥在忙啊~
大哥快编好了啊 ~~~~~~
<猜数字>
#11
xinfresh2006-01-15 01:16

编好了也不白费啊,一样可以拿来大家学习嘛

#12
furong2006-01-16 11:33

我也要.furong_63@163.com.谢谢!!!

#13
snakealpha2006-01-17 10:25
好全呀,佩服
#14
meiwang20082006-01-17 20:47
你们怎么不自己写啊
#15
aaron62006-01-18 11:48
晕.楼主比我懒哦!
#16
猴子啊2006-04-24 21:10
要要要要要要,我要,568697407@QQ.com 谢谢!!!!!
#17
jianeryinger2006-05-04 13:58
这个计算器我们这个学期做过,你现在还要不要了?
#18
linavy2007-06-26 21:12
我也想要 程序啊 lihaijun___@sohu.com谢谢你哦
#19
wopois2007-07-01 22:48

简单有复杂~

#20
daoliang2007-10-29 11:22
非常感谢啊,代码我考回去研究研究啊
#21
anflower068022008-07-03 00:28
可否帮我编个科学性计算器
可否帮我编个科学性计算器??谢谢大家的帮忙!!
要求 :支持2进制,10进制,16进制数的加减乘除
          支持2进制,10进制,16进制数的相互转化
          支持2进制,10进制,16进制数的按位逻辑运算(与,或,同或,异或)
          支持2进制的移位和循环移位
#22
不信任爱2008-12-15 10:55
要这么多吗,我编的很少,你那个是不是科学计算器来的??
#23
月光破尘2011-10-16 17:14
无语
#24
永不止步012012-05-10 11:31
我也是VB新手  我也要呢 嘿嘿  598235923@
#25
nnnmmm2012-06-26 16:57
回复 6楼 smoonmoon
我也是vb菜鸟。。。跪求。。
#26
nnnmmm2012-06-26 16:58
回复 6楼 smoonmoon
发到我邮箱吧。。568975403@  谢谢。。感激不尽

#27
ylzya2013-02-01 15:02
回复 5楼 ocean_263
能给吗?1446595584@谢谢!
1