c++課程設(shè)計(jì)圖書(shū)管理系統(tǒng)(完整版)_第1頁(yè)
c++課程設(shè)計(jì)圖書(shū)管理系統(tǒng)(完整版)_第2頁(yè)
c++課程設(shè)計(jì)圖書(shū)管理系統(tǒng)(完整版)_第3頁(yè)
c++課程設(shè)計(jì)圖書(shū)管理系統(tǒng)(完整版)_第4頁(yè)
c++課程設(shè)計(jì)圖書(shū)管理系統(tǒng)(完整版)_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、中南大學(xué)資源與安全工程學(xué)院課程設(shè)計(jì)報(bào)告課程名稱C+ 課程設(shè)計(jì)課題名稱圖書(shū)管理系統(tǒng)設(shè)計(jì)專業(yè)城市地下空間工程班級(jí)城地1001班學(xué) 號(hào) 07姓名彭xx指導(dǎo)教師 畢林2011年06 月26 日任務(wù)書(shū)下達(dá)日期 2011 年 06 月 20 日任務(wù)完成日期 2011 年 06 月 26 日題目三:圖書(shū)管理系統(tǒng)設(shè)計(jì)(一)、課程設(shè)計(jì)題目:圖書(shū)管理系統(tǒng)設(shè)計(jì)(二)、要求:使用二進(jìn)制文件方式存儲(chǔ)數(shù)據(jù),系統(tǒng)以菜單方式工作(三)、設(shè)計(jì)方法和基本原理:1、功能描述:( 1)新進(jìn)圖書(shū)基本信息的輸入。( 2)圖書(shū)基本信息的查詢。( 3)對(duì)撤消圖書(shū)信息的刪除。( 4)為借書(shū)人辦理注冊(cè)。( 5)辦理借書(shū)手續(xù)。( 6)辦理還書(shū)手續(xù)

2、。2、問(wèn)題的解決方案:根據(jù)系統(tǒng)功能要求,可以將問(wèn)題解決分為以下步驟:( 1)應(yīng)用系統(tǒng)分析,建立該系統(tǒng)的功能模塊框圖以及界面的組織和設(shè)計(jì);( 2)分析系統(tǒng)中的各個(gè)實(shí)體及它們之間的關(guān)系包括屬性和行為;3)根據(jù)問(wèn)題描述,設(shè)計(jì)系統(tǒng)的類(lèi)層次; 4)完成類(lèi)層次中各個(gè)類(lèi)的描述(包括屬性和方法); 5)完成類(lèi)中各個(gè)成員函數(shù)的定義; 6)完成系統(tǒng)的應(yīng)用模塊; 7)功能調(diào)試;8 )完成系統(tǒng)總結(jié)報(bào)告以及系統(tǒng)使用說(shuō)明書(shū)設(shè)計(jì)內(nèi)容與設(shè)計(jì)要求1.課程設(shè)計(jì)目的:從課程設(shè)計(jì)的實(shí)踐活動(dòng)中獲得知識(shí)提高。要求學(xué)生達(dá)到熟練掌握C+叫言的基本知識(shí)和技能;基本掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的思想和方法;能夠利用所學(xué)的基本知識(shí)和技能,解決簡(jiǎn)單的面向?qū)?/p>

3、象程序設(shè)計(jì)問(wèn)題,從而提高動(dòng)手編程解決實(shí)際問(wèn)題的能力。. 總體設(shè)計(jì)系統(tǒng)功能分析:系統(tǒng)通過(guò)調(diào)用函數(shù)來(lái)實(shí)現(xiàn)刪除圖書(shū)、讀者信息,添加圖書(shū)、讀者信息等功能。delbook( )函數(shù)用于刪除圖書(shū)信息; addbook( )函數(shù)用于增加圖書(shū)信息; borrowbook( )函數(shù)用于實(shí)現(xiàn)借書(shū)操作; returnbook( ) 函數(shù)用于實(shí)現(xiàn)還書(shū)操作等等;主函數(shù)用于掉用這些函數(shù)。系統(tǒng)功能模塊劃分與設(shè)計(jì)本系統(tǒng)定義了 Book類(lèi)、BDatebase類(lèi)、Reader類(lèi)、RDatebase類(lèi)這四個(gè)類(lèi),定義了addbook ( ) 、 addreader( ) 、 borrowbook ( ) 、 setname( ) 等

4、函數(shù)來(lái)實(shí)現(xiàn)系統(tǒng)所需功系統(tǒng)功能模塊圖:程序?qū)崿F(xiàn)功能退出程序刪除信息查詢信自心輸出顯示、乂件錄入讀者庫(kù)類(lèi)讀者類(lèi)圖書(shū)庫(kù)類(lèi)圖書(shū)類(lèi). 3.詳細(xì)設(shè)計(jì)讀者類(lèi)的設(shè)計(jì)該類(lèi)定義了借書(shū)操作,還書(shū)操作,設(shè)置讀者姓名等功能Reader+name20:char+no:int+tag:int+borbook:int+ getname():char+gettag():int+ getno():int+setname(char na):void+ delbook():void+ addreader(int n,char *na):void+ borrowbook(int bookid):void+ retbook(int bo

5、okid):int+ disp():void圖讀者庫(kù)類(lèi)類(lèi)的設(shè)計(jì)該類(lèi)實(shí)現(xiàn)了建立讀者的個(gè)人資料,刪除讀者信息,輸出讀者信息等功能。RDatebase+ top:int+ rname20:char+readerid:int+readerdata():void+choice:char+addreader(int n,char *na):int+clear():void+disp():void圖圖書(shū)類(lèi)的設(shè)計(jì)圖書(shū)類(lèi),可以實(shí)現(xiàn)對(duì)圖書(shū)的描述,圖書(shū)的編號(hào),書(shū)名,借出,還入等操作。Book+no:int+name20:char+onshelf:int+getname():char+getno():int+gett

6、ag():int+setname(char na):void+delbook():void+addbook():void+borrowbook():int+retbook():void +disp ():void圖書(shū)庫(kù)類(lèi)的設(shè)計(jì)Xingzhengrenyuan+top:int+clear():void+addbook(int n,char *na):int+bookdata():void+bookdata():void+ disp():void圖.調(diào)試與測(cè)試:系統(tǒng)調(diào)試在調(diào)試過(guò)程中,出現(xiàn)了一些錯(cuò)誤。1、輸入數(shù)據(jù)時(shí),輸錯(cuò)了數(shù)據(jù)的類(lèi)型會(huì)造成死循環(huán),因此輸入時(shí)需要注意開(kāi)始主界面輸入非正確數(shù)字時(shí),沒(méi)有提示

7、錯(cuò)誤。容易造成用戶誤解開(kāi)圖書(shū)管理系統(tǒng)1借書(shū)2還書(shū)3圖書(shū)維護(hù)4讀者維護(hù)0離開(kāi)在主函數(shù)的switch語(yǔ)句結(jié)束處加上default:cout 輸入錯(cuò)誤,請(qǐng)從新輸入:;就可以了,修改后:輸入錯(cuò)誤,清從新輸入:圖書(shū)管理系統(tǒng)1借書(shū)2還書(shū)?圖書(shū)維護(hù) 事讀者維護(hù)口離開(kāi)圖具體調(diào)試過(guò)程。主界面圖書(shū)管理系銃1借書(shū)2還書(shū) 口圖書(shū)維護(hù)4讀者維護(hù) 口離開(kāi)圖圖書(shū)維護(hù)圖書(shū)維護(hù)增改巽示母silt12 3 4 5 6 0圖讀者維護(hù)讀者維護(hù)1新增 Z更改3刪除 可查找 E顯示6全刪0退出圖.結(jié)果分析本程序總共設(shè)計(jì)了四個(gè)類(lèi),滿足了課題對(duì)類(lèi)的要求,在設(shè)計(jì)的過(guò)程中,建立了較為清晰的類(lèi)層次,也利用了面向?qū)ο蟮姆椒ㄒ约?C+勺編程思想來(lái)完成

8、系統(tǒng)的設(shè)計(jì),做 到了每個(gè)借閱者建立一個(gè)賬戶,賬戶中存儲(chǔ)借閱者的個(gè)人信息、借閱信息等要求。而 且界面美觀,容易操作。但是程序太長(zhǎng),不夠簡(jiǎn)練,導(dǎo)致出現(xiàn)錯(cuò)誤很難發(fā)現(xiàn)和修改。.總結(jié)感想和體會(huì):通過(guò)這次的課程設(shè)計(jì),讓我們充分的感覺(jué)到了要自己設(shè)計(jì)一個(gè)程序是多么的難, 以及學(xué)習(xí)好C+是多么的重要。在這個(gè)程序的設(shè)計(jì)過(guò)程中,我們清楚的意識(shí)到自己的水平有多么的薄弱,課程的 知識(shí)學(xué)得有多么的不扎實(shí)??淳W(wǎng)上的例子好像覺(jué)得也沒(méi)那么難,自己一上機(jī)實(shí)際操作就出現(xiàn)了很多問(wèn)題,調(diào)試的時(shí)候系統(tǒng)總是在報(bào)錯(cuò),還有很多警告,每增加一個(gè)函數(shù)就要調(diào)試好久,有時(shí)候應(yīng)為少了一個(gè)大括號(hào)或是分號(hào),導(dǎo)致要找很久很久。雖然系統(tǒng)可以運(yùn)行,也具有了一些基

9、本的功能,但我們意識(shí)到了自己有太多的不足。以后還會(huì)有很多的課程設(shè)計(jì),一定要吸取這次的教訓(xùn),把知識(shí)學(xué)懂學(xué)透學(xué)精,真正的為我所用,這樣走上社會(huì)我們才能真正的發(fā)揮所長(zhǎng)。我們?nèi)齻€(gè)人分工合作,組長(zhǎng)彭愛(ài)賢負(fù)責(zé)對(duì)程序的編譯,通過(guò)不斷的嘗試和學(xué)習(xí),最終制成程序的最初模式!謝經(jīng)緯負(fù)責(zé)對(duì)程序的修改。沈維健負(fù)責(zé)后期制作,總結(jié)組內(nèi)的制作經(jīng)驗(yàn)!通過(guò)努力,得以在規(guī)定的時(shí)間內(nèi)完成任務(wù)。這一次的C+硯程設(shè)計(jì)讓我們學(xué)到了很多知識(shí),懂得如何發(fā)現(xiàn)問(wèn)題,并解決!非常感謝老師及同學(xué)們的幫助,讓我們有這一個(gè)機(jī)會(huì)好好學(xué)習(xí)C+勺更廣泛的知識(shí)。、源程序清單:#include #include void setname(char na) ddr

10、eader(n,na); return 1;return 0;Reader *query(int readerid) etno()=readerid & readi.gettag()=0)return &readi; isp();void readerdata();RDatabase()fstream file(,ios:out); ettag()=0)(char *)&readi,sizeof(readi);();void RDatabase:readerdata()char choice;char rname20;int readerid;Reader *r;while (choice!=

11、0)cout nnttt 讀者維護(hù)nnntt 1新增nntt 2 更改nntt 3 刪除nntt 4 查 找nntt 5 顯 示nntt 6 全 刪nntt 0 退 出endl;ddbook(n,na,au,pr);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.g

12、ettag()=0)booki.disp();BDatabase()fstream file(,ios:out); ettag()=0)(char *)&booki,sizeof(booki);();void BDatabase:bookdata()char choice;char bauthor10;int bprice;char bname40;int bookid;Book *b;while (choice!=0)cout nnnttt 圖 書(shū) 維 護(hù) endlendl;couttt1 新增 n tt2 更改 ntt3 刪除 ntt4 查找 ntt5 顯示ntt6 全刪ntt0 退出 c

13、hoice;switch (choice)case 1:cout 輸入圖書(shū)編號(hào): bookid;cout 輸入圖書(shū)書(shū)名: bname; coutbauthor;coutbprice;addbook(bookid,bname,bauthor,bprice);break; / 結(jié)束循環(huán)case 2:cout 輸入圖書(shū)編號(hào): bookid;b=query(bookid);if (b=NULL)cout 該圖書(shū)不存在endl;break;cout 輸入新的書(shū)名 : bname;b-setname(bname);break;case 3:cout 讀入圖書(shū)編號(hào): bookid;b=query(booki

14、d);if (b=NULL)cout 該圖書(shū)不存在 delbook();break;case 4:cout 讀入圖書(shū)編號(hào): bookid;b=query(bookid);if (b=NULL)cout 該圖書(shū)不存在disp();break;case 5:disp();break;case 6:clear();break;default:cout 輸入錯(cuò)誤,請(qǐng)從新輸入:;void main() / 主函數(shù)char choice;int bookid,readerid;RDatabase ReaderDB;Reader *r;BDatabase BookDB;Book *b;while(choice!=0)cout endlendlttt 圖書(shū)管理系統(tǒng)nnn;cout ttt1 借書(shū) nnttt2 還書(shū) nnttt3 圖書(shū)維護(hù)nnttt4讀者維護(hù)nnttt0離開(kāi) choice;switch (choice)case 1:cout readerid;II.cout bookid; r=(readerid);if (NULL=r) cout 不存在該讀者,不能借書(shū) endl; break;b=(bookid);if (b=NULL) cout 不存在該圖書(shū),不能借書(shū) borrowbook()=0)cout 該圖書(shū)已借出,不能借書(shū) borrowbook(

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論