




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)報(bào)告書 設(shè) 計(jì) 題 目:書店圖書管理系統(tǒng) 18目 錄第1章 選 題21.1 題目背景21.2系統(tǒng)實(shí)現(xiàn)的具體分工21.2.1 標(biāo)題21.3開發(fā)環(huán)境2第2章 設(shè)計(jì)內(nèi)容32.2 概要設(shè)計(jì)(系統(tǒng)流程圖)32.3 設(shè)計(jì)與分工42.3.1 結(jié)構(gòu)設(shè)計(jì)42.3.2 類設(shè)計(jì)4第3章 系統(tǒng)實(shí)現(xiàn)53.1 涉及知識(shí)點(diǎn)53.2 系統(tǒng)運(yùn)行(主要運(yùn)行界面抓圖)63.3 源程序清單(書庫(kù)管理模塊)7第4章 結(jié)束語(yǔ)16 參考文獻(xiàn)18第1章 選 題1.1 題目背景 隨著信息時(shí)代的到來和全社會(huì)信息化、網(wǎng)絡(luò)化建設(shè)的興起,傳統(tǒng)的書店圖書管理模式和操作方法越來越不能滿足用戶的需要.智能化、網(wǎng)絡(luò)化、信息化的書店圖
2、書管理系統(tǒng)應(yīng)用勢(shì)在必行。電子時(shí)代的到來,很多網(wǎng)購(gòu)盛行,網(wǎng)上的購(gòu)物很流行,知識(shí)分子的網(wǎng)上購(gòu)書,當(dāng)然也是潮流的前沿,網(wǎng)上的書店圖書管理系統(tǒng)也是應(yīng)運(yùn)而生,實(shí)現(xiàn)買賣雙方的交流,與書庫(kù)的自動(dòng)化管理,便于書店老板的經(jīng)營(yíng)。1.2系統(tǒng)實(shí)現(xiàn)的具體分工系統(tǒng)分為顧客購(gòu)書類、訂單類、收銀類、圖書庫(kù)類以及主函數(shù)等幾大模塊,其中顧客購(gòu)書類實(shí)現(xiàn)顧客對(duì)圖書的選購(gòu),訂單類實(shí)現(xiàn)對(duì)顧客訂單的管理及查詢,收銀類實(shí)現(xiàn)對(duì)訂單的收銀,圖書庫(kù)類實(shí)現(xiàn)對(duì)書店圖書庫(kù)圖書信息的描述及管理,main() 函數(shù)實(shí)現(xiàn)對(duì)程序主界面的引導(dǎo)。 1.2.1 標(biāo)題書店圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)1.3開發(fā)環(huán)境 開發(fā)軟件: visual c+ 6.0 處理器名稱:pen
3、tium(r)dual-core cpu e6500 2.94ghz 2.94ghz 硬盤驅(qū)動(dòng)器:wdc wd1600aajs-22waao 系統(tǒng)內(nèi)存:金士頓內(nèi)存2gb 顯示卡:nvidia geforce 9400 gt 顯示器:lg gsm4eb3操作系統(tǒng):microsoft windows xp professional 第2章 設(shè)計(jì)內(nèi)容2.1實(shí)現(xiàn)功能系統(tǒng)主要包括書店顧客對(duì)圖書的選購(gòu),書店工作人員對(duì)訂單的收銀以及對(duì)本店書庫(kù)圖書信息的管理。顧客只需進(jìn)入圖書選購(gòu)模塊便可對(duì)圖書進(jìn)行選購(gòu)、下單。書店工作人員輸入相應(yīng)模塊密碼后可實(shí)現(xiàn)收銀以及對(duì)本店圖書信息的管理。2.2 概要設(shè)計(jì)(系統(tǒng)流程圖)圖 2
4、-1 系統(tǒng)結(jié)構(gòu)圖2.3 設(shè)計(jì)與分工在這次書店管理系統(tǒng)開發(fā)過程中,我主要負(fù)責(zé)書庫(kù)管理模塊的設(shè)計(jì)與開發(fā)。作為整個(gè)系統(tǒng)的核心,其他模塊都是圍繞這個(gè)模塊進(jìn)行的,所以只有做好了這個(gè)模塊,才能確保其他模塊的功能實(shí)現(xiàn)。本模塊才用二進(jìn)制文件存儲(chǔ)圖書信息,不僅方便,而且保證了書庫(kù)數(shù)據(jù)的安全。另外,因?yàn)闀鴰?kù)管理模塊為書店工作人員管理圖書所用,所以顧客或者其他人是沒有權(quán)限進(jìn)入的。為此,我設(shè)置了管理員密碼(adminster)。只有輸入密碼,才能進(jìn)行操作。 2.3.1 結(jié)構(gòu)設(shè)計(jì)結(jié)構(gòu)設(shè)計(jì)也稱概念設(shè)計(jì) (conceptual design),是界面設(shè)計(jì)的骨架。該書店管理系統(tǒng)運(yùn)行時(shí)界面上的目錄體系和詞語(yǔ)定義易于用戶理解和操
5、作,例如主界面的目錄體系包括1.顧客選購(gòu)模塊 2.收銀模塊 3.報(bào)表模塊 4.書庫(kù)管理模塊 0.退出程序。其中書庫(kù)管理模塊又下分目錄1.顯示所有圖書 2.查找書 3.修改書 4.增加書 5.刪除書 6.返回主菜單。顯示所有圖書一欄中詳細(xì)列出了書庫(kù)中所存書本的isbn號(hào)、書名、作者、售價(jià)、庫(kù)存量等信息,使管理者對(duì)圖書信息一目了然,充分體現(xiàn)了結(jié)構(gòu)化、簡(jiǎn)明化的界面設(shè)計(jì)理念。 2.3.2 類設(shè)計(jì)書庫(kù)管理模塊開發(fā)過程中采用類封裝技術(shù),讓程序更能清晰的表達(dá)出其含義,類豐富了語(yǔ)言的自定義數(shù)據(jù)類型以及含義。而且,面向?qū)ο缶幊谈菀紫到y(tǒng)的維護(hù)和擴(kuò)展,同時(shí)避免本模塊數(shù)據(jù)與其他模塊數(shù)據(jù)混淆參雜,使程序代碼簡(jiǎn)單明了,
6、增強(qiáng)了程序的穩(wěn)定性,可塑性。本模塊共設(shè)計(jì)兩個(gè)類,分別為圖書信息類(bookdata)、圖書管理類(bookbase)。其中,圖書信息類存儲(chǔ)圖書的各種信息,包括isbn(isbn)、書名(booktitle)、出版社(publisher)、作者(author)、庫(kù)存量(qtyonhand)、進(jìn)書日期(dateadded)、批發(fā)價(jià)(wholesale)、零售價(jià)(retail)等信息。圖書管理類實(shí)現(xiàn)對(duì)書庫(kù)的各種操作,包括顯示所有圖書信息(showallbook)、查找書(searchbook)、修改書(amendbook)、增加書(addbook)、刪除書(deletebook)以及本模塊操作菜單(
7、menubook)等。本模塊的類關(guān)系圖如下頁(yè)圖2-2所示: 書名 booktitleisbn isbn 圖書信息類 bookdata出版社 publisher作者 author進(jìn)書日期 dateadded 庫(kù)存量 qtyonhand批發(fā)價(jià) wholesale圖書管理模塊零售價(jià) retail顯示所有圖書 showallbook查找書 searchbook 圖書管理類 bookbase修改書 amendbook增加書 addbook刪除書 deletebook操作菜單 menubook圖 2-2 圖書管理模塊結(jié)構(gòu)圖第3章 系統(tǒng)實(shí)現(xiàn)3.1 涉及知識(shí)點(diǎn)類封裝、面向?qū)ο蟪绦蛟O(shè)計(jì)、文件的讀取操作、循環(huán)語(yǔ)句
8、的使用、過程化設(shè)計(jì)的思想等。3.2 系統(tǒng)運(yùn)行(主要運(yùn)行界面抓圖)下面的幾個(gè)圖為系統(tǒng)運(yùn)行的主要運(yùn)行界面,界面清晰,結(jié)構(gòu)鮮明。圖 3-2 書庫(kù)管理模塊菜單 圖 3-1 主菜單圖 3-3 顯示所有圖書信息圖 3-4 返回主菜單3.3 源程序清單(書庫(kù)管理模塊)主菜單main.cpp#include<iostream>using namespace std;#include<fstream>#include<cstring>#include<iomanip>#include"bookdata.h"#include"cash.
9、h"#include"bookbase.h"#include"booklist.h"#include"shop.h"int main()bookbase base;booklist list;cash cash;shop shop;int choice;char c; cout << " 歡迎使用書店管理系統(tǒng) n" <<endl;docout<<"nt=" << endl;cout<<"nt *主菜單*"&
10、lt;<endl;cout << "nttt1:顧客選購(gòu)模塊 nnttt2:收銀模塊 nnttt3:報(bào)表模塊nnttt4:書庫(kù)管理模塊 nnttt0:退出程序" <<endl;cout << "t=" << endl;cout << "nt輸入選擇:"cin >> choice;switch(choice) case 1: shop.search();/顧客選購(gòu)模塊break; case 2: cash.cashoperate();/收銀模塊break; c
11、ase 3: list.menubooklist();/報(bào)表模塊break; case 4: base.menubook();/書庫(kù)管理模塊break; case 0: exit(0);while(1);return 0;書庫(kù)管理模塊圖書信息類 bookdata.h#ifndef bookdata_h#define bookdata_hclass bookdataprotected:char isbn31;/isbn號(hào)char booktitle100;/書名char author51;/作者char publisher100;/出版社char dateadded11;/進(jìn)書日期int qty
12、onhand;/庫(kù)存量double wholesale;/批發(fā)價(jià)double retail;/零售價(jià)int flag;/刪除標(biāo)記 1:未刪除 0:刪除public:void setinfo(char *is,char *bo,char *au,char *pu,char *da,int qt,double wh,double re)/設(shè)置書的信息strcpy(isbn,is);strcpy(booktitle,bo);strcpy(author,au);strcpy(publisher,pu);strcpy(dateadded,da);qtyonhand=qt;wholesale=wh;ret
13、ail=re;void showinfo()/顯示書的信息cout<<"tisbn號(hào):"<<isbn<<endl;cout<<"t書名:"<<booktitle<<endl;cout<<"t作者:"<<author<<endl;cout<<"t出版單位:"<<publisher<<endl;cout<<"t進(jìn)書日期:"<<date
14、added<<endl;cout<<"t庫(kù)存量:"<<qtyonhand<<endl;cout<<"t批發(fā)價(jià):"<<wholesale<<endl;cout<<"t零售價(jià):"<<retail<<endl;void setflag(int f=1)/設(shè)置刪除標(biāo)記flag=f;int getflag()return flag;char *getisbn()return isbn;char *getbooktitle()r
15、eturn booktitle;char *getauthor()return author;char *getpublisher()return publisher;char *getdateadded()return dateadded;int getqtyonhand()return qtyonhand;double getwholesale()return wholesale;double getretail()return retail;void setqtyonhand(int num)/設(shè)置庫(kù)存量qtyonhand = num;#endif圖書管理類 bookbase.h#ifn
16、def bookbase_h#define bookbase_h#include"bookdata.h"class bookbase:public bookdataprotected:int top;bookdata book100;public:bookbase ()/構(gòu)造函數(shù),打開書庫(kù)信息bookdata s;top=-1;fstream file;file.open("bookinfo.dat",ios:in|ios:binary);while(!file.eof()file.read(char *)&s,sizeof(s);if(file
17、.fail()break;top+;booktop=s;file.close();void updatedat()/刷新書庫(kù)信息fstream file("bookinfo.dat",ios:out|ios:binary);for(int i=0;i<=top;i+)if(booki.getflag()=1)file.write(char *)&booki,sizeof(booki);file.close();void showallbook()/顯示所有圖書信息cout<<"n下面顯示所有圖書信息:"<<endl;
18、for(int i=0;i<=top;i+)booki.showinfo();cout<<endl;void addbook()/增加圖書int i,n;char is31, bo100, au51, pu100,da11;int qt;double wh,re;cout<<"請(qǐng)輸入要增加書的數(shù)量:"cin>>n;cout<<"請(qǐng)輸入下列信息:"<<endl;for(i=0;i<n;i+)cout<<"isbn:"cin>>is;cout&
19、lt;<"書名:"cin>>bo;cout<<"作者:"cin>>au;cout<<"出版社:"cin>>pu;cout<<"進(jìn)書日期(請(qǐng)按年月日順序輸入,如:2011年1月1日請(qǐng)輸入20110101):"cin>>da;cout<<"庫(kù)存量:"cin>>qt;cout<<"批發(fā)價(jià):"cin>>wh;cout<<"零售
20、價(jià):"cin>>re;top+;booktop.setinfo(is,bo,au,pu,da,qt,wh,re); booktop.setflag(1);updatedat();cout<<"增加完成!"<<endl;void searchbook()/查找圖書int x=1;char name100,again;docout<<"請(qǐng)輸入要查找書的isbn號(hào)或書名:"cin>>name;for(int i=0;i<=top;i+)if(!strcmp(booki.getisbn(
21、),name)|!strcmp(booki.getbooktitle(),name)cout<<"n書的信息已找到,下面輸出該書信息:n"booki.showinfo();x=0;if(x)cout<<"n未找到該書信息!n"cout<<"還要再查找一本書的信息嗎?(y/n):"cin>>again;while(again='y');void amendbook()/修改圖書信息int x=1;char choice, name100,again;char is31, b
22、o100, au51, pu100,da11;int qt;double wh,re;docout<<"請(qǐng)輸入要修改書的isbn號(hào)或書名:"cin>>name;for(int i=0;i<=top;i+)if(!strcmp(booki.getisbn(),name)|!strcmp(booki.getbooktitle(),name)cout<<"n書的信息已找到,下面輸出該書信息:n"booki.showinfo();x=0;cout<<"t確定要修改該書信息?(y/n):"c
23、in>>choice;if(choice='y') cout<<"請(qǐng)輸入下列信息:"<<endl; cout<<"isbn:" cin>>is; cout<<"書名:"cin.ignore(); cin.getline(bo,100); cout<<"作者:" cin.getline(au,51); cout<<"出版社:" cin.getline(pu,100); cout<&
24、lt;"進(jìn)書日期(請(qǐng)按年月日順序輸入,如:2011年1月1日請(qǐng)輸入20110101):" cin>>da; cout<<"庫(kù)存量:" cin>>qt; cout<<"批發(fā)價(jià):" cin>>wh; cout<<"零售價(jià):" cin>>re;booki.setinfo(is,bo,au,pu,da,qt,wh,re);booktop.setflag(1);updatedat();cout<<"修改完成!"
25、<<endl;if(x)cout<<"n未找到該書信息,是否將該書信息增加到書庫(kù)?(y/n):"/將未找到的圖書信息添加到書庫(kù)cin>>choice;if(choice='y') cout<<"請(qǐng)輸入下列信息:"<<endl; cout<<"isbn:" cin.getline(is,51); cout<<"書名:" cin.getline(bo,100); cout<<"作者:" c
26、in.getline(au,51); cout<<"出版社:" cin.getline(pu,100); cout<<"進(jìn)書日期(請(qǐng)按年月日順序輸入,如:2011年1月1日請(qǐng)輸入20110101):" cin>>da; cout<<"庫(kù)存量:" cin>>qt; cout<<"批發(fā)價(jià):" cin>>wh; cout<<"零售價(jià):" cin>>re;booki.setinfo(is,bo,a
27、u,pu,da,qt,wh,re);booktop.setflag(1); updatedat();cout<<"增加完成!"<<endl;cout<<"還要再修改一本書的信息嗎?(y/n):" cin>>again;while(again='y');void deletebook()/刪除圖書int x=1; char name100,choice,again;do cout<<"請(qǐng)輸入要?jiǎng)h除的書的isbn或書名:" cin>>name;for(
28、int i=0;i<=top;i+) if(!strcmp(booki.getisbn(),name)|!strcmp(booki.getbooktitle(),name) cout<<"n書的信息已找到,下面輸出該書信息:n" booki.showinfo(); x=0; cout<<"是否確認(rèn)刪除該書的信息?(y/n):" cin>>choice; if(choice='y') booki.setflag(0);/設(shè)置刪除標(biāo)記 updatedat();cout<<"t刪除
29、成功!n" if(x)cout<<"n未找到有關(guān)該書的信息!n" cout<<"還要再刪除一本書的信息嗎?(y/n):"cin>>again;while(again='y');void menubook()/書庫(kù)管理模塊主菜單 int choice,a;bookbase book1;char adminster51,code="tianweitao",again;cout<<"n*此模塊只有管理員才能進(jìn)入,請(qǐng)輸入管理員密碼:"cin>&
30、gt;adminster;a=strcmp(adminster,code);while(a!=0) cout<<"密碼錯(cuò)誤,請(qǐng)重新輸入:" cin>>adminster; a=strcmp(adminster,code);docout<<"nt=" << endl;cout<<"nt *書庫(kù)管理模塊*"<<endl;cout<<"nnttt1.顯示所有圖書nn"<<"ttt2.查找書nn"<&l
31、t;"ttt3.修改書nn"<<"ttt4.增加書nn"<<"ttt5.刪除書nn"<<"ttt6.返回主菜單n" cout<<"nt="<< endl;cout<<"t請(qǐng)輸入你的選擇:"cin>>choice;switch(choice)case 1:showallbook();break;case 2:searchbook();break;case 3:amendbook();break;
32、case 4:addbook();break;case 5:deletebook();break;case 6:return;cout<<"還要繼續(xù)操作嗎?(y/n):"cin>>again;while(again='y');#endif第4章 結(jié)束語(yǔ)一周的課程設(shè)計(jì)結(jié)束了,在這次的課程設(shè)計(jì)中不僅檢驗(yàn)了我所學(xué)習(xí)的知識(shí),也培養(yǎng)了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在設(shè)計(jì)過程中,與同學(xué)分工設(shè)計(jì),和同學(xué)們相互探討,相互學(xué)習(xí),相互監(jiān)督。學(xué)會(huì)了合作,學(xué)會(huì)了運(yùn)籌帷幄,學(xué)會(huì)了寬容,學(xué)會(huì)了理解,也學(xué)會(huì)了做人與處世。 課程設(shè)計(jì)是我們專業(yè)課程知識(shí)綜合應(yīng)用的實(shí)踐訓(xùn)練,著是我們邁向社會(huì),從事職業(yè)工作前一個(gè)必不少的過程”千里之行始于足下”,通過這次課程設(shè)計(jì),我深深體會(huì)到這句千古名言的真正含義我今天認(rèn)真的進(jìn)行課程設(shè)計(jì),學(xué)會(huì)腳踏實(shí)地邁開這一步,就是為明天能穩(wěn)健地在社會(huì)大潮中奔跑打下堅(jiān)實(shí)的基礎(chǔ) 對(duì)于此次課程設(shè)計(jì),我感慨頗多,起初在選題時(shí),做出決定是非常困難的,若選擇簡(jiǎn)單的題目,很有可能會(huì)很早就做完了,那樣豈不是浪費(fèi)了許多寶貴的時(shí)間;若選擇比較難的題目,感覺自己的能力可能不夠,不能完成課程設(shè)計(jì),最后,在我們組的商量之下選了書店圖書管理系統(tǒng)這個(gè)課
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- JJF 2237-2025電容箱校準(zhǔn)規(guī)范
- 鐵路旅客運(yùn)輸服務(wù)鐵路客運(yùn)服務(wù)工作理念課件
- 鐵道機(jī)車專業(yè)教學(xué)湖南鐵道左繼紅課件
- 臨夏餐廳仿真樹施工方案
- 《GB 15146.5-1994反應(yīng)堆外易裂變材料的核臨界安全 钚-天然鈾混合物的核臨界控制準(zhǔn)則和次臨界限值》(2025版)深度解析
- 中國(guó)交通運(yùn)輸課件
- 《GB 9683-1988復(fù)合食品包裝袋衛(wèi)生標(biāo)準(zhǔn)》(2025版)深度解析
- 生態(tài)修復(fù)項(xiàng)目苗木培育合同
- 肇慶市實(shí)驗(yàn)中學(xué)高三上學(xué)期第周物理高效課堂教學(xué)設(shè)計(jì):綜測(cè)評(píng)講
- 內(nèi)蒙古巴彥淖爾市重點(diǎn)中學(xué)2024-2025學(xué)年初三中考第一次模擬考試生物試題含解析
- [水穩(wěn)層]旁站監(jiān)理記錄表(范本)√
- 小學(xué)四年級(jí)上冊(cè)數(shù)學(xué)課后訓(xùn)練題:《數(shù)字編碼》
- 沈萍微生物學(xué)第七章
- API-682密封系統(tǒng)-中英文對(duì)照版
- 電動(dòng)葫蘆出廠檢驗(yàn)報(bào)告
- 挖機(jī)大中斗油封資料,液壓泵資料
- 技術(shù)開發(fā)部個(gè)人技能矩陣圖
- Hillstone設(shè)備密碼與配置恢復(fù)方法
- 二年級(jí)下冊(cè)語(yǔ)文教案第六單元部編版
- 廢氣處理工程施工方案模板
- 境外所得個(gè)稅新政解析PPT課件
評(píng)論
0/150
提交評(píng)論