題目:南台飲料店結帳系統 南台科技大學 機械工程系 車輛一甲 學號:4A415019
飲料店結帳系統 學習重點 ListBox、RadioButton的使用方法
題目說明:結帳系統 試設計飲料店結帳系 統,填寫數量再按下 計算鈕之後,即會顯 示結帳總金額。按 「清除」按鈕,再輸 入數量,並點選「老 憑學生證 *0.95」,再 按下「計算」鈕,得 到打95折後的那一筆 總金額資料。
程式開始畫面-改珍珠奶茶數量 改珍珠奶茶數量為1按「計算」按鈕後,得到第1筆結帳 資料
再輸入芋圓奶茶的數量為3 按「清除」按鈕,清除剛剛的珍珠奶茶一份後,再輸入芋圓奶茶的數量為2, 並點選「憑學生證 * 0.95」,再按下「計算」鈕,得到打95折後的那一筆150 元資料。
超過2000元*0.75 在芋頭鮮奶旁的數量欄中輸入40並按下「計算」鈕。 發現因為超過600元,所以畫面中的>2000*0.75選項,已經在程式運作 下自動選取。
清除錯誤資料 假設1950元這筆資料是錯誤的,必須刪除掉。使用者只需直接以滑鼠點選這 筆資料,這筆資料就會自動被刪除,同時,累計值會自動把這筆資料的1950 元,從累計金額中扣除。
版面配置 屬性設定 TBoxPrice1 TBoxPrice2 TBoxPrice3 TBoxQty1 TBoxQty2 TBoxQty3 Label5 Label4 LinkLabel1 Label8 RadioButton1 RadioButton2 RadioButton3 飲品 Label1 Label2 Label3 CheckBox1 CheckBox2 CheckBox3 ListBox1 Button1 Label7 Button2 Label9
物件 屬性 設定 說明 TBoxPrice1 Text “” 珍珠奶茶的價格 TBoxPrice2 芋圓奶茶的價格 TBoxPrice3 芋頭鮮奶的價格 TBoxQty1 珍珠奶茶的數量 TBoxQty2 芋圓奶茶的數量 TBoxQty3 芋頭鮮奶的數量 RadioButton1 憑學生證* 0.95 RadioButton2 打卡* 0.8 RadioButton3 >2000nt *0.75 ListBox1 由程式控制
1.Public Class Form1 2. Dim total, accTotal As Integer 3. Dim total1 As Integer 4.Dim total2 As Integer 5. Dim total3 As Integer 6. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 7. Label7.Text = "$" & total & "元" 8. Label9.Text = "累計:$" & accTotal & "元" 9. Label7.Font = New Font("新細明體", 24) 10.Label7.ForeColor = Color.black 11. total = 0 12. accTotal = 0 13.End Sub
14. Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TBoxPrice1.TextChanged 15.End Sub 16. Private Sub Label1_Click(sender As Object, e As EventArgs) Handles Label1.Click 17. End Sub 18. Private Sub Label8_Click(sender As Object, e As EventArgs) Handles Label8.Click 19. End Sub 20. Private Sub RadioButton1_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton1.CheckedChanged 21.End Sub
22. Private Sub RadioButton3_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton3.CheckedChanged 23.End Sub 24Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 25. total = Val(TBoxPrice1.Text) * Val(TBoxQty1.Text) + Val(TBoxPrice2.Text) * Val(TBoxQty2.Text) + Val(TBoxPrice3.Text) * Val(TBoxQty3.Text) 26. If total > 2000 Then RadioButton3.Checked = True 27. If RadioButton1.Checked = True Then total = total * 0.95 28. If RadioButton2.Checked = True Then total = total * 0.8 29. If RadioButton3.Checked = True Then total = total * 0.75 30. Label7.Text = "$" & total & "元" 31. accTotal = accTotal + total 32. Label9.Text = "累計:$" & accTotal & "元" 33. ListBox1.Items.Add(total & “-->” & “波霸奶茶” & TBoxPrice1.Text & “*” & TBoxQty1.Text & “芋圓 奶茶” & TBoxPrice2.Text & “*” & TBoxQty2.Text & “芋頭鮮奶” & TBoxPrice3.Text & “*” & “加大") 34.End Sub
35.Private Sub ListBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListBox1.SelectedIndexChanged 36. accTotal = accTotal - (Val(ListBox1.SelectedItem)) 37. ListBox1.Items.RemoveAt(ListBox1.SelectedIndex) 38. Label9.Text = "累計:$" & accTotal & "元“ 39.End Sub 40. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click 41. TBoxQty1.Text = 0 42. TBoxQty2.Text = 0 43. TBoxQty3.Text = 0 44. total = 0 45. Label7.Text = "$" & total & "元" 46. Label9.Text = 0 47. End Sub
48. Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged 49.End Sub 50. Private Sub Label9_Click(sender As Object, e As EventArgs) Handles Label9.Click 51. End Sub 52. Private Sub Label7_Click(sender As Object, e As EventArgs) Handles Label7.Click 53. End Sub 54. Private Sub Label3_Click(sender As Object, e As EventArgs) Handles Label3.Click 55. End Sub 56.End Class
程式說明 第2行定義總金額及累計金額的參數 第25行求出單筆交易的總金額。 第26行讓總金額>2000時RadioButton3 (即>2000元*0.75鈕) 自動選取 第27-29行處理折扣動作 第31行累加至累計金額 第33行把單筆交易記錄至ListBox1中 第40-47行為「清除」按鈕的歸零動作
心得: 這次用Visual Basic製作期末報告,雖然剛開始完全不知道該 從何下手,但是參考完老師提供的範本後,慢慢地能了解一 些程式碼它的功能是什麼,也大概知道該如何製作程式!從 本來都看不太懂的程式碼到大概了解程式碼的功能後,心 裡有種踏實感,製作過程中遇到很多問題,但這些問題解決 後,卻很有成就感!