實踐教學
蘭州理工大學
計算機與通訊學院
2023年秋季學期
物件導向課程設計
題目:超市管理系統的設計與實現
專業班級:電腦科學與技術1班
姓名學號
指導教師
成績摘要針對使用者對超市管理系統要求,本應用軟體運用c++語言編寫,通過對系統程式的編寫,實現了基本的超市商品管理功能,本應用軟體中的時鐘時間以所在電腦的系統時間為準,使用者可在修改商品的介面中修改超市商品資訊來對超市進行管理。
超市管理系統主介面通過操作阿拉伯數字實現超市商品的增加、修改、查詢、統計、顯示所有商品資訊等。本系統的實現主要運用了兩個類,商品類和超市類。商品類中有商品必要資訊,商品**,商品名稱,商品產地,商品**,商品庫存量等。
超市類中通過各類函式的實現對商品進行管理。可以增加商品,查詢商品,刪除商品,顯示商品資訊,統計商品庫存量及價值等。
關鍵字:商品類超市管理函式指標
目錄一、需求分析 3
二、總體設計 4
三、詳細設計 6
四、編碼 16
五、測試 17
六、設計總結 21
參考文獻 23
一、需求分析
本系統為超市管理系統的設計與實現,可供超市管理者對超市商品資訊的查詢和修改,適用於各種小型超市,有效地提高了工作效率。若查詢不符合實際情況,則會提示錯誤。enter鍵確認。
本系統實現以下功能:
(1)進入系統後提示適用方法,鍵入相應數字依次將商品**(由阿拉伯數字組成)、商品名稱、商品產地、商品單價以及庫存量等商品資訊存入並儲存。
(2)鍵入商品名稱,可將要求刪除商品調出,並予以刪除。
(3)鍵入相應數字選項,可修改超市商品的所有資訊。
(4)鍵入相應數字選項,可查詢需要查詢的商品的所有資訊。
(5)鍵入相應數字選項,可顯示超市所有商品的所有資訊。
(6)鍵入數字7退出系統。
二、總體設計
2.1主介面流程圖
設計超市管理系統的主介面, 主介面相應的現實有下列選單:增加商品、刪除商品、修改商品、查詢商品、統計商品、顯示商品、退出。
2.1主介面流程圖
2.2 超市管理模組設計
(1) 超市初始化模組
類名為goods和supermarket,分別定義了商品的名稱,**,產地,單價和庫存數量,以及需要在鍊錶裡面尋找的指標。
(2)增加商品的函式模組
在檔案中寫入產品的資訊,並且判斷商品的單價和庫存量是否超標(65535),並且加入鍊錶。
(3)刪除商品的函式模組
刪除結點已達到刪除產品的目的。
(4)修改商品的函式模組
載入商品的全部資料,並且放入記憶體,並且可以重新寫入修改。如果沒有找到商品,則返回。
(5)統計商品的函式模組
統計結點數以記錄商品的數量,載入所有商品的數量和單價計算商品的總價值。
(6)資料儲存的函式模組
將鍊錶的所有資料寫入檔案,然後關閉檔案。
(7)資料讀入的函式模組
開啟檔案,然後將檔案中的資料寫入記憶體以備用。
三、詳細設計
3.1 主介面流程圖
設計超市管理系統的主介面,主介面相應的現實有下列選單:增加商品、刪除商品、修改商品、查詢商品、統計商品、顯示商品、退出。
3.1主介面流程圖
3.2清除記憶體中的商品函式
在超市管理系統中,商品**出去,庫存中的商品資訊必須清除。
類外定義乙個函式clear,在函式中定義乙個指標p,講物品goods賦給p,為了使函式能夠不斷地清除記憶體中的資料,要使指標移動,首先將p->next賦予goods ,然後刪除p中的資料,清空p中的資料,然後將goods賦給p,依次迴圈,從而實現刪除庫存中的乙個或多個商品。
流程圖如圖
圖3.2清除記憶體商品流程圖
3.3增加商品資訊
類外定義乙個函式add,首先在函式中定義變數商品** num 和商品數量count,都為double型別 ,商品名name和產地address為char型別 ,**price 為int型別,首先要求使用者輸入商品資訊,依次輸入商品的**、商品名稱、商品產地、商品單價,判斷單價是否在0~65535之間,如果不在範圍內重新輸入直到在範圍之內再繼續向下面執行,輸入商品庫存量,庫存在0~99999之間,如果超出範圍重新輸入,在範圍之內繼續執行,儲存資料。
圖3.3 增加商品流程圖
3.4刪除商品資訊的過程
(1)在supermarket類下定義乙個delete函式作為刪除商品資訊的函式,然後定義商品名,輸入商品資訊。
(2)查詢要刪除的結點(節點中包含所有該商品的資訊:商品**、名稱、產地、數量、單價),分別定義兩個指標,原商品表資訊指標p1和輸入的商品資訊指標p2,在p1迴圈的過程中比較輸入的商品名與原有的商品名是否一致,如果一致則結束本次迴圈,否則p2指向p1,使得兩指標同化,p1指標接著指向下一指標,這樣依次向後查詢。
(3)刪除結點,如果找到要刪除的結點則刪除,在這個條件下,如果刪除的結點是第乙個結點,則繼續將指標後移刪除第一結點,如果刪除的結點是後續結點,則將p2下一指標指向p1下一指標,則刪除相應的後續結點。
輸出的結果是:找到並刪除或者sorry,未找到!
流程圖如圖3.5
圖3.5 刪除商品流程圖
3.5修改商品資訊的過程
(1)定義各引數變數的型別,然後是輸入要查詢等待修改的商品名稱
(2)查詢要修改的結點,定義p1、p2指標,p1為指向goods商品表指標,p2為輸入的商品指標,判斷p1指標,如果輸入的商品名和原有的商品名一致,則結束本次迴圈,否則,p1和p2指標同化,p1接著指向p1的下一指標。
(3)修改結點,若找到相應的要修改的結點,則p1指向output函式,接著輸出要修改的資訊,利用switch語句來呼叫相應的修改資訊。
(4)建立新商品的結點,把原來要修改的結點刪除並重新替換要建立的商品結點。如果找到等待修改的結點則修改,否則保持商品表資訊不變。
流程圖如圖3.6
圖3.6 修改商品流程圖
3.6查詢商品的過程:
(1)在supermarket類下定義乙個query函式作為查詢商品資訊的函式,輸入商品名。
(2)查詢要查詢的結點(結點中包含所有該商品的資訊:商品**、名稱、產地、數量、單價),定義乙個原商品表資訊指標p1,在p1迴圈的過程中比較
輸入的商品名與原有的商品名是否一致,如果一致則結束本次迴圈,否則 p1指標接著指向下一指標,這樣依次向後查詢。
(3)查詢結點,如果找到要查詢的結點則輸出:查詢成功並輸出其所有資訊,若沒有找到輸出:sorry未找到!
流程圖如圖3.7
圖3.7查詢商品流程圖
3.7統計商品的過程
(1)是在supermarket類下定義乙個add_up函式作為統計商品資訊的函式,然後定義兩個double型變數amount和value分別表示要求統計商品的總量和總價值,輸入商品名字name。
(2)查詢要統計的結點(結點中包含所有該商品的資訊:商品**、名稱、產地、數量、單價),定義乙個指標p1,原商品表資訊指標p1,在p1迴圈的過程中比較輸入的商品名與原有的商品名是否一致,如果一致則結束本次迴圈,p1指標接著指向下一指標,這樣依次向後查詢。沒找到則輸出:
sorry,未找到!
(3)統計商品,每當找到乙個商品後就將amount與p1所指count相加存入amount,並將此時p1所指的count與price相乘再加上value存入value,迴圈查詢相加,最後分別輸出。
流程圖如圖3.8
圖3.8 統計商品流程圖
3.8顯示商品過程
(1)是在supermarket類下定義乙個out函式作為顯示商品資訊的函式。
(2)將goods的首位址給p1,判斷p1是否為空,若空則輸出「沒有商品」。否則輸出該商品所有資訊(商品**、名稱、產地、數量、單價)等。
(3)將p1賦給p2,p1->next賦給p1,進入迴圈,輸出下乙個商品資訊。
流程圖如圖3.9
圖3.9 顯示商品流程圖
四、編碼
詳見附錄。
五、測試
開啟軟體後見到如圖所示的介面正式進入超市管理系統
圖5.1 系統主介面
該軟體有增加商品、刪除商品、修改商品、查詢商品、統計商品、顯示商品六大功能。
(1)增加商品
選擇1 進入商品錄入介面
圖5.2 新增商品資訊介面
依次錄入商品**、商品名稱、商品產地、商品單價、商品的庫存量並按y儲存,需要注意的是商品單價限制在0~65535,商品的庫存量限制在0~99999範圍內。
(2)刪除商品
圖5.3 刪除商品介面
首先輸入商品的名稱,然後選擇是y 或者n。
(3)修改商品
選擇3 進入修改商品介面
圖5.4 修改商品介面
輸入商品的名稱,系統會顯示商品**、名稱、產地、**、庫存量,然後分別選擇1 改商品**、2改商品名稱、3改商品產地、4改商品單價、5 改商品庫存量 、7改全部資訊。
(4)查詢商品
圖5.5 查詢商品介面
輸入商品名稱後,系統會顯示你所查詢的商品資訊,有商品的**、商品的名稱、商品的產地、商品的單價和庫存量等。
(5)統計商品
圖5.6 統計商品介面
選擇5後進入統計商品,輸入商品名稱後,會顯示出商品的數量和總價值。
選擇6後系統會顯示所有商品的資訊
圖5.7 顯示所有商品資訊介面
六、設計總結
在年福忠老師的耐心指導下,經過我和同學們交流討論,終於基本完成了超市管理系統的設計與實現。
在實訓期間,按時完成任務,進行整理融合。整理完畢後進行除錯發現有不少有待改善之處,如商品**和商品庫存量不能為負數,也不能高的離譜等。在李傑老師的嚴格要求下,最後還增加了乙個顯示欄,通過該顯示函式的實現可對超市所有商品一目了然。
本著認真學習,對自己負責的態度,和同學們共同努力,對該系統程式的不足之處盡力修改,盡量達到程式的健壯性等。
超市管理系統課程設計報告
軟體學院09級四班 課程設計名稱 超市商品管理系統 組員 張浩,張超越,代世豪,陶磊 組長 張浩 商品資訊 商品名稱 進貨 銷售 貨號,商品庫存 檔案儲存資訊 用於儲存商品資訊的檔案 用於儲存賬戶密碼的檔案 用於儲存銷售紀錄的檔案 2 資訊統計 商品銷售時統計顧客購買的商品數量和總金額 統計銷售記錄...
超市管理系統課程設計
計算機學院資訊管理與資訊系統專業 管理資訊系統課程設計 報告 2010 2011學年第一學期 學生姓名 學生班級 學生學號 指導教師 2011年1月15日 第一章課程設計的目的和要求1 1.1課程設計的目的1 1.2課程設計的要求1 第二章課程設計任務內容2 2.1背景2 2.2 功能需求2 2.3...
超市會員管理系統課程設計報告
蘭州商學院隴橋學院 資訊工程系課程設計報告 課程名稱 c 課程設計 設計題目 超市會員管理系統 系別 資訊工程系 專業 方向 電腦科學與技術 網路工程方向 年級 班 2012級本科班 學生姓名 學生學號 xx 本組組員 x 指導教師 楊光 2014年 12月26日 超市會員管理系統 一 系統開發的背...