




已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
目錄目錄 1 問題描述問題描述 3 1 1 目的 1 2 要求 1 3 商品銷售統(tǒng)計 問題問題分析分析 3 3 算法設計算法設計 4 4 UML 圖圖 5 5 測試結果與分析測試結果與分析 6 6 總結總結 10 7 代碼附錄代碼附錄 10 一 問題描述一 問題描述 1 1 目的目的 在 面向對象程序設計 課程教學的基礎上 根據軟件工程的方法與流程 在相對集 中的實訓教學時間內 通過一個功能較完整的小型應用系統(tǒng)的設計與開發(fā) 深入復習并進 一步掌握面向對象的程序設計思想與方法 同時 作為整個實踐教學體系一部分 系統(tǒng)培 養(yǎng)采用面向對象的方法分析問題與解決問題的能力及團體組織與協作能力 1 2 要求要求 從課程設計的目的出發(fā) 通過設計工作的各個環(huán)節(jié) 達到以下教學要求 1 根據實現的功能 劃分出合理的對象類 明確對象類間的關系 2 為每個對象類設計正確的域和方法 為每個方法設計合理的方法體 同時 為對象 類及內部的域和方法運用正確的修飾符 如訪問控制符等 3 編程簡練 程序功能齊全 能正確運行 1 3 商品銷售統(tǒng)計商品銷售統(tǒng)計 問題描述 編寫商品銷售統(tǒng)計程序 商品的信息有 商品的名稱 計量單位 重量或件 單價 所有商品的信息事先已存入計算機 屏幕上顯示所有商品的名稱 選擇商品名 輸入商品 計量單位 如重量 件數等 根據單價算出總價 客戶一次購物可能購買多種商品 程序 應計算出客戶應付的錢款數 基本要求 程序分為兩個部分 第一部分用于輸入商品的信息并允許修改和刪除 第二部分實現 銷售統(tǒng)計 程序運行時由用戶選擇進入哪一部分功能 并能在運行時在兩部分之間切換 第二部分運行時 首先顯示所有商品名稱及代碼 商品數目較多時 應考慮分屏顯示 用 戶輸入商品代碼及商品重量或件數 用戶一次操作可輸入若干商品的購買信息 然后輸入 一個特殊的代碼 如 1 表示本次購物結束 此時 程序計算出應付錢款數并顯示 實現提示 本程序的商品信息管理可采用與課程設計題目二類似的數據結構 既定義一個商品類 每種商品作為商品類的實例 對象 存儲在鏈表節(jié)點中 二 問題分析二 問題分析 按照要求這個程序的編寫要求 由于包含多種實現要求 所以在編寫時需要多個實現 函數 這樣就要定義一個類或機構體來統(tǒng)籌各個函數以及用鏈表或指針數組來儲存輸入的 常量數據 并且在各個轉換點設置相應的提示語句使整個程序便于操作 在修改數據的函 數實現時 由于一個商品包含多個變量 要想在修改某一個數據后而不影響其他的數據 所以就必須要有一個 switch 語句 在商品信息顯示函數的實現時 由于中間要有一個購買 函數的實現 所以商品數量會隨著商品的購買而減少 所以要將購買的數量另外定義一個 變量 關于 switch 語句的運用在這個程序這可能要多次使用 主要在一個函數擁有多個變 量或變量函數 三 算法的設計三 算法的設計 這個程序我是采用類以及函數的調用來寫的 先寫一個 tong 類 在 tong 類中聲明所 需要的函數 class tong tong tong char co 20 char n 20 char dw 20 double pr int qu tong void Set 商品信息錄入 void Alter 商品信息修改 void delete 商品信息刪除 void list 商品信息顯示 void Display float Checkout int quantity 單個商品小結 void Total 總計 void buy 商品買入 在寫了兩個操作函數 在主函數中分別調用所需要的函數 在存儲數據方面 我 聲明了一個指針數組 S i 將輸入的商品信息數據按照一一對應方式存儲的 在tong類中一共包括十一個函數 分別為構造函數 析構函數以及各種功能函數 1 在Set函數中通過輸出語句的提示輸入各種數據 并將輸入的數據儲存到定義的指 針數組中 等一種商品數據信息輸入完畢后 會彈出一個提示語句詢問是否繼續(xù)輸入 商品信息 可根據個人意愿輸入Y 或y表示繼續(xù)輸入 N 或n表示中斷輸入 若輸 入Y 或y 則調用本函數 進行數據輸入 若輸入N 或n 彈出一個提示語句詢問是 否進行其他操作 在根據個人意愿輸入正確的字符來進行相應的操作 2 Delete函數是進行對原始數據 即商品信息 進行刪除 先根據輸出語句的提示輸 入您要刪除的商品名稱 商品名稱輸入后通過if語句判斷是否存在這種商品 若不存在 則會出現這種商品不存在的提示語句 并同時出現一個提示是否進行其他操作提示語 句 若存在則會進行對該商品刪除的操作并提示刪除成功 3 Alter函數是對輸入的商品信息進行修改的 函數運行時 會首先出現一個提示語 句 提示管理者輸入所要修改的商品名稱 再通過一個for語句將該商品的所有信息調 出 同時出現另一個提示語句 供管理者選擇所要修改商品項 再通過switch語句供 管理者輸入所要修改的具體的商品信息 并將管理者修改的信息存入相應的商品信息 庫中 即該商品在原始輸入數據時分配的儲存空間中 一個商品信息修改完成后同樣 會出現一個詢問是否繼續(xù)修改的語句 4 List函數是將輸入的所有商品信息顯示在屏幕上 根據提示語句將所有的輸入或是 修改的商品信息顯示在操作屏幕上 5 buy函數是消費者對屏幕上顯示的商品進行購買的函數 該函數在運行時 會首先 出現一個提示語句 提示消費者輸入需要購買的商品名稱和購買數量 輸入完畢后會 調用Checkout Display Total 進行相應的操作 6 Checkout函數是一個小記函數 主要將消費者購買的每一種商品進行一個初步計費 并顯示在屏幕上 這個函數主要是為total函數服務的 7 Total函數則是總計函數 是將消費者購買的所有商品進行計費 并將消費者需要 支付的費計算出來顯示在屏幕上 8 Display函數是將Checkout函數中各種商品費用進行累加 在將累加的結果返回給 Total函數 9 在主函數的運行過程中會出現一個提示語句將整個程序分成兩個部分 分別為商品 信息管理和商品銷售管理 在商品信息管理部分 主要運行Set Alter三個函數 這三 個函數是通過switchy語句封裝在caozuoa這個子函數中的 而在商品銷售統(tǒng)計部分 則運行l(wèi)ist buy兩個函數 這兩個函數是通過switch語句封裝在caozuob這個子函數中 的 四 四 UML圖圖 五 測試結果及其分析五 測試結果及其分析 測試用的輸入輸出數據以及運行結果的截屏圖如下 請選擇您的操作 商品信息管理系統(tǒng) M 商品銷售系統(tǒng) S m 商品信息錄入 請輸入 0 刪除信息 請輸入 1 修改信息 請輸入 2 0 請輸入商品代碼及名稱 q qw 請輸入計量單位 jin 請輸入商品單價 1 2 請輸入商品數量 100 tong code 20 char namer 20 char danwei 20 char price double quantity double set void alter void delete void list void display void total void buy void tong void tong code 20 char name 20 char danwei 20 char price int quantity int tong void checkout quantity int float 信息錄入成功 是否繼續(xù)錄入 y or n 請輸入商品代碼及名稱 a as 請輸入計量單位 jin 請輸入商品單價 12 請輸入商品數量 120 信息錄入成功 是否繼續(xù)錄入 y or n 您想繼續(xù)進行其他操作嗎 y n y 請選擇您的操作 商品信息管理系統(tǒng) M 商品銷售系統(tǒng) S m 菜單選項 商品信息錄入 請輸入 0 修改信息 請輸入 1 刪除信息 請輸入 2 1 請輸入您所修改的商品名稱 as 你想要修改 代碼及名稱 請按 1 計量單位 請按 2 單價 請按 3 數量 請按 4 3 請輸入單價 2 2 將輸入的原始數據 單價為 12 修改為 2 2 數據修改成功 是否繼續(xù)修改 y n 您想繼續(xù)進行其他操作嗎 y n y 請選擇您的操作 商品信息管理系統(tǒng) M 商品銷售系統(tǒng) S s 菜單選項 顯示商品信息 請輸入 0 商品買入 請輸入 1 0 所有商品信息清單 貨品代碼 貨品名稱 貨品價格 貨品數量 計量單位 q qw 1 2 100 jin a as 2 2 120 jin 您想繼續(xù)進行其他操作嗎 y n y 請選擇您的操作 商品信息管理系統(tǒng) M 商品銷售系統(tǒng) S s 菜單選項 顯示商品信息 請輸入 0 商品買入 請輸入 1 1 請輸入你想購買的商品的代碼及名稱 q qw 請輸入您想購買的商品的數量 12 貨品代碼 貨品名稱 貨品價格 購買數量 計量單位 小計 元 q qw 1 2 12 jin 14 4 要結束商品買入請按 N n 其繼續(xù)買入請按 Y y n 你應該付 14 4 元 你實際付 元 20 應該找回你 5 6 元 您想繼續(xù)進行其他操作嗎 y n n 其截屏圖如下 其截屏圖如下 調試分析 調試分析 在起始階段 出現提示語句 詢問進入哪部分操作 輸入字符 m 進入商品信息管理 部分 再根據提示 輸入字符 0 進入商品信息輸入部分 按照提示輸入的數據被儲存在 指針數組中 一個完整的商品信息錄入后 就會出現一個詢問是否繼續(xù)輸入的語句 按此 方法輸入幾種商品信息后 終止商品信息的輸入 在按照提示語句進入商品信息修改部分 在此部分修改部分商品信息后 退出 再在提示語句的提示下輸入字符 s 進入商品銷售管 理部分 在此部分 輸入字符 0 進入商品信息顯示部分 將顯示在第一部分輸入以及修改 后的所有商品信息 以供消費者選擇 退出后再進入商品買入部分 根據提示輸入正確的 字符或字符串 購買您所需的商品 結束購買后會出現商品消費總計 輸出消費者所需付 的費用并根據實際付的費用計算出找零 在測試與調試過程中 我是按照屏幕提示進行操 作 輸入符合程序編排的數據 一步一步進行調試的 六 總結六 總結 經過了這次商品銷售統(tǒng)計的課程設計我從中學到了很多 同時明白了做一個小型軟件的 步驟和流程 如何讓自己設計的軟件運用到具體的實際工作中 這是一個關鍵的環(huán)節(jié) 還有就 是程序設計和運行測試中遇到的問題該如何解決 從解決問題中我也學到了許多平時課本上 所沒有的知識 當然 能夠完成這個商品銷售統(tǒng)計我自己也感覺很有成就感 運用到的開發(fā)工具和軟件技術 此系統(tǒng)結合商品銷售統(tǒng)計的要求 對 C C 語言的學習和應用 主要完成商品銷售 統(tǒng)計的分析 設計和實現 系統(tǒng)的設計 主控程序設計 并由此設計了類結構和應用程序 系統(tǒng)運行結果證明 設計的商品銷售統(tǒng)計可以滿足商品管理者完成管理的日常工作 包括 商品銷售以及商品信息的管理等 軟件還需要哪些改進 在編寫源程序代碼的過程中對語言的運用還需要提高 應使寫出來的程序更加簡潔 易讀 懂 更加滿足實際工作的需要 要想使做出來的程序更好的利用還需根據實際需要在今后的運 用中不斷的改進和完善 七 代碼附錄七 代碼附錄 include include include define null 0 include include include 控制字符串的頭文件 using namespace std class tong public tong tong char co 20 char n 20 char dw 20 double pr int qu tong void Set 商品信息錄入 void Alter 商品信息修改 void delete1 商品信息刪除 void list 商品信息顯示 void Display float Checkout int quantity 單個商品小結 void Total 總計 void buy 商品買入 private char code 20 char name 20 char danwei 20 double price int quantity tong tong tong tong char co 20 char n 20 char dw 20 double pr int qu strcpy code co strcpy name n strcpy danwei dw price pr quantity qu tong tong tong s 50 int i 0 int j 0 char code 20 char name 20 char danwei 20 double price int quantity void tong Set 商品信息錄入 cout 請輸入商品代碼及名稱 code name cout 請輸入計量單位 danwei cout 請輸入商品單價 price cout 請輸入商品數量 quantity j s i new tong code name danwei price quantity i cout 信息錄入成功 endl cout 是否繼續(xù)錄入 y or n endl if getch y Set else return void tong Alter 商品信息修改 cout 請輸入您所修改的商品名稱 name for int h 0 hname 0 char newcode newname newdanwei double newprice int newquantity int n cout 你想要修改 代碼及名稱 請按 1 計量單位 請按 2 單價 請按 3 數量 請 按 4 n switch n case 1 cout 請輸入商品代碼及名稱 newcode newname s h code 20 newcode s h name 20 newname cout 數據修改成功 break case 2 cout 請輸入計量單位 newdanwei s h danwei 20 newdanwei cout 數據修改成功 break case 3 cout 請輸入單價 newprice s h price newprice cout 數據修改成功 break case 4 cout 請輸入數量 newquantity s h quantity newquantity cout 數據修改成功 break else cout 你所要修改的商品的信息不存在 請修正后再更改 endl cout 是否繼續(xù)修改 y n endl if getch y Alter else return void tong delete1 商品信息刪除 cout 請輸入您所刪除的商品名稱 name for int h 0 hname 0 char newcode newname newdanwei double newprice int newquantity int n cout 你想要刪除 代碼及名稱 請按 1 計量單位 請按 2 單價 請按 3 數量 請 按 4 n switch n case 1 cout 請輸入商品代碼及名稱 newcode newname s h code 20 newcode s h name 20 newname cout 數據刪除成功 break case 2 cout 請輸入計量單位 newdanwei s h danwei 20 newdanwei cout 數據刪除成功 break case 3 cout 請輸入單價 newprice s h price newprice cout 數據刪除成功 break case 4 cout 請輸入數量 newquantity s h quantity newquantity cout 數據刪除成功 break else cout 你所要刪除的商品的信息不存在 請修正后再更改 endl cout 是否繼續(xù)刪除 y n endl if getch y delete1 else return void tong list 商品信息顯示 cout endl cout 所有商品信息 endl cout endl cout 貨品代碼 貨品名稱 貨品價格 貨品數量 計量單位 endl if i 0 cout 系統(tǒng)中沒有錄入商品信息或該商品信息已被刪除 endl for int k 0 k i k cout setw 15 left code setw 15 left name setw 15 left price setw 15 left quantity setw 15 left danwei endl void tong buy 商品買入 cout 請輸入你想購買的商品的代碼及名稱 code name cout 請輸入您想購買的商品的數量 quantity Checkout quantity Display Total void tong Display cout 貨品代碼 貨品名稱 貨品價格 購買數量 計量單位 小計 元 endl cout setw 15 code setw 15 quantity setw 15 name setw 15 price setw 15 quantity setw 15 danwei price quantity return sum void tong Total 總結帳 float sum 0 float real char GoOn while 1 cout 要結束商品買入請按 N n 其繼續(xù)買入請按 Y y GoOn if GoOn Y GoOn y int quantity cout 請輸入商品代碼 code name cout 請輸入商品數量 quantity sum Checkout quantity cout 你購買的商品為 endl Display else if GoOn N GoOn n break cout endl sum Checkout quantity cout 你應該付 sum 元 endl cout real cout 應該找回你 real sum 元 endl 找零 void caozuo1 int p tong t switch p case 0 t Set break case 1 t Alter break case 2 t delete1 break case 8 exit 0 break
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 豬肉收儲知識培訓課件
- 人教版(2024)七年級英語下冊Unit 7 學情調研測試卷(含答案)
- 鋼結構切割施工方案
- 2025年中考物理二輪復習:電磁學實驗題 能力提升練習題(含答案)
- 合同范本融資租賃合同
- 課題2 原子結構(第2課時)(教學設計)九年級化學上冊同步高效課堂(人教版2024)
- 如何評估品牌傳播的效果與影響計劃
- 提升產品質量的改進措施計劃
- 學期目標與教學任務分解計劃
- 實施素質教育的年度工作要點計劃
- 中職高教版(2023)語文職業(yè)模塊-第一單元1.2寧夏閩寧鎮(zhèn):昔日干沙灘今日金沙灘【課件】
- 2025年春季1530安全教育記錄主題
- 2024年國家公務員考試行測真題附解析答案
- 基本藥物制度政策培訓課件
- 《無人機測繪技術》項目1任務3無人機測繪基礎知識
- 2024年新疆(兵團)公務員考試《行測》真題及答案解析
- (市級)數學活動:人教七下第5章《探究平行線的多種畫法》教學設計(張佳琦-三門峽靈寶二中)
- 《當代廣播電視概論》試題C卷及答案
- 【案例】知名電商平臺人才盤點報告模板
- 建筑施工圖紙審查要點
- 探討延續(xù)性護理干預對老年高血壓患者生活質量的影響
評論
0/150
提交評論