- 最後登錄
- 2024-3-18
- 在線時間
- 0 小時
- 註冊時間
- 2007-11-16
- 閱讀權限
- 20
- 精華
- 0
- UID
- 2794238
- 帖子
- 123
- 積分
- 496 點
- 潛水值
- 11039 米
| 所有積分大於負-100的壞孩子,將可獲得重新機會成為懲罰生,權限跟幼兒生一樣。 本帖最後由 gpgpi 於 2012-12-12 05:49 AM 編輯
你好,請先安排表單物件如下
並在方案總管加入一個Module,如下
主程式如下
- Public Class Form1
- Dim n1, n2 As Double
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- Me.Text = "Calculator"
- Label1.Text = "Number 1:"
- Label2.Text = "Operation:"
- Label3.Text = ""
- Label4.Text = "Number 2:"
- Label5.Text = "Result:"
- Button1.Text = "+"
- Button2.Text = "-"
- Button3.Text = "*"
- Button4.Text = "/"
- Button5.Text = "^"
- Button6.Text = "√"
- Button7.Text = "mod"
- Button8.Text = "Clear"
- Button9.Text = "Exit"
- TextBox3.Enabled = False
- End Sub
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- Label3.Text = "n1+n2"
- Try
- n1 = TextBox1.Text
- n2 = TextBox2.Text
- TextBox3.Text = Equal(1, n1, n2)
- Catch ex As Exception
- TextBox3.Text = Equal(1, n1, n2)
- End Try
- End Sub
- Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
- Label3.Text = "n1-n2"
- Try
- n1 = TextBox1.Text
- n2 = TextBox2.Text
- TextBox3.Text = Equal(2, n1, n2)
- Catch ex As Exception
- TextBox3.Text = Equal(2, n1, n2)
- End Try
- End Sub
- Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
- Label3.Text = "n1*n2"
- Try
- n1 = TextBox1.Text
- n2 = TextBox2.Text
- TextBox3.Text = Equal(3, n1, n2)
- Catch ex As Exception
- TextBox3.Text = Equal(3, n1, n2)
- End Try
- End Sub
- Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
- Label3.Text = "n1/n2"
- Try
- n1 = TextBox1.Text
- n2 = TextBox2.Text
- TextBox3.Text = Equal(4, n1, n2)
- Catch ex As Exception
- TextBox3.Text = Equal(4, n1, n2)
- End Try
- End Sub
- Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
- Label3.Text = "n1^n2"
- Try
- n1 = TextBox1.Text
- n2 = TextBox2.Text
- TextBox3.Text = Equal(5, n1, n2)
- Catch ex As Exception
- TextBox3.Text = Equal(5, n1, n2)
- End Try
- End Sub
- Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
- Label3.Text = "n1^(1/n2)"
- Try
- n1 = TextBox1.Text
- n2 = TextBox2.Text
- TextBox3.Text = Equal(6, n1, n2)
- Catch ex As Exception
- TextBox3.Text = Equal(6, n1, n2)
- End Try
- End Sub
- Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
- Label3.Text = "n1 mod n2"
- Try
- n1 = TextBox1.Text
- n2 = TextBox2.Text
- TextBox3.Text = Equal(7, n1, n2)
- Catch ex As Exception
- TextBox3.Text = Equal(7, n1, n2)
- End Try
- End Sub
- Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click
- TextBox1.Clear()
- TextBox2.Clear()
- TextBox3.Clear()
- Label3.Text = ""
- End Sub
- Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click
- Me.Close()
- End Sub
- End Class
複製代碼
Module的程式如下
- Imports System.Math
- Module Module1
- Dim n As Double
- Dim t As String
- Public Function Equal(ByVal type As Integer, ByVal x As Double, ByVal y As Double)
- If x = Nothing Or y = Nothing Then
- t = "Error!"
- Return t
- Else
- Select Case type
- Case 1
- n = x + y
- Case 2
- n = x - y
- Case 3
- n = x * y
- Case 4
- n = x / y
- Case 5
- n = x ^ y
- Case 6
- If (x > 0 And y > 0) Or (x > 0 And y < 0) Then
- n = x ^ (1 / y)
- ElseIf (x < 0 And y > 0) Or (x < 0 And y < 0) Then
- n = -(Abs(x) ^ (1 / y))
- End If
- Case 7
- n = x Mod y
- End Select
- Return n
- End If
- End Function
- End Module
複製代碼
執行後
PS.
我是用VB2008寫的,你要用在VB2010可以直接改過去,可能會有些我沒注意到的數學上的小bug,你測試看看,提出來我再改。還有,"Exponentiation"我不確定是甚麼運算QQ",所以我用開幾次方根來代替...
這種有兩個textbox當作輸入來做計算是很間單的,翻書想一下就可以做出來了喔!
熟了之後,你可以嘗試做看看類似電腦內建的計算機程式,會學到更多東西唷!
...
|
附件: 你需要登錄才可以下載或查看附件。沒有帳號?註冊 |