計算機程式及實習期末報告 ppt 製作 題目 : 南台黑心早餐店結帳系統 南台科技大學機械工程系車輛一乙學號 :4A015038 老師 : 謝慶存
學習重點 早餐店結帳 ListBox RadioButton 的使用方法
題目說明 : 早餐店結帳 試設計快餐店結帳系統, 填寫數量再按下計算鈕之後, 即會顯示結帳總金額 按 清除 按鈕, 再輸入數量, 並點選 老客戶 *0.8, 再按下 計算 鈕, 得到打 8 折後的那一筆總金額資料
附加練習 請為程式加入加量加 5 元功能, 特別注意到是每一份加量都必須加 5 元, 而非不管訂多少份, 加量都只加 5 元 另外, 若總金額超過 500 元之單一筆訂單則免收加量費用功能, 請一併加入, 並請於畫面提示出此訊息
程式開始畫面 - 改牛肉飯數量 改煎餃數量為 1 按 結帳 按鈕後, 得到第 1 筆結帳資料
按 清除 按鈕, 清除剛剛的煎餃一份後, 再輸入蛋餅的數量為 2, 並點選 學生族群 *0.9, 再按下 計算 鈕, 得到打 9 折後的那一筆 42 元資料 再輸入雞肉飯的數量為 2
超過 2000 元 *0.75 在漢堡旁的數量欄中輸入 50 並按下 計算 鈕 發現因為超過 500 元, 所以畫面中的 >1000*0.75 選項, 已經在程式運作下自動選取
版面配置屬性設定 價格 TBoxPrice1 TBoxPrice3 數量 TBoxQty1 TBoxQty2 TBoxQty3 加飯 CheckBox1 CheckBox2 CheckBox3 快餐 Label1 Label2 Label3 優待 GroupBox1 RadioButton1 RadioButton2 RadioButton3 列出點餐 ListBox1 金額 Label6 Label7 Button2 Button1
物件屬性設定說明 TBoxPrice1 Text 漢堡價格 TBoxPrice2 Text 蛋餅價格 TBoxPrice3 Text 煎餃價格 TBoxQty1 Text 漢堡數量 TBoxQty2 Text 蛋餅數量 TBoxQty3 Text 煎餃數量 RadioButton Text 學生族群
RadioButton2 Text 老客戶 RadioButton3 Text >1000*705 Button1 Text 結帳 Button2 Text 清除 Listbox1 由程式控制
程式碼設計 Public Class Form1 Dim total, acctotal As Integer Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click total = Val(TBoxPrice1.Text) * Val(TBoxQty1.Text) + Val(TBoxPrice2.Text) * ) + Val(TBoxPrice3.Text) * Val(TBoxQty3.Text) If total > 1500 Then RadioButton3.Checked = True If RadioButton1.Checked = True Then total = total * 0.85 If RadioButton2.Checked = True Then total = total * 0.9 If RadioButton3.Checked = True Then total = total * 0.75 Label7.Text = "$" & total & " 元, " acctotal = acctotal + total Label8.Text = " 本 D? 日 e 營 c 業 P~ 額 B:G$" & acctotal & " 元, " ListBox1.Items.Add(total & "-->" & " 漢 ~ 堡 u" & TBoxPrice1.Text & "*" & TBoxQty1.Text & " 蛋 J 餅 a" & TBoxPrice2.Text & "*" & TBoxQty2.Text & " 煎 PI 餃 a" & TBoxPrice3.Text & "*" & TBoxQty3.Text)
程式碼設計 Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Private Sub Label7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label7.Click Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Label7.Text = "$" & total & " 元, " Label8.Text = " 本 D? 日 e 營 c 業 P~ 額 B:G$" & acctotal & " 元, " Label7.Font = New Font(" 新 Ps 細 O 明 u 體 e", 24) Label7.ForeColor = Color.Black total = 0 acctotal = 0
程式碼設計 Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged acctotal = acctotal - (Val(ListBox1.SelectedItem)) ListBox1.Items.Remove(ListBox1.SelectedItem) Label7.Text = "$" & acctotal & " 元, " Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click TBoxQty1.Text = 0 TBoxQty2.Text = 0 TBoxQty3.Text = 0 total = 0 Label7.Text = "$" & total & " 元, " ListBox1.Items.Clear() Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged If CheckBox1.Checked = True Then TBoxPrice1.Text = Str(Val(TBoxPrice1.Text) + 10) If CheckBox1.Checked = False Then TBoxPrice1.Text = Str(Val(TBoxPrice1.Text) - 10)
程式碼設計 Private Sub CheckBox2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox2.CheckedChanged If CheckBox2.Checked = True Then TBoxPrice2.Text = Str(Val(TBoxPrice2.Text) + 10) If CheckBox2.Checked = False Then TBoxPrice2.Text = Str(Val(TBoxPrice2.Text) - 10) Private Sub CheckBox3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox3.CheckedChanged If CheckBox3.Checked = True Then TBoxPrice3.Text = Str(Val(TBoxPrice3.Text) + 10) If CheckBox3.Checked = False Then TBoxPrice3.Text = Str(Val(TBoxPrice3.Text) - 10) Private Sub Label6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label6.Click Private Sub TBoxQty1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TBoxQty1.TextChanged Private Sub RadioButton1_CheckedChanged_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged End Class
程式說明 第 2 行定義總金額及累計金額的參數 第 3 行讓總金額 >1000 時 RadioButton3 ( 即 >1000 元 *0.75 鈕 ) 自動選取 第 8-10 行處理折扣動作 第 9 型定義, 學生族群 *0.9 折 第 39-47 行為 清除 按鈕的歸零動作
心得 本人對於 Visual Basic 感到有些簡單一些, 也許是因為添加了許多的中文化, 加上老師上課認真的解說, 比較容易懂得, 但是老師要求這一份期末報告, 對我們來說還是有一點困難, 困難在於程式碼設計部分, 很多都是高中時候沒學過的, 突然接觸陌生的領域, 腦筋好難轉過來, 不過經過半學期 VB 課程, 我對 VB 不再畏懼了, 反而更喜歡他了, 希望以後能夠用這一份專長寫出一份好的程式造福大眾 最後謝謝老師你每次上課非常認真 很有耐心 非常幽默的專業解說!!
參考文獻 老師的範例 Visual Basic 2010 課本