作者Dumkas (貝加莫斯克)
看板Visual_Basic
標題Re: [問題] 用vb寫計算機
時間Mon Mar 24 01:10:11 2003
※ 引述《moongn (神奇~~)》之銘言:
: 請問要怎麼樣才能使計算的結果
: 不是只列出最後答案
: 而是全部
: ex 3+6*7=63
: 我希望列出3+6*7=63
: 而不是63而已
: 拜託各位高手幫幫忙
: 小妹感激不盡
嗯
這個問題我是第二次聽到了唷
而且連算式都一樣(3+6*7應該是45,所以顯然是按順序計算)
把之前的解答copy來...
由於只是按順序,不考慮其他問題(如操作錯誤),做法如下:
先宣告兩個表單的公用變數,一個是Single類型用來存數字(目前運算的總和,
用Single可以確保小數點產生)假設叫做Sum,一個是String用來存上次按下的
運算符號("+" ,"-", "*", "/")以便判斷...假設叫做Operator。
假設下面顯示答案的TextBox叫做Display。
Dim Sum As Integer
Dim Operator As String
End按鈕只要寫End就可以了。
=(等於)按鈕要做兩件事,第一是把Operator設為空字串(""),這樣就不會影響下次的運算。第二是把Sum的內容加到Display。
Operator = ""
Display.Text = Display.Text + "=" + Sum
數字的按鈕,第一要先判斷Operator是不是空的(表示剛剛已經按過=,
要重新起始Display的內容了,數字是第一次輸入)。第二(後續的輸入)才是
將數字加到Display和Sum。這裡先用If教,用Select case也可。
(每個按鈕都要有一段,不過會物件陣列會更好...)
If Operator = "" Then
Display.Text = 這個按鈕代表的數字
Sum = 這個按鈕代表的數字
Else
Display.Text = Display.Text + 這個按鈕代表的數字
If Operator = "+" Then
Sum = Sum + 這個按鈕代表的數字
ElseIf Operator = "-" Then
Sum = Sum - 這個按鈕代表的數字
ElseIf Operator = "*" Then
Sum = Sum * 這個按鈕代表的數字
ElseIf Operator = "/" Then
Sum = Sum / 這個按鈕代表的數字
End If
End if
運算符號的按鈕只需要指定Operator是什麼就可以了,然後也把符號加到Display上。
例如加號按鈕:
Operator = "+"
Display.Text = Display.Text + "+"
--
┌═╮┬ ┬╭┬╮┬╭═╭═╮╭═╮
║ ║║ ║║║║╟╯ ╟─╢╰═╮
└═╯╰═╯┴ ┴┴╰═┴ ┴─═╯
--
※ 發信站: 批踢踢實業坊(ptt.csie.ntu.edu.tw)
◆ From: 61.216.81.144
→ moongn:謝謝你!幫了我大忙!..^-^ 推218.166.100.169 03/24
→ ping0519:如果要做像真的計算機要考慮很多東東呢... 推 163.17.9.70 03/25
→ Dumkas:是沒錯.... 推 61.216.81.144 03/26