計算機程式及實習 Computer Program Design and Experiment) 期末報告 ppt 南台科技大學機械工程系 姓名 : 蔡中銘 學號 :4A 授課老師 : 謝慶存大帥哥
題目說明 使用 Visual Basic 2010 語言來設計出一個簡 單的商店結帳系統, 要寫出店名、賣哪些 東西、價格、數量、 跟有什麼優待,並且 按下計算鈕的時候要 有反應,若有折扣也 要算得正確的一個商 品結帳系統的設計。
表單 Form 設計 : 建立商店介面 優待 GroupBox1 RadioButton1 RadioButton2 RadioButton3 優待 GroupBox1 RadioButton1 RadioButton2 RadioButton3 Button2 Button1 全部點餐 ListBox1 金額 Label6 Label7 價格 TBoxPrice1 TBoxPrice2 TBoxPrice3 數量 TBoxQty1 TBoxQty2 TBoxQty3 加飯 CheckBox1 CheckBox2 CheckBox3
物件屬性設定說明 TBoxPrice1Text“” 雞排飯價格 TBoxPrice2Text“” 牛肉麵價格 TBoxPrice3Text“” 豬排飯價格 TBoxQty1Text 雞排飯數量 TBoxQty2Text 牛肉麵數量 TBoxQty3Text 豬排飯數量 RadioButton 1 Text 老客戶 *0.85
物件屬性設定說明 RadioButton2Text 特約戶 *0.8 RadioButton2 RadioButton3Text >2000 元 *0.75 RadioButton3 Button1Text 清除 Button1 Button2Text 計算 Button2 ListBox1 由程式控制
程式碼撰寫 : 語言程式之實作方法 1 Public Class Form1 定義 Form1 提供公用類別 2Dim total, accTotal As Integer 定義總金額及累計金額的參數。 3 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 4 Label6.Text = “$” & total & “ 元 “ Label6 顯示出 $ 總共金額 單位是元 5 Label7.Text = “ 累計: $” & accTotal & “ 元 ” Label7 顯示出 $ 跟之前每一次總 共金額的累計 單位是元 6 Label6.Font = New Font(“ 新細明體 ”, 24) Label6 顯示出的字體為 ” 新細明 體 ” 大小 24 7 Label6.ForeColor = Color.Red Label6 出現的文字顏色為紅色 8 total = 0 一開始總額為 0 9 accTotal = 0 一開始累計為 0 10 End Sub 結束
12 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 對 Button 輸入指令 13 total = Val(TBoxPrice1.Text) * Val(TBoxQty1.Text) + Val(TBoxPrice2.Text) * Val(TBoxQty2.Text) + Val(TBoxPrice3.Text) * Val(TBoxQty3.Text) 總金額 = 第一個商品價錢乘上商品數量 + 第二個商 品價錢乘上數量 + 第三個商品價錢乘上數量 13If total > 1500 Then RadioButton3.Checked = True 如果總金額大於 1500 那優惠第三個選項會自動打開 14If RadioButton1.Checked = True Then total = total * 0.85 優惠第一個選項 打開總金額會乘上 0.85 倍 (85 折 ) 15If RadioButton2.Checked = True Then total = total * 0.7 優惠第二個選項 打開總金額會乘上 0.7 倍 (7 折 ) 16If RadioButton3.Checked = True Then total = total * 0.65 優惠第三個選項 打開總金額會乘上 0.65(65 折 )
18Label6.Text = “$” & total & “ 元 ” Label6 顯示出 $ 總共金額 單位是元 19accTotal = accTotal + total 總共累計 = 累計 + 總金額 20Label7.Text = “ 累計: $” & accTotal & “ 元 ” Label7 顯示出 $ 跟之前每一次總共金額 的累計 單位是元 21ListBox1.Items.Add(total & “-->” & “ 雞排 ” & TBoxPrice1.Text & “*” & TBoxQty1.Text & “ 牛肉 ” & TBoxPrice2.Text & “*” & TBoxQty2.Text & “ 豬排 ” & TBoxPrice3.Text & “*” & TBoxQty3.Text) 把單筆交易記錄至 ListBox1 中 22End Sub 結束 23Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click 24TBoxQty1.Text = 0 25TBoxQty2.Text = 0 26TBoxQty3.Text = 0 27total = 0 以上 24~29 為「清除」按鈕的歸零動作 28Label6.Text = "$" & total & " 元 “ 29End Sub
30 Private Sub ListBox1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListBox1.MouseUp 31 accTotal = accTotal - (Val(ListBox1.SelectedItem)) 扣除該筆記錄在累加 值中的數值 32 ListBox1.Items.RemoveAt(ListBox1.SelectedIndex) 實際於 ListBox1 中刪 除,刪除該筆記錄 33Label7.Text = “ 累計: $” & accTotal & “ 元 “ 把更正後的累加值,再度顯 示出來 34End Sub 35End Class 第 行處理利用滑鼠在 ListBox1 上點選時,放開滑鼠左鍵的刪除記錄 動作
實際執行程式 一開始先執行程式 ( 左邊那張圖 ) ,之後可以輸入 你要的數量再按下計算就會跑出你點出的清單價 格 ( 右邊那張圖 ) ,累計也在這時候會開始累計
以上三張圖為優惠、超過 1500 自動 *0.65 、跟清除 的圖,首先左上角那張是優惠的圖, 75*10+80*2+70*1=980 這是原本價格但是經過打折 後變成 833 , 980*0.85=833 可以證明這個計算是正 確的。再來是上面那張圖是超過 1500 會自動打 65 哲的功能原價格為 1620 但是乘上 0.65 以後就變成 1053 ,證明也是計算無問題 ( 累計仍然繼續累計 ) 接下來是左邊那張圖,為按下清除鈕後的圖片, 除了累計跟價格以外 ,其餘都歸零。
心得感言 其實學期一開始我根本就不知道 VB 是什麼東西,當每次執行 VB 的時候其 實心裡都會自己想說我真的會做嗎 ? 這是我第一次碰這種東西,我真 的能夠把看起來很複雜的程式給完成嗎 ? 我曾經這樣疑慮過自己的能 力,但幸虧老師的教導是從最簡單開始有規劃性且有耐心的教導,才 讓我到了今天對於 VB 已經沒有像以前剛開始一樣會質疑自己的能力, 而且其實能夠把一個程式從沒有任何東西開始慢慢地往下做,把錯誤 一個一個解決到最後可以很成功且順利地執行程式,心裡其實很有成 就感,以前根本就沒有想過自己可以碰到這類型的東西,回想到以前 高職的電腦課只有去考所謂的二進位、八進位之類的,或者是學學 EXCEL 、 WORD 、 FLASH 而已,沒有一個像現在這樣可以去玩看看程式, 雖然有時候自己會被程式碼給打敗,但好險有老師上課的教導跟同學 的指導讓我可以克服這些問題,上 VB 課其實很好玩可以做出自己以前 做不到也摸不到的東西其實很開心,我想我以後還是會去多多摸 VB 這 一個程式,畢竟它帶給我一種成就感,感謝老師這學期的認真教導, 讓我知道其實 VB 沒有這麼的困難,也很感謝老師很有耐心的教導我們 班,我知道我們班很愛講話、很亂但老師都是笑笑地且有耐心的教導 讓我心裡很感動,謝謝 & 對不起,感謝老師這學期的教導 !!
參考文獻 My 數位學習網 計算機概論範例 1 、範例 2 Visual Basic2010 基礎必修課 ( 基峯 )