版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 1需求分析</b></p><p><b> 1.1功能需求分析</b></p><p> 隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,傳統(tǒng)的圖書管理方式必然被計(jì)算機(jī)為基礎(chǔ)的信息管理系統(tǒng)所取代。因?yàn)樽鳛橛?jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對圖書信息進(jìn)行管理,具有著手工管理所無法比擬的優(yōu)點(diǎn):檢索迅速、查找方便、可靠性高、
2、存儲量大、保密性好、壽命長、成本低等。因此,如何設(shè)計(jì)一個(gè)管理系統(tǒng)來輔助協(xié)調(diào)和管理圖書已經(jīng)成了一個(gè)急需解決的問題。</p><p> 面對大量繁雜的圖書管理、分類、查詢與借還工作,迫切需要通過計(jì)算機(jī)來幫助解決,減少圖書館管理人員的工作量。隨著辦公自動化的深入及普及和網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,圖書管理系統(tǒng)能夠隨時(shí)通過增加網(wǎng)絡(luò)設(shè)備及模塊來擴(kuò)展、升級整個(gè)系統(tǒng),達(dá)到和辦公自動化網(wǎng)絡(luò)的連接,實(shí)現(xiàn)遠(yuǎn)程管理、異地續(xù)借等功能。<
3、/p><p> 系統(tǒng)應(yīng)實(shí)現(xiàn)的操作及功能包括:</p><p> 圖書維護(hù):增加圖書,刪除圖書,查找圖書,輸出所有</p><p> 讀者維護(hù):增加讀者,刪除讀者,查找讀者,輸出讀者</p><p> 讀者:借書,還書,查找書,輸出所有</p><p><b> 1.2設(shè)計(jì)平臺</b><
4、/p><p> Visual C++ 6.0 , Windows 2000或以上平臺</p><p><b> 2概要設(shè)計(jì)</b></p><p> 此課程設(shè)計(jì)中,涉及到知識點(diǎn)主要有:數(shù)據(jù)結(jié)構(gòu)、類、鏈表、函數(shù)調(diào)用、選擇結(jié)構(gòu)中的條件語句、循環(huán)結(jié)構(gòu)中的while語句、if 循環(huán)語句、控制語句中的break語句、字符串函數(shù),及文件的讀取等等。&l
5、t;/p><p> 2.1 基礎(chǔ)知識概述</p><p> 虛基類:在虛繼承體系中的通過virtual繼承而來的基類 </p><p> 構(gòu)造函數(shù):構(gòu)造函數(shù)是一種特殊的方法,主要用來在創(chuàng)建對象時(shí)初始化對象 即為對象成員變量賦初始值??偱cnew運(yùn)算符一起使用在創(chuàng)建對象的語句</p><p><b> 中。</b>&l
6、t;/p><p> 一個(gè)類可以有多個(gè)構(gòu)造函數(shù) 可根據(jù)其參數(shù)個(gè)數(shù)的不同或參數(shù)類型的不同來區(qū)分它們 。</p><p> 繼承: 在C++語言中,一個(gè)派生類可以從一個(gè)基類派生,也可以從多個(gè)基類派生。從一個(gè)基類派生的繼承稱為單繼承;從多個(gè)基類派生的繼承稱為多繼承。</p><p> 鏈表: 鏈表由一系列結(jié)點(diǎn)(鏈表中每一個(gè)元素稱為結(jié)點(diǎn))組成,結(jié)點(diǎn)可以在運(yùn)行時(shí)動態(tài)生成。每個(gè)
7、結(jié)點(diǎn)包括兩個(gè)部分:一個(gè)是存儲數(shù)據(jù)元素的數(shù)據(jù)域,另一個(gè)是存儲下一個(gè)結(jié)點(diǎn)地址的指針域。</p><p> 圖書管理管理系統(tǒng)一般包括圖書結(jié)點(diǎn)信息的增加、查詢、刪除、更新的輸出等功能。通過鏈表把圖書和讀者的信息。</p><p> 成員函數(shù):它是屬于一個(gè)類的成員,出現(xiàn)在類體中,它可以被指定為private(私有的)、public (公用的)或protected(受保護(hù)的)。在使用類函數(shù)時(shí),要注
8、意調(diào)用它的權(quán)限(它能否被調(diào)用)以及它的作用域(函數(shù)能使用什么范圍中的數(shù)據(jù)和函數(shù))。</p><p> switch(表達(dá)式)</p><p><b> { </b></p><p> case常量表達(dá)式1: 語句1;</p><p> case常量表達(dá)式2: 語句2;…</p><p>
9、 case常量表達(dá)式n: 語句n;</p><p> default : 語句n+1;</p><p><b> }</b></p><p> 其語義是:計(jì)算表達(dá)式的值。 并逐個(gè)與其后的常量表達(dá)式值相比較,當(dāng)表達(dá)式的值與某個(gè)常量表達(dá)式的值相等時(shí),即執(zhí)行其后的語句,然后不再進(jìn)行判斷,繼續(xù)執(zhí)行后面所有case后的語句。如表達(dá)式的值與所有cas
10、e后的常量表達(dá)式均不相同時(shí),則執(zhí)行default后的語句。</p><p><b> 2.2方法及原理</b></p><p> 圖書管理系統(tǒng)是實(shí)現(xiàn)對圖書的管理與查詢,具體包括對圖書的增加,刪除,查找,以及庫存量的查詢,還可以對以上信息進(jìn)行更新,修改,刪除和添加。</p><p> Class books ///
11、虛基類</p><p> { </p><p> protected:</p><p> books_node *broot;</p><p><b> publi
12、c:</b></p><p> books();//構(gòu)造函數(shù)</p><p> savebooks();//保存修改的內(nèi)容</p><p> search_book();//查找某一本書</p><p> print_books();//輸出所有書的信息</p><p> virtual add_
13、book()=0;//對于讀者是還書,對于管理員添加書</p><p> virtual delet_book()=0;//對于讀者是借書,對于管理員是去掉某一本書</p><p><b> };</b></p><p> Class manager:public books //管理員類
14、 </p><p><b> {</b></p><p> protected:</p><p> readers_node *rroot;</p><p><b> public:</b></p
15、><p> manager(readers_node*);</p><p> savereaders();</p><p> add_book();//添加圖書信息</p><p> delet_book();//刪除圖書</p><p> search_reader();//查找讀者信息</p>
16、<p> add_reader();//添加讀者</p><p> delet_reader();//刪除讀者</p><p> print_readers();//輸出所有讀者</p><p><b> };</b></p><p> class reader:public books{//讀者類&
17、lt;/p><p> private:readers_node* personnel;//存放讀者自身信息</p><p><b> public:</b></p><p> reader(readers_node*);</p><p> add_book();//還書</p><p> r
18、eader_borrow();</p><p> delet_book();</p><p> reader_return();//借書</p><p> print_me();//查看自己借書情況</p><p> save_readers(readers_node*);</p><p><b>
19、 };</b></p><p> 2.3 設(shè)計(jì)的思想原則</p><p> 隨著新世紀(jì)的到來,科學(xué)技術(shù)的突飛猛進(jìn),知識經(jīng)濟(jì)的日益發(fā)展,許多圖書管理系統(tǒng)已經(jīng)慢慢走向了老化。本系統(tǒng)正是針對這一現(xiàn)象設(shè)計(jì)了適應(yīng)學(xué)校管理的圖書管理系統(tǒng)。</p><p> 1.方便學(xué)生借書、還書、查找、統(tǒng)計(jì)等操作。</p><p> 2.可以自定義圖
20、書類別,讀者類別,方便添加圖書、管理圖書、添加讀者、管理讀者。</p><p> 3.提供完善的借書和還書操作。</p><p> 4.數(shù)據(jù)查詢?yōu)槟峁航栝喦闆r,書庫查詢,讀者查詢。</p><p><b> 3詳細(xì)設(shè)計(jì)和實(shí)現(xiàn)</b></p><p><b> 3.1 功能模塊</b>&l
21、t;/p><p><b> 借書</b></p><p> reader::delet_book() </p><p><b> {</b></p><p> if(personnel->reader_borrow_num<max)</p><p>
22、;<b> {</b></p><p> books_node*node;</p><p> node=new books_node;</p><p> node=broot->next;</p><p> char borrowed[15];</p><p> cout<
23、<"輸入要借書的名子:";</p><p> cin>>borrowed;</p><p> while(node)</p><p><b> {</b></p><p> if((strcmp(node->book_name,borrowed)==0))break;&
24、lt;/p><p> else node=node->next;</p><p><b> }</b></p><p> if(node&&(node->total_num-node->borrow_num)>0)</p><p><b> {</b>&l
25、t;/p><p> strcpy(personnel->reader_borrow_book[personnel->reader_borrow_num].borrow_books_name,node->book_name);</p><p> strcpy(personnel->reader_borrow_book[personnel->reader_borr
26、ow_num++].borrow_books_no,node->book_num);</p><p> node->borrow_num++;</p><p> savebooks();</p><p><b> }</b></p><p> else cout<<"對不起,沒有
27、你要借的書或者所要借的書已經(jīng)借完!"<<endl;</p><p><b> }</b></p><p> else cout<<"對不起,你借書的數(shù)量已經(jīng)超過最大借數(shù)量"<<endl;</p><p><b> }</b></p>&l
28、t;p> reader::print_me()</p><p><b> {</b></p><p> cout<<"姓名"<<personnel->reader_name<<" 編號:"<<personnel->reader_no<<&qu
29、ot; 借書總數(shù):"<<personnel->reader_borrow_num<<endl;</p><p> for(int i=0;i<personnel->reader_borrow_num;i++)</p><p><b> {</b></p><p> printf(&q
30、uot;書名:%s,書的編號:%s",personnel->reader_borrow_book[i].borrow_books_name,personnel->reader_borrow_book[i].borrow_books_no);</p><p><b> }</b></p><p><b> }</b><
31、;/p><p><b> 還書</b></p><p> reader::add_book()</p><p><b> {</b></p><p> books_node*node;</p><p> node=new books_node;</p>&
32、lt;p> node=broot->next;</p><p> char returned[15];</p><p> cout<<"輸入要還書的名子:";</p><p> cin>>returned;</p><p> for(int i=0;i<personnel
33、->reader_borrow_num;i++)</p><p><b> {</b></p><p> if((strcmp(returned,personnel->reader_borrow_book[i].borrow_books_name))==0)break;</p><p><b> }</b>
34、;</p><p> if(i==personnel->reader_borrow_num+1)</p><p><b> {</b></p><p> printf("不好意思,你沒有此書");system("pause");</p><p><b> }
35、</b></p><p><b> else{</b></p><p> while(node)</p><p><b> {</b></p><p> if((strcmp(node->book_name,returned)==0))break;</p>&
36、lt;p> else node=node->next;</p><p><b> }</b></p><p><b> if(node)</b></p><p><b> {</b></p><p> personnel->reader_borrow
37、_num--;</p><p> node->borrow_num--;</p><p> savebooks();</p><p><b> }</b></p><p> else cout<<"對不起,沒有你要還的書或者所還書被刪除"<<endl;</p
38、><p><b> }</b></p><p><b> }</b></p><p><b> 查找書</b></p><p> books::search_book()</p><p><b> {</b></p>
39、;<p> char searchedbook[15];</p><p> cout<<"輸入要查找的書的名子:";</p><p> cin>>searchedbook;</p><p> books_node *r;</p><p> r=new books_node;&
40、lt;/p><p> r=broot->next;</p><p><b> while(r)</b></p><p><b> {</b></p><p> if((strcmp(searchedbook,r->book_name))==0)</p><p>
41、;<b> {</b></p><p> cout<<"書名:"<<r->book_name<<" 書的總量:"<<r->total_num<<" 借出:"<<r->borrow_num<<"
42、 書的編號:"<<r->book_num<<endl;break;</p><p><b> }</b></p><p> r=r->next;</p><p><b> }</b></p><p> if(r==NULL)cout<&l
43、t;"對不起,沒有此書"<<endl;</p><p><b> }</b></p><p><b> 輸出所有</b></p><p> books::print_books()</p><p><b> {</b></p>
44、;<p> books_node *r;</p><p> r=new books_node;</p><p> r=broot->next;</p><p><b> while(r)</b></p><p><b> {</b></p><p&g
45、t; cout<<"書名:" <<r->book_name<<" 書的總量:"<<r->total_num<<" 借出:"<< r->borrow_num <<" 書的編號:"<<r->book_num<<endl;<
46、/p><p> r=r->next;</p><p><b> }</b></p><p><b> delete r;</b></p><p><b> }</b></p><p><b> 自身信息</b></
47、p><p> reader::print_me()</p><p><b> {</b></p><p> cout<<"姓名"<<personnel->reader_name<<" 編號:"<<personnel->reader_no&l
48、t;<" 借書總數(shù):"<<personnel->reader_borrow_num<<endl;</p><p> for(int i=0;i<personnel->reader_borrow_num;i++)</p><p><b> {</b></p><p>
49、printf("書名:%s,書的編號:%s",personnel->reader_borrow_book[i].borrow_books_name,personnel->reader_borrow_book[i].borrow_books_no);</p><p><b> }</b></p><p><b> }<
50、/b></p><p><b> 3.2系統(tǒng)流程圖</b></p><p><b> 圖3.2.1</b></p><p><b> 4調(diào)試與操作說明</b></p><p><b> 管理員身份登錄:</b></p><
51、p> 圖書維護(hù) :增加圖書,刪除圖書,查找圖書,輸出所有</p><p> 讀者維護(hù):增加讀者,刪除讀者,查找讀者,輸出所有</p><p> 這兩項(xiàng)由其他組員完成</p><p><b> 讀者身份登錄:</b></p><p><b> 圖4.1</b></p>&
52、lt;p><b> 用戶登錄</b></p><p><b> 圖4.2</b></p><p><b> 借書模塊</b></p><p><b> 圖4.3</b></p><p><b> 還書模塊</b><
53、;/p><p><b> 圖4.4</b></p><p><b> 查找書</b></p><p><b> 圖4.5</b></p><p><b> 輸出所有</b></p><p><b> 圖4.6<
54、/b></p><p><b> 自身信息</b></p><p><b> 圖4.7</b></p><p><b> 總結(jié)</b></p><p> 這次課程設(shè)計(jì)使我對做系統(tǒng)的認(rèn)識深刻了許多。雖然在整個(gè)設(shè)計(jì)過程中遇到很多問題不會解決,但在自己的努力以及同學(xué)
55、老師的幫助下,最終和同組伙伴一起完成了該系統(tǒng)。當(dāng)看到自己做的程序能運(yùn)行時(shí),心中充滿了成就感。在克服困難的過程中,對自己所學(xué)知識的掌握程度也有了比較清楚的了解。綜合起來,主要體現(xiàn)在以下幾個(gè)方面:</p><p> 首先,對數(shù)據(jù)結(jié)構(gòu),C++,C#的掌握還不夠。雖然完成了程序,但是只用到了基本的結(jié)點(diǎn)以及鏈表,在數(shù)據(jù)結(jié)構(gòu)的選擇上避重就輕,覆蓋面較小,不能很好的體現(xiàn)各種數(shù)據(jù)結(jié)構(gòu)的掌握度,同時(shí)也缺少了適當(dāng)?shù)腻憻?,在這方面還
56、需要自己主動去提高。</p><p> 其次,在程序整體的設(shè)計(jì)上還不夠完善,各模塊可以適當(dāng)增加內(nèi)容,界面還可以更加的人性化些,同時(shí)可考慮從面向?qū)ο蠓矫嫒胧郑@樣整個(gè)程序才具有更強(qiáng)的美觀性與實(shí)用性。</p><p> 最后,我覺得該程序還有很大的改進(jìn)空間,譬如可以用多文件做,這樣功能更強(qiáng)大,也便于以后更好地改進(jìn)和完善程序;而在程序的內(nèi)容方面,還能增加更多功能,以滿足不同需要的各種要求。&
57、lt;/p><p> 但是,值得欣慰的是,該程序基本完成里設(shè)計(jì)要求,并能順利運(yùn)行,界面清晰易理解,且具備各項(xiàng)基本功能,易于操作;而且代碼部分有注釋,簡單易懂。</p><p> 總而言之,這次課程設(shè)計(jì)給了我很大啟發(fā),我明白了,不管遇到什么問題,只要抓住根源,不氣餒,從不同方面去攻破它,終究會成功,生活也是如此。這次課程設(shè)計(jì)是我真正的去做的一個(gè)系統(tǒng),肯定會有很多不足,但是我很欣慰。</
58、p><p><b> 致謝</b></p><p> 本次課程設(shè)計(jì)中,我有通過自己的努力,但也得到了很多來自他方的幫助,在這里我要謝謝所有幫助過我的老師同學(xué)。</p><p> 首先,我要謝謝淮陰工學(xué)院計(jì)算機(jī)工程系給我提供了這次難得的實(shí)踐機(jī)會,以及實(shí)驗(yàn)室人員提供的方便舒適的實(shí)驗(yàn)環(huán)境!其次,我要謝謝這次課程設(shè)計(jì)的輔導(dǎo)老師夏森老師和江波老師給
59、予我的幫助和辛勤指導(dǎo),以及和我一起合作的同學(xué)的共同互助。在設(shè)計(jì)過程中,我遇到了諸多的困難與麻煩,如果沒有他們的悉心指導(dǎo)與共同研討,我也不能這么順利的完成本次的課程設(shè)計(jì),在這里衷心得對他們表示深深的謝意,謝謝!最后,我要謝謝我的其他同學(xué),多謝他們給我所提的建議以及他們給予我的幫助。</p><p> 當(dāng)然,在本次課程設(shè)計(jì)的完成過程中,我也參考了很多資料參考書,以及瀏覽了很多網(wǎng)站。所以我也要謝謝這些書籍的著作者,及
60、各網(wǎng)站提供信息的作者們。在這里還要特別謝謝www.baidu.com網(wǎng)站給我的指導(dǎo)和幫助。同時(shí)謝謝淮陰工學(xué)院圖書館,給我提供了豐富的書籍資料!</p><p><b> 參考文獻(xiàn)</b></p><p> 1 殷人昆主編.數(shù)據(jù)結(jié)構(gòu)(用面向?qū)ο蠓椒ㄅcC++語言描述).第2版.北京:清華大學(xué)出版社,2007</p><p> 2 寧正元,易金
61、聰.數(shù)據(jù)結(jié)構(gòu)習(xí)題解析與上機(jī)實(shí)驗(yàn)指導(dǎo).北京:中國水利水電出版社,2000</p><p> 3 吳乃陵,況迎輝.C++程序設(shè)計(jì).第2版.北京:高等教育出版社,2006</p><p> 4 揣錦華.面向?qū)ο蟪绦蛟O(shè)計(jì)與VC++實(shí)踐.西安:西安電子科技大學(xué)出版社,2005</p><p> 5 蘇仕華.?dāng)?shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì).機(jī)械工業(yè)出版社,2005</p>
62、<p> 6 李春葆,金晶.?dāng)?shù)據(jù)結(jié)構(gòu)教程.清華大學(xué)出版社,2006</p><p> 7揣錦華.面向?qū)ο蟪绦蛟O(shè)計(jì)與VC++實(shí)踐.西安電子科技大學(xué)出版社,2006</p><p> 8王曉東.數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì).電子工業(yè)出版社,2002</p><p> 9 陳慧南.數(shù)據(jù)結(jié)構(gòu)-使用C++語言描述.東南大學(xué)出版社,2001</p>&l
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c++課程設(shè)計(jì)報(bào)告書---圖書管理系統(tǒng)
- 圖書管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告書
- 圖書管理系統(tǒng)—課程設(shè)計(jì)報(bào)告
- 圖書管理系統(tǒng)-課程設(shè)計(jì)報(bào)告
- 圖書管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 圖書管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 圖書管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 圖書管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 圖書管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 圖書管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 圖書管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 圖書管理系統(tǒng)--jsp課程設(shè)計(jì)報(bào)告
- 學(xué)校圖書管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c課程設(shè)計(jì)報(bào)告-- 圖書管理系統(tǒng)
- 《圖書管理系統(tǒng)》課程設(shè)計(jì)
- 圖書管理系統(tǒng)課程設(shè)計(jì)
- 圖書管理系統(tǒng)課程設(shè)計(jì)
- 圖書管理系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)---圖書管理系統(tǒng)
- c語言課程設(shè)計(jì)報(bào)告~圖書管理系統(tǒng)
評論
0/150
提交評論