




已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
精品文檔目錄一、 設(shè)計目的2二、設(shè)計內(nèi)容2三、設(shè)計要求2四、設(shè)計過程31、面向?qū)ο蠓治?2、數(shù)據(jù)結(jié)構(gòu)分析73、 系統(tǒng)執(zhí)行流程8五、 程序運行結(jié)果11六、 設(shè)計總結(jié)17參考文獻17附錄18圖書銷售管理系統(tǒng)一、 設(shè)計目的本圖書銷售管理系統(tǒng),主要用于小型的書店,進行簡單的圖書的管理,為了能夠更好的管理書店的銷售的情況和庫存的情況書店銷售管理系統(tǒng)主要的功能有:(1)圖書入庫管理:維護入庫圖書信息,圖書編號、書名、價格等,自動計算庫存。(2)圖書查詢統(tǒng)計:可以根據(jù)圖書分類、出版社、書名、作者等條件查詢圖書的詳細信息。(3)銷售管理:銷售過的圖書都記錄在銷售列表中,方便統(tǒng)計收入。圖書銷售后,要記錄圖書庫存,按每天統(tǒng)計銷售額、每個月或季度生成報表,并生成暢銷書單。二、設(shè)計內(nèi)容(1) 圖書信息包括書名、書號、作者、出版社、單價、庫存數(shù)量、進價、售價、利潤;(2)用戶登錄界面設(shè)計(3)信息維護:包括子模塊有增加圖書信息、刪除圖書信息、修改圖書信息(4 ) 查詢功能:可按書名查詢、作者查詢、或出版社查詢(5) 排序功能:能實現(xiàn)按圖書銷售利潤進行排序的功三、設(shè)計要求(1) 只能使用C+語言,源程序要有適當?shù)淖⑨專钩绦蛉菀组喿x(2) 至少采用文本菜單界面(如果能采用圖形菜單界面更好)(3) 學(xué)生可自動增加新功能模塊(視情況可另外加分)(4) 寫出課程設(shè)計報告,具體要求見相關(guān)說明文檔四、設(shè)計過程1、面向?qū)ο蠓治?(1)對象模型設(shè)計(2)各個類設(shè)計系統(tǒng)中說明了4個類,每個類的詳細設(shè)計如下: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類用于定義學(xué)習(xí)類圖書的信息,它是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()/添加學(xué)習(xí)類圖書的基本信息void add_yule()/添加娛樂類圖書的基本信息void search_studynum(int m)/查找學(xué)習(xí)類圖書的編號void search_studyname(string s)/查找學(xué)習(xí)類圖書的名稱void xiugai_yule(int m)/修改娛樂類圖書的剩余量void xiugai_study(int m)/修改學(xué)習(xí)類圖書的剩余量void del_studynum(int n)/刪除售完圖書void del_studyname(string p) /按名稱刪除圖書void show_yule()/顯示娛樂類圖書void show_study()/顯示學(xué)習(xí)類圖書void saleamounts()/計算銷售額void changxiao1()/娛樂類圖書暢銷void changxiao()/學(xué)習(xí)類圖書暢銷void save()/娛樂類入庫單void save1()/學(xué)習(xí)類入庫單void load()/讀取娛樂類文件void load1()/讀取學(xué)習(xí)類文件void Menu()/應(yīng)用菜單說明:operate類用來實現(xiàn)圖書管理系統(tǒng)的功能,它是用來查找、添加、刪除圖書的信息的基本點的信息,對系統(tǒng)進行維護,生成入庫單、暢銷書和一天的銷售額。2、數(shù)據(jù)結(jié)構(gòu)分析書店銷售管理系統(tǒng)的數(shù)據(jù)結(jié)構(gòu):英文名稱中文名稱Book 圖書類Yule 娛樂類圖書Study 學(xué)習(xí)類圖書Strvec 娛樂類的STL模版Strvec1 學(xué)習(xí)類的STL模版Operate 運算類search_yulenum 娛樂類編號查找search_yulename 娛樂類書名查找del_yulenum 娛樂類編號刪除del_yulename 娛樂類書名刪除add_study 添加學(xué)習(xí)類圖書add_yule 添加娛樂類圖書search_studynum 學(xué)習(xí)類編號查詢search_studyname 學(xué)習(xí)類書名查詢del_studynum 學(xué)習(xí)類編號刪除del_studyname 學(xué)習(xí)類書名刪除show_yule 顯示娛樂類信息show_study 顯示學(xué)習(xí)類信息save 保存娛樂類文件load 顯示娛樂類文件Menu 菜單main 主函數(shù)Save1 保存學(xué)習(xí)類文件 Load1 顯示娛樂類文件saleamounts 銷售量的計算xiugai_yule 娛樂類圖書的修改xiugai_study 學(xué)習(xí)類圖書的修改changxiao 娛樂類暢銷圖書Changxiao1 學(xué)習(xí)類暢銷圖書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í)行自己相應(yīng)的功能。選擇管理員功能會進入登陸界面;密碼輸入正確方能進入使用,錯誤則會返回輸入密碼界面,直到密碼正確,進入使用界面。按1添加娛樂類的圖書及相關(guān)內(nèi)容添加成功后好可以繼續(xù)按1添加娛樂類書籍相關(guān)內(nèi)容,也可按5繼續(xù)添加學(xué)習(xí)類的圖書添加完畢后可返回主菜單(11選項)收銀員登錄在主界面按2可進入收銀員的登錄界面,同管理員一樣,收銀員也一樣需要輸入密碼,密碼對方可進入修改界面,在這里收銀員可以對圖書的銷售情況進行修改,以便以后對圖書銷售情況便于管理 輸入圖書編號(娛樂類/學(xué)習(xí)類)并且輸入將要售出的本數(shù),系統(tǒng)將會顯示圖書(娛樂類/學(xué)習(xí)類)的售后情況顧客登錄(張海東負責)在主界面選擇1可以進入顧客的使用界面,在這里顧客可以看到所以書籍(娛樂類和學(xué)習(xí)類),并可以按照編號或者圖書名稱查詢相應(yīng)圖書的詳細內(nèi)容到此顧客使用功能結(jié)束。當然管理員也有對圖書查詢的功能,對圖書的銷售情況時時了解娛樂類圖書查詢:學(xué)習(xí)類圖書查詢: 銷售額顯示 在一段時間后書籍可能售完,這樣管理員需要將此類書籍刪除,以免誤導(dǎo)顧客,在圖書刪除后,顧客在查詢系統(tǒng)中將不會再查詢到相關(guān)的內(nèi)容 娛樂類圖書刪除學(xué)習(xí)類圖書刪除 管理員在執(zhí)行完所有的步驟后可以選擇回到住界面,也可以選擇退出系統(tǒng)回到主界面選擇:退出系統(tǒng)選擇:6、 設(shè)計總結(jié)(1)完成本課題花了很長的時間,真正體會了作為一個程序員的辛苦,并且必須具備細心、耐心的品質(zhì),想要完成一項出色的項目,必須精益求精,反復(fù)操作與實踐。(2)在做了本課程設(shè)計以后,我對C+的了解更深了,很多知識得到了鞏固,一些不懂的知識也漸漸明了!這其中主要是對指針的使用收獲很多,在指針使用的過程中,對指針的指向以及對各函數(shù)中指針的賦值會影響到整個程序的運行;還有就是對文件的輸入輸出流了解得更透徹了,知道了打開一個文件后必須還要對其關(guān)閉,否則程序無法運行,對各種文件的輸入輸出控制符都能基本融會貫通。 (3)雖然本課題已完成,可是還是存在一些問題,比如說界面還不夠好看,為了用戶用得舒服,界面是很重要的。參考文獻鄭莉等編著.C+語言程序設(shè)計.清華大學(xué)出版社 鄭莉等編著.C+語言程序設(shè)計習(xí)題與實驗指導(dǎo).清華大學(xué)出版社 張基溫編著.C+程序設(shè)計基礎(chǔ)例題與習(xí)題.高等教育出版社 黃明等編著.面向?qū)ο蟪绦蛟O(shè)計習(xí)題詳解.機械工業(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)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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年 湛江市雷州市教育系統(tǒng)招聘教師考試試題附答案
- 2025年中國充氣混凝土行業(yè)市場發(fā)展監(jiān)測及投資前景展望報告
- 2025年中國固體顆粒物料炒鍋行業(yè)市場調(diào)查研究及發(fā)展戰(zhàn)略規(guī)劃報告
- 2025年中國塑鋼窗行業(yè)市場發(fā)展監(jiān)測及投資戰(zhàn)略規(guī)劃研究報告
- 中國工業(yè)氯化銨行業(yè)調(diào)查報告
- 2025年中國鹵味休閑食品市場競爭格局及投資戰(zhàn)略規(guī)劃報告
- 中國橡膠線機頭行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報告(2024-2030)
- 中國渦輪式粉碎機行業(yè)市場前景預(yù)測及投資戰(zhàn)略研究報告
- 中國汽車空氣彈簧行業(yè)市場全景評估及發(fā)展戰(zhàn)略規(guī)劃報告
- 中國精密鑄鐵件行業(yè)市場規(guī)模及未來投資方向研究報告
- 體檢機構(gòu)服務(wù)流程
- 地下礦山常見安全隱患的排查和處置
- 水工混凝土建筑物修補加固技術(shù)規(guī)程
- 招標程序和《必須招標的工程項目規(guī)定》解讀-必須招標的項目課件
- (完整版)QQ三國副職及日常物品成本計算表v1.0
- 電極的界面雙電層性質(zhì)課件
- 【語文】福建省廈門市演武小學(xué)小學(xué)二年級下冊期末試題
- 竣工驗收階段的質(zhì)量控制
- 2021-2022學(xué)年山東省東營市廣饒縣七年級(下)期末英語試卷(五四學(xué)制)(附答案詳解)
- 湖北十堰燃氣爆炸事故案例
- 阿奇舒勒矛盾矩陣表
評論
0/150
提交評論