圖書管理系統(tǒng)_第1頁
圖書管理系統(tǒng)_第2頁
圖書管理系統(tǒng)_第3頁
圖書管理系統(tǒng)_第4頁
圖書管理系統(tǒng)_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、數(shù)據(jù)結(jié)構(gòu)與算法課程設(shè)計(jì)說明書 算法與數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)說明書 題 目: _圖書管理系統(tǒng)_ 學(xué) 院: 計(jì)算機(jī)與信息安全學(xué)院 專 業(yè): _計(jì)算機(jī)科學(xué)與技術(shù)_ 姓 名: _符有作_ 學(xué) 號(hào): _1200310311_ 指導(dǎo)教師: _李云輝_ 2015年 10 月 1 日 數(shù)據(jù)結(jié)構(gòu)與算法課程設(shè)計(jì)說明書目 錄1 需求分析 11.1 問題描述.11.2 基本要求.12 概要設(shè)計(jì).12.1 主菜單.12.2 借書.22.3 還書.2 3 詳細(xì)設(shè)計(jì).33.1 讀者類.33.2 讀者類庫.33.3 圖書類.43.4 圖書類庫.53.5 程序的主界面.74 測(cè)試與分析.74.1 主菜單.74.2 圖書維護(hù)界面.84

2、.3 讀者維護(hù)界面.84.4 圖書的增刪查改.94.5 讀者的增刪查改.105 總結(jié).13參考文獻(xiàn).14第 13 頁 共 14 頁數(shù)據(jù)結(jié)構(gòu)與算法課程設(shè)計(jì)說明書1 需求分析1.1 問題描述該系統(tǒng)要求建立一個(gè)簡單的圖書管理系統(tǒng),并具有排序、計(jì)算、查找、插入和顯示等功能。通過此課設(shè),熟練掌握文件、數(shù)組和指針的各種操作,以及一些算法思想的應(yīng)用。1.2 基本要求(1) 數(shù)據(jù)結(jié)構(gòu):讀者編號(hào),讀者姓名,圖書編號(hào),圖書名稱,圖書現(xiàn)存量。(2) 程序所要達(dá)到的功能:1) 圖書和讀者信息用文件保存,程序運(yùn)行時(shí)從文件讀入數(shù)據(jù),程序結(jié)束前將信息保存在文件中;2) 圖書采編入庫:新增一種圖書,輸入編號(hào)和圖書名稱后,存放

3、于圖書信息中;3) 完成讀者信息:新增讀者,依次輸入其編號(hào)和姓名,存放于讀者信息中;4) 圖書借閱:若一種圖書“在架”,則借出,登記讀者的編號(hào)和姓名;5) 圖書歸還:注銷對(duì)讀者的借閱登記,改變?cè)搱D書的狀態(tài)“已借”為“在架”。2 概要設(shè)計(jì)系統(tǒng)界面2.1 主菜單輸入 分別訪問系統(tǒng)各部分退 出輸入 5 繼續(xù)訪問各模塊的相應(yīng)信息借閱成功借閱失敗該圖書是否有庫存借閱失敗借閱失敗判斷讀者號(hào)是否正確判斷書號(hào)正確與否輸入讀者編號(hào)輸入圖書編號(hào)開 始2.2 借書 是 否 否 是 否 是結(jié) 束2.3 還書(與“借書”對(duì)應(yīng),同理)3 詳細(xì)設(shè)計(jì)(主界面及各模塊核心操作的實(shí)現(xiàn))3.1 讀者類,實(shí)現(xiàn)對(duì)讀者的信息的描述 cl

4、ass Reader public: Reader() char *getname() return name; /獲取姓名 int gettag() return tag; /獲取刪除標(biāo)記 int getno() return no; /獲取讀者編號(hào) void setname(char na) /設(shè)置姓名 strcpy(name,na); void delbook() tag=1; /設(shè)置刪除標(biāo)記 1:已刪 0:未刪 void addreader(int n,char *na);/增加讀者 void borrowbook(int bookid);/借書操作 int retbook(int b

5、ookid);/還書操作 void disp();/讀出讀者信息 ; 3.2 讀者類庫,實(shí)現(xiàn)建立讀者的個(gè)人資料,關(guān)鍵點(diǎn):“讀者維護(hù)”模塊部分的實(shí)現(xiàn) while (choice!='0') cout <<"nnttt讀 者 維 護(hù)nnntt 1 新 增nntt 2 更 改nntt 3 刪 除nntt 4 查 找nntt 5 顯 示nntt 6 全 刪nntt 0 退 出"<<endl; cin >> choice; switch (choice) case '1': cout << "輸

6、入讀者編號(hào):" cin >> readerid; cout << "輸入讀者姓名:" cin >> rname; addreader (readerid,rname);cout<<"新增讀者信息成功!"<<endl; break; case '2': cout << "輸入讀者編號(hào):" cin >> readerid; r=query(readerid); if (r=NULL) cout << " 該讀

7、者不存在 "<<endl; break; cout << "輸入新的姓名:" cin >> rname; r->setname(rname);cout<<"更改讀者信息成功!"<<endl; break; case '3': cout << " 輸入讀者編號(hào):" cin >> readerid; r=query(readerid); if (r=NULL) cout <<" 該讀者不存在"

8、 << endl; break; r->delbook(); cout<<"刪除讀者信息成功!"<<endl;break; case '4': cout << "讀入讀者編號(hào):" cin >> readerid; r=query(readerid); if (r=NULL) cout <<"該讀者不存在"<< endl; break; cout<<"所查找讀者信息如下:"<<endl;r

9、->disp(); break; case '5':cout<<"所有讀者信息如下:"<<endl;disp(); break; case '6': clear();cout<<"已經(jīng)全部刪除所有讀者信息!" <<endl;break; /default:cout<<"輸入錯(cuò)誤,請(qǐng)從新輸入:"break; 3.3 圖書類,實(shí)現(xiàn)對(duì)圖書的描述,圖書的編號(hào),書名,借出,還入等 class Book public: Book() char *ge

10、tname() return name; /獲取姓名 int getno() return no; /獲取圖書編號(hào) int gettag() return tag; /獲取刪除標(biāo)記 void setname(char na)/設(shè)置書名 strcpy(name,na); void delbook() tag=1;/刪除圖書 void addbook(int n,char *na);/增加圖書 int borrowbook();/借書操作 void retbook();/還書操作 void disp();/輸出圖書 ; 3.4 圖書庫類,實(shí)現(xiàn)對(duì)圖書的維護(hù),查找,刪除等 class BDatabas

11、e public: BDatabase()/構(gòu)造函數(shù),將book.txt讀到book中 .(一些實(shí)現(xiàn)訪問功能的基本函數(shù)省略)BDatabase()/;析構(gòu)函數(shù),將book寫到book.txt文件中 核心點(diǎn):void BDatabase:bookdata() ./省略了一些參數(shù)設(shè)置while (choice!='0') cout <<"nnnttt圖 書 維 護(hù) "<<endl<<endl; cout<<"tt1 新 增n tt2 更 改ntt3 刪 除ntt4 查 找ntt5 顯 示ntt6 全 刪n

12、tt0 退 出"<<endl; cin >> choice; switch (choice) case '1': cout << "輸入圖書編號(hào):"<<endl; cin >> bookid; cout << "輸入圖書書名:"<<endl; cin >> bname; addbook(bookid,bname); cout<<"新增圖書信息成功!"<<endl;break; case &#

13、39;2': cout << "輸入圖書編號(hào):"<<endl; cin >> bookid; b=query(bookid); if (b=NULL) cout << " 該圖書不存在 "<<endl; break; cout << "輸入新的書名:"<<endl; cin >> bname; b->setname(bname); cout<<"更改圖書信息成功!"<<endl;br

14、eak; case '3': cout <<" 讀入圖書編號(hào):"<<endl; cin >> bookid; b=query(bookid); if (b=NULL) cout <<" 該圖書不存在" << endl; break; b->delbook(); cout<<"刪除圖書信息成功!"<<endl;break; case '4': cout << " 讀入圖書編號(hào):"<

15、;<endl; cin >> bookid; b=query(bookid); if (b=NULL) cout <<" 該圖書不存在"<< endl; break; cout<<"所查找的圖書信息如下:"<<endl; b->disp(); break; case '5':cout<<"所有圖書信息如下:"<<endl;disp(); break; case '6': clear(); cout<&l

16、t;"已經(jīng)成功刪除所有圖書信息!"<<endl;break; /default:cout<<"輸入錯(cuò)誤,請(qǐng)從新輸入:" 3.5 main() 函數(shù)的實(shí)現(xiàn),程序的主界面的引導(dǎo) void main() char choice; int bookid,readerid; RDatabase ReaderDB; Reader *r; BDatabase BookDB; Book *b; while(choice!='0') cout <<endl<<endl<<"ttt 圖 書

17、 管 理 系 統(tǒng)nnn" cout <<"ttt1 借 書nnttt2 還 書 nnttt3 圖 書 維 護(hù)nnttt4 讀 者 維 護(hù)nnttt0 離 開"<<endl; cin >> choice; system("cls");switch (choice) case '1': case '2': case '3': case '4': system("cls"); /系統(tǒng)主界面的功能的選擇4 測(cè)試與分析4.1 主菜單4.

18、2 圖書維護(hù)界面部分4.3 讀者維護(hù)界面部分4.4圖書的新增、更改、查找與刪除新增:更改:查找:刪除:刪除后查看圖書信息:4.5讀者的新增、更改、查找與刪除新增:更改:查找:刪除:刪除后查看讀者信息:5 總結(jié)大一學(xué)年在學(xué)習(xí)C+的時(shí)候所接觸的都是一些簡單的小程序。這次課程設(shè)計(jì)是第二次接觸這么復(fù)雜的大程序,但開始的時(shí)候我覺得很難,要實(shí)現(xiàn)這么多功能,實(shí)在是不知道該從哪里下手。后來我試著把這個(gè)系統(tǒng)的功能進(jìn)行了分解,分解成很多小的模塊,每個(gè)模塊只要執(zhí)行一個(gè)功能,并且也和多位同學(xué)進(jìn)行了深入交流,也通過網(wǎng)絡(luò)渠道查詢了一些資料,最后就設(shè)計(jì)成了這個(gè)樣子!在調(diào)試的時(shí)候還是遇到了一些小的問題,比如說界面不和諧,開始未采用清屏措施什么之類的,但是我認(rèn)為這次課程設(shè)計(jì)還是有很大的收獲的。一方面復(fù)習(xí)、鞏固了C+語言的一些基礎(chǔ)知識(shí),包括指針、數(shù)組、文件等等;另一方面也讓我意識(shí)到了規(guī)范寫代碼的重要性,特別是在一個(gè)很大的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論