您好,欢迎来到刀刀网。
搜索
您的当前位置:首页VB.NETVB2010 四则计算器源码

VB.NETVB2010 四则计算器源码

来源:刀刀网


Public Class Form1

'计算器的原理:

'将输入的算式以运算符进行分割并计算

'例如1+1分割成1、+、1,三个部分,然后运算

Function CutStr(ByVal InPutStr As String) As String()

Dim CalStr(3) As String

If InStr(InPutStr, \"+\") Then '算式中有+号 那么就是加法

CalStr(0) = InPutStr.Split(\"+\")(0)

CalStr(1) = \"+\"

CalStr(2) = InPutStr.Split(\"+\")(1)

ElseIf InStr(InPutStr, \"-\") Then '算式中有-号 那么就是减法

CalStr(0) = InPutStr.Split(\"-\")(0)

CalStr(1) = \"-\"

CalStr(2) = InPutStr.Split(\"-\")(1)

ElseIf InStr(InPutStr, \"*\") Then '算式中有*号 那么就是乘法

CalStr(0) = InPutStr.Split(\"*\")(0)

CalStr(1) = \"*\"

CalStr(2) = InPutStr.Split(\"*\")(1)

ElseIf InStr(InPutStr, \"/\") Then '算式中有/号 那么就是除法

CalStr(0) = InPutStr.Split(\"/\")(0)

CalStr(1) = \"/\"

CalStr(2) = InPutStr.Split(\"/\")(1)

Else '算式中没有运算符号

CalStr(0) = InPutStr

CalStr(1) = \"\"

CalStr(2) = \"\"

End If

Return CalStr

End Function

Private Sub 数字键_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 数字键0.Click, 数字键1.Click, 数字键2.Click, 数字键3.Click, 数字键4.Click, 数字键5.Click, 数字键6.Click, 数字键7.Click, 数字键8.Click, 数字键9.Click

'输入键,如果当前是0那么覆盖输入,如果当前不是0那么追加输入

If 显示框.Text = \"0\" Then

显示框.Text = sender.text

Else

显示框.Text = 显示框.Text & sender.text

End If

End Sub

Private Sub 小数点_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 小数点.Click

'此处比较复杂举例说明

'当前 按下后输入

'没有运算符没有小数的数字例如:2 2.

'没有运算符含有小数的数字例如:2. 不输入仍是:2.

'含有运算符没有小数例如:3+3 3+3.

'含有运算符含有小数例如:3+3. 不输入仍是3+3.

'含有运算符运算符后为空例如:3+ 补0输入:3+0.

If CutStr(显示框.Text)(1) = \"\" Then '表示没有运算符

If InStr(显示框.Text, sender.text) = False Then '没有运算符没有小数的数

字例如:2 2.

显示框.Text = 显示框.Text & sender.text

End If

Exit Sub

Else '表示含有运算符

If InStr(CutStr(显示框.Text)(2), sender.text) = False Then

If CutStr(显示框.Text)(2) = \"\" Then '含有运算符运算符后为空例如:3+ 补0输入:3+0.

显示框.Text = 显示框.Text & \"0\" & sender.text

Else '含有运算符没有小数例如:3+3 3+3.

显示框.Text = 显示框.Text & sender.text

End If

End If

End If

End Sub

Private Sub 运算符_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 运算符乘.Click, 运算符除.Click, 运算符加.Click, 运算符减.Click

'如果已经存在运算符了,那么,不允许输入

If (InStr(显示框.Text, \"+\") Or InStr(显示框.Text, \"-\") Or InStr(显示框.Text, \"*\") Or InStr(显示框.Text, \"/\")) = False Then

显示框.Text = 显示框.Text & sender.text

End If

End Sub

Private Sub 清零键_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 清零键.Click

'清零就是在显示框显示0

显示框.Text = \"0\"

End Sub

Private Sub 运算符等于_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 运算符等于.Click

'对运算符进行判断,并进行相应的运算

Select Case CutStr(显示框.Text)(1)

Case \"+\"

显示框.Text = Val(CutStr(显示框.Text)(0)) + 框.Text)(2))

Case \"-\"

显示框.Text = Val(CutStr(显示框.Text)(0)) - 框.Text)(2))

Case \"*\"

显示框.Text = Val(CutStr(显示框.Text)(0)) * Val(CutStr(显示Val(CutStr(显示Val(CutStr(显示

框.Text)(2))

Case \"/\"

显示框.Text = Val(CutStr(显示框.Text)(0)) / Val(CutStr(显示框.Text)(2))

Case Else

End Select

End Sub

End Class

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- gamedaodao.com 版权所有 湘ICP备2022005869号-6

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务