




已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
精品文檔目錄一、 設計目的2二、設計內(nèi)容2三、設計要求2四、設計過程31、面向?qū)ο蠓治?2、數(shù)據(jù)結(jié)構(gòu)分析73、 系統(tǒng)執(zhí)行流程8五、 程序運行結(jié)果11六、 設計總結(jié)17參考文獻17附錄18圖書銷售管理系統(tǒng)一、 設計目的本圖書銷售管理系統(tǒng),主要用于小型的書店,進行簡單的圖書的管理,為了能夠更好的管理書店的銷售的情況和庫存的情況書店銷售管理系統(tǒng)主要的功能有:(1)圖書入庫管理:維護入庫圖書信息,圖書編號、書名、價格等,自動計算庫存。(2)圖書查詢統(tǒng)計:可以根據(jù)圖書分類、出版社、書名、作者等條件查詢圖書的詳細信息。(3)銷售管理:銷售過的圖書都記錄在銷售列表中,方便統(tǒng)計收入。圖書銷售后,要記錄圖書庫存,按每天統(tǒng)計銷售額、每個月或季度生成報表,并生成暢銷書單。二、設計內(nèi)容(1) 圖書信息包括書名、書號、作者、出版社、單價、庫存數(shù)量、進價、售價、利潤;(2)用戶登錄界面設計(3)信息維護:包括子模塊有增加圖書信息、刪除圖書信息、修改圖書信息(4 ) 查詢功能:可按書名查詢、作者查詢、或出版社查詢(5) 排序功能:能實現(xiàn)按圖書銷售利潤進行排序的功三、設計要求(1) 只能使用C+語言,源程序要有適當?shù)淖⑨專钩绦蛉菀组喿x(2) 至少采用文本菜單界面(如果能采用圖形菜單界面更好)(3) 學生可自動增加新功能模塊(視情況可另外加分)(4) 寫出課程設計報告,具體要求見相關(guān)說明文檔四、設計過程1、面向?qū)ο蠓治?(1)對象模型設計(2)各個類設計系統(tǒng)中說明了4個類,每個類的詳細設計如下:1Book類class book /book基類protected:string name;/名稱float price; /價格int num; /編號int kucun,xcl,salel; /庫存,現(xiàn)存量,銷售量public:int getnum()return num; /編號接口函數(shù)string getname()/名稱接口函數(shù)return name;float getprice()return price; /價格接口函數(shù)int getkucun()return kucun; /庫存量接口函數(shù)int getxcl()return xcl; /現(xiàn)存量接口函數(shù)int getsalel()return salel; /銷售量接口函數(shù)virtual void input()=0; /輸入虛函數(shù)virtual void output()=0; /輸出虛函數(shù)說明:Book類是一個基類,用于定義圖書基本的信息。例如:其中string getname()是一個接口函數(shù),能獲得圖書的姓名。2Yule(娛樂類)class yule:public book/娛樂的派生類public:void input()/輸入cinname;cinnum; cinprice;cinkucun;cinsalel;cinxcl;void output()/輸出coutYule:endl;coutname num price kucun salel xclendl;void compute()/計算售出剩余函數(shù)int counts;cout輸入售出的圖書的本數(shù)counts;cout售后剩余:name;cinnum; cinprice;cinkucun;cinsalel;cinxcl;void output()coutLearn:endl;coutname num price kucun salel xclendl;void compute1()int counts;cout輸入售出的圖書的本數(shù)counts;cout售后剩余:endl; kucun=kucun-counts;salel=salel+counts; xcl=xcl-counts;study類用于定義學習類圖書的信息,它是Book類的公有派生類。其中:Compute1()是一個計算售出圖書數(shù)量和剩余的函數(shù),input()和 output()函數(shù)是對圖書信息的輸入和輸出而且他們是在基類中定義的純虛函數(shù)。operate(功能類)typedef vector STRVEC;/定義stl模版的容器typedef vector STRVEC1;class operate /定義功能類 STRVEC strvec;STRVEC1 strvec1;public:void search_yulenum(int m)/娛樂類圖書按編號查找void search_yulename(string s)/查找娛樂類圖書按名稱 void del_yulenum(int n)/刪除娛樂類圖書按編號void del_yulename(string p)/按圖書名稱刪除void add_study()/添加學習類圖書的基本信息void add_yule()/添加娛樂類圖書的基本信息void search_studynum(int m)/查找學習類圖書的編號void search_studyname(string s)/查找學習類圖書的名稱void xiugai_yule(int m)/修改娛樂類圖書的剩余量void xiugai_study(int m)/修改學習類圖書的剩余量void del_studynum(int n)/刪除售完圖書void del_studyname(string p) /按名稱刪除圖書void show_yule()/顯示娛樂類圖書void show_study()/顯示學習類圖書void saleamounts()/計算銷售額void changxiao1()/娛樂類圖書暢銷void changxiao()/學習類圖書暢銷void save()/娛樂類入庫單void save1()/學習類入庫單void load()/讀取娛樂類文件void load1()/讀取學習類文件void Menu()/應用菜單說明:operate類用來實現(xiàn)圖書管理系統(tǒng)的功能,它是用來查找、添加、刪除圖書的信息的基本點的信息,對系統(tǒng)進行維護,生成入庫單、暢銷書和一天的銷售額。2、數(shù)據(jù)結(jié)構(gòu)分析書店銷售管理系統(tǒng)的數(shù)據(jù)結(jié)構(gòu):英文名稱中文名稱Book 圖書類Yule 娛樂類圖書Study 學習類圖書Strvec 娛樂類的STL模版Strvec1 學習類的STL模版Operate 運算類search_yulenum 娛樂類編號查找search_yulename 娛樂類書名查找del_yulenum 娛樂類編號刪除del_yulename 娛樂類書名刪除add_study 添加學習類圖書add_yule 添加娛樂類圖書search_studynum 學習類編號查詢search_studyname 學習類書名查詢del_studynum 學習類編號刪除del_studyname 學習類書名刪除show_yule 顯示娛樂類信息show_study 顯示學習類信息save 保存娛樂類文件load 顯示娛樂類文件Menu 菜單main 主函數(shù)Save1 保存學習類文件 Load1 顯示娛樂類文件saleamounts 銷售量的計算xiugai_yule 娛樂類圖書的修改xiugai_study 學習類圖書的修改changxiao 娛樂類暢銷圖書Changxiao1 學習類暢銷圖書3、 系統(tǒng)執(zhí)行流程(1)主頁面流程圖如圖(1) 圖(1)主頁面流程圖(2)顧客登陸簡述:用戶在圖書銷售系統(tǒng)里顧客登陸并查詢圖書內(nèi)容?;玖鞒?1 顧客:在圖書銷售系統(tǒng)畫面,選擇顧客登陸,顯示圖書基本信息,按提示內(nèi)容進行查找2 查詢:顧客在圖書銷售系統(tǒng)中能查詢圖書的信息;3 顯示:顧客能在顧客界面能看到最近的圖書;4 結(jié)束。流程圖如圖(2)圖(2)顧客登錄流程圖(3)收銀員登陸簡述:收銀員在圖書銷售系統(tǒng)里能看到圖書信息并能修改出售圖書的數(shù)量?;玖鞒蹋? 收銀員:在圖書銷售系統(tǒng)畫面,選擇收銀員登陸,輸入密碼,進入收銀員界面。2 修改:收銀員在圖書銷售系統(tǒng)中能修改圖書的售出情況;3 顯示:收銀員能在顧客界面能看到最近錄入的圖書;4 結(jié)束。流程圖如圖(3)圖(3)收銀員登錄流程圖管理員登陸簡述:管理員在圖書銷售系統(tǒng)填加、刪除和查找圖書信息,并能顯示銷售額?;玖鞒蹋? 管理員:在圖書銷售系統(tǒng)畫面,選擇管理員登陸,輸入密碼,進入收銀員界面。2 添加: 管理員在圖書銷售系統(tǒng)中能填加圖書的基本情況;3 刪除: 管理員在圖書銷售系統(tǒng)中能刪除圖書的基本信息;4 查找: 管理員在圖書銷售系統(tǒng)中能查找圖書的基本信息。5 銷售額:管理員在圖書銷售系統(tǒng)中能看到銷售額的輸出6 暢銷書:管理員在圖書銷售系統(tǒng)中能查詢暢銷書7 結(jié)束流程圖如圖(4)圖(4)管理員登錄流程圖5、 程序運行結(jié)果管理員登錄在書店開始售書之前先由管理員添加書籍內(nèi)容,在管理員將需要添加的書籍添加完畢后顧客還有收銀員才能執(zhí)行自己相應的功能。選擇管理員功能會進入登陸界面;密碼輸入正確方能進入使用,錯誤則會返回輸入密碼界面,直到密碼正確,進入使用界面。按1添加娛樂類的圖書及相關(guān)內(nèi)容添加成功后好可以繼續(xù)按1添加娛樂類書籍相關(guān)內(nèi)容,也可按5繼續(xù)添加學習類的圖書添加完畢后可返回主菜單(11選項)收銀員登錄在主界面按2可進入收銀員的登錄界面,同管理員一樣,收銀員也一樣需要輸入密碼,密碼對方可進入修改界面,在這里收銀員可以對圖書的銷售情況進行修改,以便以后對圖書銷售情況便于管理 輸入圖書編號(娛樂類/學習類)并且輸入將要售出的本數(shù),系統(tǒng)將會顯示圖書(娛樂類/學習類)的售后情況顧客登錄(張海東負責)在主界面選擇1可以進入顧客的使用界面,在這里顧客可以看到所以書籍(娛樂類和學習類),并可以按照編號或者圖書名稱查詢相應圖書的詳細內(nèi)容到此顧客使用功能結(jié)束。當然管理員也有對圖書查詢的功能,對圖書的銷售情況時時了解娛樂類圖書查詢:學習類圖書查詢: 銷售額顯示 在一段時間后書籍可能售完,這樣管理員需要將此類書籍刪除,以免誤導顧客,在圖書刪除后,顧客在查詢系統(tǒng)中將不會再查詢到相關(guān)的內(nèi)容 娛樂類圖書刪除學習類圖書刪除 管理員在執(zhí)行完所有的步驟后可以選擇回到住界面,也可以選擇退出系統(tǒng)回到主界面選擇:退出系統(tǒng)選擇:6、 設計總結(jié)(1)完成本課題花了很長的時間,真正體會了作為一個程序員的辛苦,并且必須具備細心、耐心的品質(zhì),想要完成一項出色的項目,必須精益求精,反復操作與實踐。(2)在做了本課程設計以后,我對C+的了解更深了,很多知識得到了鞏固,一些不懂的知識也漸漸明了!這其中主要是對指針的使用收獲很多,在指針使用的過程中,對指針的指向以及對各函數(shù)中指針的賦值會影響到整個程序的運行;還有就是對文件的輸入輸出流了解得更透徹了,知道了打開一個文件后必須還要對其關(guān)閉,否則程序無法運行,對各種文件的輸入輸出控制符都能基本融會貫通。 (3)雖然本課題已完成,可是還是存在一些問題,比如說界面還不夠好看,為了用戶用得舒服,界面是很重要的。參考文獻鄭莉等編著.C+語言程序設計.清華大學出版社 鄭莉等編著.C+語言程序設計習題與實驗指導.清華大學出版社 張基溫編著.C+程序設計基礎例題與習題.高等教育出版社 黃明等編著.面向?qū)ο蟪绦蛟O計習題詳解.機械工業(yè)出版社 附錄 源代碼:#include #include #include #include using namespace std; const int Maxr=100;const int Maxb=100;const int Maxbor=5;class Reader private: int tag; int no; char name10;int borbookMaxbor; public: Reader() char *getname() return name; int gettag() return tag; int getno() return no; void setname(char na) strcpy(name,na); void delbook() tag=1; void addreader(int n,char *na) tag=0; no=n; strcpy(name,na); for(int i=0;iMaxbor;i+) borbooki=0; void borrowbook(int bookid) for(int i=0;iMaxbor;i+) if (borbooki=0) borbooki=bookid; return; int retbook(int bookid) for(int i=0;iMaxbor;i+) if(borbooki=bookid) borbooki=0; return 1; return 0; void disp() cout setw(5) no setw(10) name借書編號:; for(int i=0;iMaxbor;i+) if(borbooki!=0) cout borbooki |; cout endl; ; class RDatabase private: int top; Reader readMaxr;public: RDatabase() Reader s; top=-1; fstream file(reader.txt,ios:in); while (1) file.read(char *)&s,sizeof(s); if (!file)break; top+; readtop=s; file.close(); void clear() top=-1; int addreader(int n,char *na) Reader *p=query(n); if (p=NULL) top+; readtop.addreader(n,na); return 1; return 0; Reader *query(int readerid) for (int i=0;i=top;i+) if (readi.getno()=readerid & readi.gettag()=0) return &readi; return NULL; void disp() for (int i=0;i=top;i+) readi.disp(); void readerdata();RDatabase() fstream file(reader.txt,ios:out); for (int i=0;i=top;i+) if (readi.gettag()=0) file.write(char *)&readi,sizeof(readi); file.close(); ; void RDatabase:readerdata() char choice; char rname20; int readerid; Reader *r; while (choice!=0) cout *歡迎使用圖書銷售管理系統(tǒng)終極版*” choice; switch (choice) case 1: cout readerid; cout rname; addreader (readerid,rname); break; case 2: cout readerid; r=query(readerid); if (r=NULL) cout *顧客* endl; break; cout rname; r-setname(rname); break; case 3: cout readerid; r=query(readerid); if (r=NULL) cout 該圖書不存在 delbook(); break; case 4: cout readerid; r=query(readerid); if (r=NULL) cout 該圖書不存在disp(); break; case 5: disp(); break; case 6: clear(); break; default:cout輸入錯誤,請從新輸入:;break; class Book private: int tag;int no;char name20;int onshelf; public: Book() char *getname() return name; int getno() return no; int gettag() return tag; void setname(char na) strcpy(name,na); void delbook() tag=1; void addbook(int n,char *na) tag=0; no=n; strcpy(name,na); onshelf=1; int borrowbook() if (onshelf=1) onshelf=0; return 1; return 0; void retbook() onshelf=1; void disp() cout setw(6) no setw(18) name setw(10) (onshelf=1? 缺貨) endl; ; class BDatabase private: int top; Book bookMaxb; public: BDatabase() Book b; top=-1; fstream file(book.txt,ios:in); while (1) file.read(char *)&b,sizeof(b); if (!file) break; top+; booktop=b; file.close(); void clear() top=-1; int addbook(int n,char *na) Book *p=query(n); if (NULL=p) top+; booktop.addbook(n,na); return 1; return 0; Book *query(int bookid) for (int i=0;i=top;i+) if (booki.getno()=bookid &booki.gettag()=0) return &booki; return NULL; void bookdata();void disp() for (int i=0;i=top;i+) if (booki.gettag()=0) booki.disp(); BDatabase() fstream file(book.txt,ios:out); for (int i=0;i=top;i+) if (booki.gettag()=0) file.write(char *)&booki,sizeof(booki); file.close(); ; void BDatabase:bookdata() char choice; char bname40; int bookid; Book *b; while (choice!=0) cout nnnttt圖 書 維 護 endl choice; switch (choice) case 1: cout 輸入圖書編號: bookid; cout 輸入圖書書名: bname; addbook(bookid,bname); break; case 2: cout 輸入圖書編號: bookid; b=query(bookid); if (b=NULL) cout 該圖書缺貨 endl; break; cout 輸入新的書名: bname; b-setname(bname); break; case 3: cout 讀入圖書編號: bookid; b=query(bookid); if (b=NULL) cout 該圖書缺貨 delbook(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年銅壓延加工材合作協(xié)議書
- 保密不競爭和知識產(chǎn)權(quán)歸屬協(xié)議
- 2025年文山貨運從業(yè)資格證考試模擬考試題庫下載
- 2025年銅仁道路貨運從業(yè)資格證模擬考試官方題下載
- 產(chǎn)品升級迭代進度統(tǒng)計表
- 個人金融智能財富管理與服務系統(tǒng)開發(fā)
- 互聯(lián)網(wǎng)行業(yè)大數(shù)據(jù)分析與挖掘技術(shù)應用方案
- 2025年保險職業(yè)學院單招職業(yè)適應性測試題庫學生專用
- 工程建設項目廉潔協(xié)議書
- 2025年包頭鐵道職業(yè)技術(shù)學院單招職業(yè)技能考試題庫及答案一套
- 肌肉注射新版本
- 大班語言活動-海豹到哪里去了
- 小班社會《認識家用電器》課件
- 高考概率大題必練20題(理科)-含答案
- 涼水井煤礦礦山地質(zhì)環(huán)境與土地復墾方案
- 果實酚類和揮發(fā)性物質(zhì)含量特征及其與果實品質(zhì)關(guān)系的研究
- 2023年東華高級中學中考自招數(shù)學復習題及答案解析
- 結(jié)果比過程重要辯論賽
- JTG C10-2007 公路勘測規(guī)范
- 工程結(jié)算審核項目投標技術(shù)方案造價咨詢服務方案
- 高中英語2024屆新高考詞匯轉(zhuǎn)換匯總(共六組)
評論
0/150
提交評論