




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、C+程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告 超市管理系統(tǒng) 班級: 目 錄一.設(shè)計(jì)題目與要求二.需求分析三.概要設(shè)計(jì)四.詳細(xì)設(shè)計(jì)五.測試六結(jié)論及改進(jìn)設(shè)想一、課程設(shè)計(jì)題目與要求 1.設(shè)計(jì)題目 超市管理系統(tǒng) 2.系統(tǒng)功能要求 (1)銷售功能。購買商品時(shí),先輸入類別,然后輸入商品名稱,并在庫存中查找該商品的相關(guān)信息。如果有庫存量,輸入購買的數(shù)量,進(jìn)行相應(yīng)計(jì)算。如果庫存量不夠,給出提示信息,結(jié)束購買。(2)商品簡單管理功能。添加功能:主要完成商品信息的添加。查詢功能:可按商品類別、商品名稱、生產(chǎn)廠家進(jìn)行查詢。若存在相應(yīng)信息,輸出所查詢的信息,若不存在該記錄,則提示“該記錄不存在!”。修改功能:可根據(jù)查詢結(jié)果對相應(yīng)的記錄進(jìn)
2、行修改。刪除功能:主要完成商品信息的刪除。先輸入商品類別,再輸入要?jiǎng)h除的商品名稱,根據(jù)查詢結(jié)果刪除該物品的記錄,如果該商品不在物品庫中,則提示“該商品不存在”。(3)統(tǒng)計(jì)功能。輸出當(dāng)前庫存中所有商品的總數(shù)及詳細(xì)信息;可按商品的價(jià)格、庫存量、生產(chǎn)廠家進(jìn)行統(tǒng)計(jì),輸出統(tǒng)計(jì)信息時(shí),要按從大到小進(jìn)行排序。(4)保存功能:將當(dāng)前程序中的商品信息存入文件中。(5)讀取功能:從文件中將商品信息讀入程序。 二.需求分析中小型超市采購的商品一般都成千上萬件。對這些商品進(jìn)行有效的管理必不可少。每件商品一般都需要記錄商品名、條形碼、類別、價(jià)格、出廠日期等商品的基本信息。除此之外,還需要記錄商品的其他相關(guān)信息,如生產(chǎn)廠
3、家、供貨處代碼、廠家網(wǎng)址、廠家電話等。超市商品的相關(guān)信息需要存儲(chǔ)到文件系統(tǒng)中,一般都需要提供對商品信息的添加、編輯、刪除等操作。超市管理員每天都會(huì)記錄購進(jìn)的商品信息,核銷過期的商品等。為了鞏固我們所學(xué)的C+語言程序設(shè)計(jì)知識(shí),也為了滿足課程設(shè)計(jì)的要求,我們在對幾個(gè)中小型超市進(jìn)行調(diào)研的基礎(chǔ)上,設(shè)計(jì)和實(shí)現(xiàn)一個(gè)小型的超市商品管理系統(tǒng),提供商品系統(tǒng)的添加、刪除、編輯等功能。同類系統(tǒng)多數(shù)使用結(jié)構(gòu)體數(shù)組來操作數(shù)據(jù),本系統(tǒng)使用鏈表結(jié)構(gòu)操作數(shù)據(jù),提高了數(shù)據(jù)處理的效率。三概要設(shè)計(jì) 1增加商品 2顯示商品 3排序統(tǒng)計(jì)商品 4查找商品 5刪除商品 6修改商品 7安全退出四詳細(xì)設(shè)計(jì)1.設(shè)計(jì)class Supermark
4、et商品類,實(shí)現(xiàn)對商品信息的描敘;設(shè)計(jì) class Supermarketmassage類,實(shí)現(xiàn)對商品信息的增加,刪除,修改,查詢,統(tǒng)計(jì)等。以下是函數(shù)功能表: 函數(shù)功能void Display()輸出商品的信息Supermarket()構(gòu)造函數(shù)Supermarket()析構(gòu)函數(shù)void AddItem()增加商品void RemoveItem() 刪除商品void ModifyItem()修改商品void Find() 查詢商品int ListCount()統(tǒng)計(jì)商品void Save()基礎(chǔ)數(shù)據(jù)存盤void Sort()排序商品Supermarketmassage()構(gòu)造函數(shù)(1) 用類的成員
5、函數(shù)對鏈表的數(shù)據(jù)進(jìn)行操作,其功能如上表所列。2.設(shè)計(jì)類及對象本程序定義了兩個(gè)類,定義如下:1) class Supermarketclass Supermarketpublic: char name20; char Num20; int Cnum; /進(jìn)貨總數(shù) int Mnum; /銷售數(shù)目 int Enum; /剩余庫存數(shù)目 double Price; /單價(jià) char Add20; /產(chǎn)地 double Sum; /銷售額 Supermarket * Next; void Input() coutname; coutNum; coutCnum; coutMnum; coutEnum; co
6、utAdd; coutPrice; Sum=Mnum*Price; void ReadFile(istream & in) /文件指針 innameNumCnumMnumEnumAddPriceSum; void Show() cout商品名:nameendl 商品編號:Numendl 進(jìn)貨總數(shù):Cnumendl 銷售數(shù)目:Mnumendl 剩余庫存:Enumendl 產(chǎn)地:Addendl 單價(jià):Priceendl 銷售額:Sumendl Next;p!=End;p=p-Next) p-Show(); coutInput();End-Next=new Supermarket;End=End-N
7、ext; cout添加成功!endl; coutNext!=End;p=p-Next)/匹配成功則返回上一個(gè)指針,不成功就返回空 if(!strcmp(p-Next-name,name)return p; return NULL; Supermarket *FindNum(char * Num) for(Supermarket * p=Head;p-Next!=End;p=p-Next)/匹配成功則返回上一個(gè)指針,不成功就返回空 if(!strcmp(p-Next-Num,Num)return p; return NULL; Supermarket *FindAdd(char * Add) f
8、or(Supermarket * p=Head;p-Next!=End;p=p-Next)/匹配成功則返回上一個(gè)指針,不成就返回空 if(!strcmp(p-Next-Add,Add)return p; return NULL; ;3.程序源代碼# include # include # include #include /用getch();using namespace std;/Supermarket類class Supermarketpublic: char name20; char Num20; int Cnum; /進(jìn)貨總數(shù) int Mnum; /銷售數(shù)目 int Enum; /剩余
9、庫存數(shù)目 double Price; /單價(jià) char Add20; /產(chǎn)地 double Sum; /銷售額 Supermarket * Next; void Input() coutname; coutNum; coutCnum; coutMnum; coutEnum; coutAdd; coutPrice; Sum=Mnum*Price; void ReadFile(istream & in) /文件指針 innameNumCnumMnumEnumAddPriceSum; void Show() cout商品名:nameendl 商品編號:Numendl 進(jìn)貨總數(shù):Cnumendl 銷售
10、數(shù)目:Mnumendl 剩余庫存:Enumendl 產(chǎn)地:Addendl 單價(jià):Priceendl 銷售額:Sumendl Next;p!=End;p=p-Next) p-Show(); coutInput();End-Next=new Supermarket;End=End-Next; cout添加成功!endl; coutNext!=End;p=p-Next)/匹配成功則返回上一個(gè)指針,不成功就返回空 if(!strcmp(p-Next-name,name)return p; return NULL; Supermarket *FindNum(char * Num) for(Superma
11、rket * p=Head;p-Next!=End;p=p-Next)/匹配成功則返回上一個(gè)指針,不成功就返回空 if(!strcmp(p-Next-Num,Num)return p; return NULL; Supermarket *FindAdd(char * Add) for(Supermarket * p=Head;p-Next!=End;p=p-Next)/匹配成功則返回上一個(gè)指針,不成就返回空 if(!strcmp(p-Next-Add,Add)return p; return NULL; ;/構(gòu)造函數(shù)Supermarketmassage:Supermarketmassage()
12、Head=new Supermarket;Head-Next=new Supermarket;End=Head-Next;in.open(sort.txt); if(!in) cout這是一個(gè)新系統(tǒng),無商品信息。請先輸入。ReadFile(in); if(End-name0=0)break; End-Next=new Supermarket; End=End-Next; in.close(); couttt讀取商品信息成功!Next!=End;) temp=Head-Next; Head-Next=Head-Next-Next; delete temp; delete Head,End;/菜單
13、void Supermarketmassage:ShowMenu() cout 超 市 商 品 管 理 系 統(tǒng) endl; cout endl; cout 1.增加商品信息 endl; cout 2.顯示商品信息 endl; cout 3.排序統(tǒng)計(jì)商品 endl; cout 4.查找商品信息 endl; cout 5.刪除商品信息 endl; cout 6.修改商品信息 endl; cout 0.安全退出系統(tǒng) endl; coutnttntt請選擇:;/查找函數(shù)void Supermarketmassage:Find() char name20 ,Num10;int x; Supermarke
14、t * p=NULL; coutntt*n; couttt 1.按商品的名稱查找ntt 2.按商品編號查找; coutx; switch(x) case 1:coutname; if(p=FindItem(name) p-Next-Show(); cout輸入任意字符!繼續(xù); getch(); else couttt沒有找到該商品信息!nendl; cout輸入任意字符!繼續(xù); getch(); break; case 2: coutNum; if(p=FindNum(Num) p-Next-Show(); cout輸入任意字符!繼續(xù); getch(); else couttt沒有找到該編號的
15、商品!nendl; cout輸入任意字符!繼續(xù); getch(); break; /修改信息void Supermarketmassage:ModifyItem() /修改信息 char name20; Supermarket* p=NULL; coutname; if(p=FindItem(name) couttt已找到商品的信息,請輸入新的信息!Next-Input(); cout修改成功!endl; cout輸入任意字符!繼續(xù); getch(); else couttt沒有找到!endl; cout輸入任意字符!繼續(xù); getch(); /刪除信息void Supermarketmass
16、age:RemoveItem() / 刪除信息 char name20; Supermarket * p=NULL,*temp=NULL; couttt請輸入要?jiǎng)h除的商品名:name; if(p=FindItem(name) temp=p-Next; p-Next=p-Next-Next; delete temp; couttt刪除成功!endl; cout輸入任意字符!繼續(xù); getch(); else couttt沒有找到!endl; coutname,p1-name); /字符串name里面strcpy(temp-Num,p1-Num); strcpy(temp-Add,p1-Add);
17、 temp-Cnum=p1-Cnum; temp-Mnum=p1-Mnum;temp-Enum=p1-Enum; temp-Price=p1-Price;temp-Sum=p1-Sum;strcpy(p1-name,p2-name); strcpy(p1-Num,p2-Num);strcpy(p1-Add,p2-Add); p1-Cnum=p2-Cnum; p1-Mnum=p2-Mnum; p1-Enum=p2-Enum; p1-Price=p2-Price;p1-Sum=p2-Sum;strcpy(p2-name,temp-name); strcpy(p2-Num,temp-Num);str
18、cpy(p2-Add,temp-Add); p2-Cnum=temp-Cnum; p2-Mnum=temp-Mnum; p2-Enum=temp-Enum; p2-Price=temp-Price;p2-Sum=temp-Sum;/統(tǒng)計(jì)int Supermarketmassage:ListCount()/統(tǒng)計(jì)當(dāng)前鏈表的記錄總數(shù),返回一個(gè)整數(shù) if(! Head) return 0;int n=0; for(Supermarket * p=Head-Next;p!=End;p=p-Next) n+; return n;/排序void Supermarketmassage:Sort()/對當(dāng)前鏈表
19、進(jìn)行排序 cout Sorting.endl; Supermarket *p=NULL,*p1=NULL,*k=NULL; int n=Supermarketmassage:ListCount(); if(nNext;p!=End;p=p-Next) for(k=p-Next;k!=End;k=k-Next) if(p-Addk-Add) Supermarketmassage:Swap(p,k); cout 排序完成!Next;p!=End;p=p-Next) out商品名稱:namett商品編號:Numtt進(jìn)貨總數(shù):Cnumtt 銷售數(shù)目:Mnumtt剩余庫存:Enumtt商品產(chǎn)地:Addtt商品單價(jià):Pricett銷售額:Sumn; out.close();/主函數(shù)int main() int x,i=0; bool quit=false; coutttendl; for(i=0;i3;i+) couttttttttt endl; couttt【 歡迎進(jìn)入超市商品管理系統(tǒng) 】endl; for(i=0;i3;i+) coutt
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 微商代理供貨合同協(xié)議
- 戀愛贈(zèng)予協(xié)議書電子版
- 快遞驛站合伙人合同協(xié)議
- 2025標(biāo)準(zhǔn)版私人承包合同范本
- 2025房屋租賃合同書下載
- 2025招聘員工勞務(wù)合同
- 2025合同到期續(xù)簽應(yīng)注意什么 關(guān)于續(xù)簽合同的條款
- 2025電子產(chǎn)品類標(biāo)準(zhǔn)長期供貨合同模板
- 去里打印離婚協(xié)議書
- 人教版高中物理靜電現(xiàn)象探究與實(shí)踐教案
- JJF(通信) 068-2023 雷達(dá)回波模擬器校準(zhǔn)規(guī)范(報(bào)批稿)
- 虎牙公會(huì)合同范本
- 花籃拉桿式懸挑式腳手架施工施工工藝技術(shù)
- 完整版交管12123駕照學(xué)法減分復(fù)習(xí)題庫及答案1套
- 胸腔積液考試試題
- 食堂生物防治制度
- 醫(yī)科大學(xué)醫(yī)院安保服務(wù)采購項(xiàng)目保安服務(wù)實(shí)施方案
- 中國痔病診療指南(2020版)
- T/CEC 143-2017 超高性能混凝土電桿完整
- 2024年連云港專業(yè)技術(shù)人員繼續(xù)教育《飲食、運(yùn)動(dòng)和健康的關(guān)系》92分(試卷)
- JJG 692-2010無創(chuàng)自動(dòng)測量血壓計(jì)
評論
0/150
提交評論