《面向?qū)ο蟪绦蛟O(shè)計》課程設(shè)計報告書店圖書管理系統(tǒng)_第1頁
《面向?qū)ο蟪绦蛟O(shè)計》課程設(shè)計報告書店圖書管理系統(tǒng)_第2頁
《面向?qū)ο蟪绦蛟O(shè)計》課程設(shè)計報告書店圖書管理系統(tǒng)_第3頁
《面向?qū)ο蟪绦蛟O(shè)計》課程設(shè)計報告書店圖書管理系統(tǒng)_第4頁
《面向?qū)ο蟪绦蛟O(shè)計》課程設(shè)計報告書店圖書管理系統(tǒng)_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、 面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計報告書 設(shè) 計 題 目:書店圖書管理系統(tǒng) 18目 錄第1章 選 題21.1 題目背景21.2系統(tǒng)實現(xiàn)的具體分工21.2.1 標(biāo)題21.3開發(fā)環(huán)境2第2章 設(shè)計內(nèi)容32.2 概要設(shè)計(系統(tǒng)流程圖)32.3 設(shè)計與分工42.3.1 結(jié)構(gòu)設(shè)計42.3.2 類設(shè)計4第3章 系統(tǒng)實現(xiàn)53.1 涉及知識點53.2 系統(tǒng)運行(主要運行界面抓圖)63.3 源程序清單(書庫管理模塊)7第4章 結(jié)束語16 參考文獻(xiàn)18第1章 選 題1.1 題目背景 隨著信息時代的到來和全社會信息化、網(wǎng)絡(luò)化建設(shè)的興起,傳統(tǒng)的書店圖書管理模式和操作方法越來越不能滿足用戶的需要.智能化、網(wǎng)絡(luò)化、信息化的書店圖

2、書管理系統(tǒng)應(yīng)用勢在必行。電子時代的到來,很多網(wǎng)購盛行,網(wǎng)上的購物很流行,知識分子的網(wǎng)上購書,當(dāng)然也是潮流的前沿,網(wǎng)上的書店圖書管理系統(tǒng)也是應(yīng)運而生,實現(xiàn)買賣雙方的交流,與書庫的自動化管理,便于書店老板的經(jīng)營。1.2系統(tǒng)實現(xiàn)的具體分工系統(tǒng)分為顧客購書類、訂單類、收銀類、圖書庫類以及主函數(shù)等幾大模塊,其中顧客購書類實現(xiàn)顧客對圖書的選購,訂單類實現(xiàn)對顧客訂單的管理及查詢,收銀類實現(xiàn)對訂單的收銀,圖書庫類實現(xiàn)對書店圖書庫圖書信息的描述及管理,main() 函數(shù)實現(xiàn)對程序主界面的引導(dǎo)。 1.2.1 標(biāo)題書店圖書管理系統(tǒng)的設(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ū)動器:wdc wd1600aajs-22waao 系統(tǒng)內(nèi)存:金士頓內(nèi)存2gb 顯示卡:nvidia geforce 9400 gt 顯示器:lg gsm4eb3操作系統(tǒng):microsoft windows xp professional 第2章 設(shè)計內(nèi)容2.1實現(xiàn)功能系統(tǒng)主要包括書店顧客對圖書的選購,書店工作人員對訂單的收銀以及對本店書庫圖書信息的管理。顧客只需進(jìn)入圖書選購模塊便可對圖書進(jìn)行選購、下單。書店工作人員輸入相應(yīng)模塊密碼后可實現(xiàn)收銀以及對本店圖書信息的管理。2.2 概要設(shè)計(系統(tǒng)流程圖)圖 2

4、-1 系統(tǒng)結(jié)構(gòu)圖2.3 設(shè)計與分工在這次書店管理系統(tǒng)開發(fā)過程中,我主要負(fù)責(zé)書庫管理模塊的設(shè)計與開發(fā)。作為整個系統(tǒng)的核心,其他模塊都是圍繞這個模塊進(jìn)行的,所以只有做好了這個模塊,才能確保其他模塊的功能實現(xiàn)。本模塊才用二進(jìn)制文件存儲圖書信息,不僅方便,而且保證了書庫數(shù)據(jù)的安全。另外,因為書庫管理模塊為書店工作人員管理圖書所用,所以顧客或者其他人是沒有權(quán)限進(jìn)入的。為此,我設(shè)置了管理員密碼(adminster)。只有輸入密碼,才能進(jìn)行操作。 2.3.1 結(jié)構(gòu)設(shè)計結(jié)構(gòu)設(shè)計也稱概念設(shè)計 (conceptual design),是界面設(shè)計的骨架。該書店管理系統(tǒng)運行時界面上的目錄體系和詞語定義易于用戶理解和操

5、作,例如主界面的目錄體系包括1.顧客選購模塊 2.收銀模塊 3.報表模塊 4.書庫管理模塊 0.退出程序。其中書庫管理模塊又下分目錄1.顯示所有圖書 2.查找書 3.修改書 4.增加書 5.刪除書 6.返回主菜單。顯示所有圖書一欄中詳細(xì)列出了書庫中所存書本的isbn號、書名、作者、售價、庫存量等信息,使管理者對圖書信息一目了然,充分體現(xiàn)了結(jié)構(gòu)化、簡明化的界面設(shè)計理念。 2.3.2 類設(shè)計書庫管理模塊開發(fā)過程中采用類封裝技術(shù),讓程序更能清晰的表達(dá)出其含義,類豐富了語言的自定義數(shù)據(jù)類型以及含義。而且,面向?qū)ο缶幊谈菀紫到y(tǒng)的維護(hù)和擴展,同時避免本模塊數(shù)據(jù)與其他模塊數(shù)據(jù)混淆參雜,使程序代碼簡單明了,

6、增強了程序的穩(wěn)定性,可塑性。本模塊共設(shè)計兩個類,分別為圖書信息類(bookdata)、圖書管理類(bookbase)。其中,圖書信息類存儲圖書的各種信息,包括isbn(isbn)、書名(booktitle)、出版社(publisher)、作者(author)、庫存量(qtyonhand)、進(jìn)書日期(dateadded)、批發(fā)價(wholesale)、零售價(retail)等信息。圖書管理類實現(xiàn)對書庫的各種操作,包括顯示所有圖書信息(showallbook)、查找書(searchbook)、修改書(amendbook)、增加書(addbook)、刪除書(deletebook)以及本模塊操作菜單(

7、menubook)等。本模塊的類關(guān)系圖如下頁圖2-2所示: 書名 booktitleisbn isbn 圖書信息類 bookdata出版社 publisher作者 author進(jìn)書日期 dateadded 庫存量 qtyonhand批發(fā)價 wholesale圖書管理模塊零售價 retail顯示所有圖書 showallbook查找書 searchbook 圖書管理類 bookbase修改書 amendbook增加書 addbook刪除書 deletebook操作菜單 menubook圖 2-2 圖書管理模塊結(jié)構(gòu)圖第3章 系統(tǒng)實現(xiàn)3.1 涉及知識點類封裝、面向?qū)ο蟪绦蛟O(shè)計、文件的讀取操作、循環(huán)語句

8、的使用、過程化設(shè)計的思想等。3.2 系統(tǒng)運行(主要運行界面抓圖)下面的幾個圖為系統(tǒng)運行的主要運行界面,界面清晰,結(jié)構(gòu)鮮明。圖 3-2 書庫管理模塊菜單 圖 3-1 主菜單圖 3-3 顯示所有圖書信息圖 3-4 返回主菜單3.3 源程序清單(書庫管理模塊)主菜單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:顧客選購模塊 nnttt2:收銀模塊 nnttt3:報表模塊nnttt4:書庫管理模塊 nnttt0:退出程序" <<endl;cout << "t=" << endl;cout << "nt輸入選擇:"cin >> choice;switch(choice) case 1: shop.search();/顧客選購模塊break; case 2: cash.cashoperate();/收銀模塊break; c

11、ase 3: list.menubooklist();/報表模塊break; case 4: base.menubook();/書庫管理模塊break; case 0: exit(0);while(1);return 0;書庫管理模塊圖書信息類 bookdata.h#ifndef bookdata_h#define bookdata_hclass bookdataprotected:char isbn31;/isbn號char booktitle100;/書名char author51;/作者char publisher100;/出版社char dateadded11;/進(jìn)書日期int qty

12、onhand;/庫存量double wholesale;/批發(fā)價double retail;/零售價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號:"<<isbn<<endl;cout<<"t書名:"<<booktitle<<endl;cout<<"t作者:"<<author<<endl;cout<<"t出版單位:"<<publisher<<endl;cout<<"t進(jìn)書日期:"<<date

14、added<<endl;cout<<"t庫存量:"<<qtyonhand<<endl;cout<<"t批發(fā)價:"<<wholesale<<endl;cout<<"t零售價:"<<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è)置庫存量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ù),打開書庫信息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()/刷新書庫信息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<<"請輸入要增加書的數(shù)量:"cin>>n;cout<<"請輸入下列信息:"<<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)書日期(請按年月日順序輸入,如:2011年1月1日請輸入20110101):"cin>>da;cout<<"庫存量:"cin>>qt;cout<<"批發(fā)價:"cin>>wh;cout<<"零售

20、價:"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<<"請輸入要查找書的isbn號或書名:"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<<"請輸入要修改書的isbn號或書名:"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<<"請輸入下列信息:"<<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)書日期(請按年月日順序輸入,如:2011年1月1日請輸入20110101):" cin>>da; cout<<"庫存量:" cin>>qt; cout<<"批發(fā)價:" cin>>wh; cout<<"零售價:" cin>>re;booki.setinfo(is,bo,au,pu,da,qt,wh,re);booktop.setflag(1);updatedat();cout<<"修改完成!"

25、<<endl;if(x)cout<<"n未找到該書信息,是否將該書信息增加到書庫?(y/n):"/將未找到的圖書信息添加到書庫cin>>choice;if(choice='y') cout<<"請輸入下列信息:"<<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)書日期(請按年月日順序輸入,如:2011年1月1日請輸入20110101):" cin>>da; cout<<"庫存量:" cin>>qt; cout<<"批發(fā)價:" cin>>wh; cout<<"零售價:" 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<<"請輸入要刪除的書的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()/書庫管理模塊主菜單 int choice,a;bookbase book1;char adminster51,code="tianweitao",again;cout<<"n*此模塊只有管理員才能進(jìn)入,請輸入管理員密碼:"cin>&

30、gt;adminster;a=strcmp(adminster,code);while(a!=0) cout<<"密碼錯誤,請重新輸入:" cin>>adminster; a=strcmp(adminster,code);docout<<"nt=" << endl;cout<<"nt *書庫管理模塊*"<<endl;cout<<"nnttt1.顯示所有圖書nn"<<"ttt2.查找書nn"<&l

31、t;"ttt3.修改書nn"<<"ttt4.增加書nn"<<"ttt5.刪除書nn"<<"ttt6.返回主菜單n" cout<<"nt="<< endl;cout<<"t請輸入你的選擇:"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é)束語一周的課程設(shè)計結(jié)束了,在這次的課程設(shè)計中不僅檢驗了我所學(xué)習(xí)的知識,也培養(yǎng)了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在設(shè)計過程中,與同學(xué)分工設(shè)計,和同學(xué)們相互探討,相互學(xué)習(xí),相互監(jiān)督。學(xué)會了合作,學(xué)會了運籌帷幄,學(xué)會了寬容,學(xué)會了理解,也學(xué)會了做人與處世。 課程設(shè)計是我們專業(yè)課程知識綜合應(yīng)用的實踐訓(xùn)練,著是我們邁向社會,從事職業(yè)工作前一個必不少的過程”千里之行始于足下”,通過這次課程設(shè)計,我深深體會到這句千古名言的真正含義我今天認(rèn)真的進(jìn)行課程設(shè)計,學(xué)會腳踏實地邁開這一步,就是為明天能穩(wěn)健地在社會大潮中奔跑打下堅實的基礎(chǔ) 對于此次課程設(shè)計,我感慨頗多,起初在選題時,做出決定是非常困難的,若選擇簡單的題目,很有可能會很早就做完了,那樣豈不是浪費了許多寶貴的時間;若選擇比較難的題目,感覺自己的能力可能不夠,不能完成課程設(shè)計,最后,在我們組的商量之下選了書店圖書管理系統(tǒng)這個課

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論