版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、軟件課程設(shè)計指導(dǎo)書設(shè)計名稱:數(shù)據(jù)庫課程軟件設(shè)計班級:07級(2)班姓名:甄平指導(dǎo)教師:許四平組織單位:數(shù)理學(xué)院時間:2010-6-16黃石理工學(xué)院數(shù)理學(xué)院許四平第 頁2013-3-2411一課程設(shè)計目的軟件應(yīng)用課程設(shè)計是計算機及相關(guān)專業(yè)的實踐環(huán)節(jié)之一,是學(xué)習(xí)完面向?qū)ο蟪绦蛟O(shè)計課程后進行的一次全面的綜合練習(xí)。其目的在于鞏固和加深對C+語言課程的基本知識的理解和掌握;掌握C+語言編程和程序調(diào)試的基本技能;利用C+語言進行軟件設(shè)計的基本思路和方法;提高運用C+語言解決實際問題的能力。二課程設(shè)計任務(wù)與要求:1設(shè)計任務(wù)基本要求:1:工作人員登陸后,可以進行的操作(1)添加學(xué)生的信息(學(xué)號,姓名,院系,最
2、大借閱的圖書數(shù)量等);(2)修改學(xué)生的信息(學(xué)號,姓名,院系,最大借閱的圖書數(shù)量);(3)刪除學(xué)生的信息(學(xué)號,姓名,院系,最大借閱的圖書數(shù)量),如果某個學(xué)生退學(xué),就要清除他的信息;(4)查看學(xué)生的信息;(5)添加圖書的信息(圖書號,書名,作者,出版社,數(shù)量等);(6)修改圖書的信息(圖書號,書名,作者,出版社,數(shù)量等);(7)刪除圖書的信息(圖書號,書名,作者,出版社,數(shù)量等);(8)查看圖書的信息;2:學(xué)生登陸后,可以進行的操作(1)查看學(xué)生自己借閱的數(shù)目信息;(2)借閱圖書;(3)歸還圖書;備注:要求將學(xué)生和圖書信息存放到外存上,每次從外存讀取數(shù)據(jù)。2設(shè)計要求(1)對指導(dǎo)教師下達的題目進
3、行系統(tǒng)分析。(2)根據(jù)分析結(jié)果完成系統(tǒng)設(shè)計。(3)編程:在計算機上實現(xiàn)題目的代碼實現(xiàn)。(4)完成對該系統(tǒng)的測試和調(diào)試。(5)提交課程設(shè)計報告,課程設(shè)計報告內(nèi)容包括:需求分析、概要設(shè)計、詳細設(shè)計,調(diào)試與結(jié)果和設(shè)計心得體會五個部分。三.原始依據(jù)已完成C+語言課程學(xué)習(xí),有語言編程基礎(chǔ),能夠熟練運用C+語言進行程序設(shè)計。通過C+語言編寫實際應(yīng)用程序,提高用C+語言解決實際問題的能力。參考文獻:譚浩強等.面向?qū)ο蟪绦蛟O(shè)計.清華大學(xué)出版社,2006譚浩強等.面向?qū)ο蟪绦蛟O(shè)計上機與習(xí)題指導(dǎo).清華大學(xué)出版社,2006四課程設(shè)計說明書1.需求分析(1)問題描述設(shè)計一個C+數(shù)據(jù)庫管理程序,能夠維護圖書信息和讀者信
4、息及相應(yīng)的借書還書處理。(2)基本要求:1、管理員登錄后能夠管理所有的信息,學(xué)生登錄后只能查閱自己的借閱信息,并且能夠借書和還書。2、將學(xué)生和圖書信息存放到外存上,每次從外存讀取數(shù)據(jù)。(3)測試數(shù)據(jù)1、圖書信息圖書編號圖書名稱是否已借出1C+程序設(shè)計是2Java否2、讀者信息圖書編號學(xué)生姓名借書編號1readerl12reader22.概要設(shè)計1.數(shù)據(jù)結(jié)構(gòu)通過面向?qū)ο蟪绦蛟O(shè)計,分別設(shè)計圖書類Book和圖書數(shù)據(jù)庫類BDatabase,讀者類Reader和讀者數(shù)據(jù)庫類RDatabase,模塊清晰,結(jié)構(gòu)簡單,很容易達到設(shè)計要求。2.程序模塊及之間的調(diào)用關(guān)系3.詳細分析#include#include
5、#include#includevfstream/輸入/輸出文件流類usingnamespacestd;constintMaxr=100;最多的讀者constintMaxb=100;最多的圖書constintMaxbor=5;每位讀者最多借五本書/讀者類,實現(xiàn)對讀者的信息的描述classReaderprivate:inttag;/刪除標記1:已刪0:未刪intno;/讀者編號charname10;/讀者姓名intborbookMaxbor;所借圖書public:Reader()char*getname()returnname;/獲取姓名intgettag()returntag;/獲取刪除標記i
6、ntgetno()returnno;/獲取讀者編號intgetborbook(inti)returnborbooki;voidsetname(charna)/設(shè)置姓名strcpy(name,na);voiddelreader()tag=1;/設(shè)置刪除標記1:已刪0:未刪voidaddreader(intn,char*na)/增加讀者tag=0;no=n;strcpy(name,na);for(inti=0;iMaxbor;i+)borbooki=0;voidborrowbook(intbookid)/借書操作for(inti=0;iMaxbor;i+)if(borbooki=0)borbook
7、i=bookid;return;intretbook(intbookid)/還書操作for(inti=0;iMaxbor;i+)if(borbooki=bookid)borbooki=0;return1;return0;voiddisp()讀出讀者信息coutsetw(5)nosetw(10)namevv借書編號:;for(inti=0;iMaxbor;i+)if(borbooki!=0)coutborbooki|;coutendl;/讀者類庫,實現(xiàn)建立讀者的個人資料classRDatabaseprivate:inttop;/讀者記錄指針ReaderreadMaxr;讀者記錄public:RD
8、atabase()/構(gòu)造函數(shù),將reader.txt讀到read中Readers;top=-1;fstreamfile(reader.txt,ios:in);/打開一個輸入文件while(1)file.read(char*)&s,sizeof(s);if(!file)break;top+;readtop=s;file.close();/關(guān)閉reader.txtvoidclear()刪除所有讀者信息top=-1;intaddreader(intn,char*na)添加讀者時先查找是否存在Reader*p=query(n);if(p=NULL)top+;readtop.addreader(n,na
9、);return1;return0;Reader*query(intreaderid)/按編號查找for(inti=0;i=top;i+)if(readi.getno()=readerid&readi.gettag()=0)return&readi;returnNULL;voiddisp()/輸出所有讀者信息for(inti=0;i=top;i+)readi.disp();voidreaderdata();讀者庫維護RDatabase()析構(gòu)函數(shù),將read寫到reader.txt文件中fstreamfile(reader.txt,ios:out);for(inti=0;ichoice;swi
10、tch(choice)case1:coutvv輸入讀者編號:;cinreaderid;coutvv輸入讀者姓名:;cinrname;addreader(readerid,rname);break;case2:coutvv輸入讀者編號:;cinreaderid;r=query(readerid);if(r=NULL)coutvv該讀者不存在vvendl;break;coutrname;r-setname(rname);break;case3:coutreaderid;r=query(readerid);if(r=NULL)cout該讀者不存在delreader();break;case4:cou
11、treaderid;r=query(readerid);if(r=NULL)coutvv該讀者不存在vvendl;break;r-disp();break;case5:disp();break;case6:clear();break;default:coutvv輸入錯誤,請從新輸入:;classBookprivate:inttag;/刪除標記1:已借0:未借intno;圖書編號charname10;/圖書名public:Book()char*getname()returnname;/獲取姓名intgettag()returntag;/獲取刪除標記intgetno()returnno;voids
12、etname(charna)strcpy(name,na);voiddelbook()tag=1;/設(shè)置刪除標記1:已借0:未借intaddbook(intn,char*na)tag=0;no=n;strcpy(name,na);return0;intborrowbook()if(tag=1)return0;elsereturn1;intretbook()tag=0;return0;voiddisp()讀出讀者信息coutsetw(5)nosetw(10)name;if(tag=0)coutvvsetw(10)vv未借出vvendl;elsecoutvvsetw(10)vv已借出vvendl;
13、classBDatabaseprivate:inttop;BookbookMaxb;public:BDatabase()Bookb;top=-1;fstreamfile(book.txt,ios:in);/打開一個輸入文件while(1)file.read(char*)&b,sizeof(b);if(!file)break;top+;booktop=b;file.close();/關(guān)閉reader.txtvoidclear()top=-1;intaddbook(intn,char*na)Book*p=query(n);if(p=NULL)top+;booktop.addbook(n,na);r
14、eturn1;return0;Book*query(intbookid)/按編號查找for(inti=0;i=top;i+)if(booki.getno()=bookid)return&booki;returnNULL;voidbookdata();圖書庫維護voiddisp()for(inti=0;i=top;i+)booki.disp();BDatabase()析構(gòu)函數(shù),將book寫到book.txt文件中fstreamfile(book.txt,ios:out);for(inti=0;i=top;i+)file.write(char*)&booki,sizeof(booki);file.
15、close();voidBDatabase:bookdata()charchoice;charbname40;intbookid;Book*b;while(choice!=0)coutvvnnnttt圖書維護vvendlvvendl;coutchoice;switch(choice)case1:coutvv輸入圖書編號:;cinbookid;coutvv輸入圖書名稱:;cinbname;addbook(bookid,bname);break;case2:coutvv輸入圖書編號:vvendl;cinbookid;b=query(bookid);if(b=NULL)cout該圖書不存在endl;
16、break;coutbname;b-setname(bname);break;case3:coutvv讀入圖書編號:vvendl;cinbookid;b=query(bookid);if(b=NULL)coutvv該圖書不存在vvendl;break;b-delbook();break;case4:coutvv讀入圖書編號:vvendl;cinbookid;b=query(bookid);if(b=NULL)coutvv該圖書不存在vvendl;break;b-disp();break;case5:disp();break;case6:clear();break;default:coutvv輸
17、入錯誤,請從新輸入:;voidhelp()coutvvn本程序功能如下:vvendl;coutvv1:工作人員登陸后,可以進行的操作vvendl;coutvv(1)添加學(xué)生的信息(學(xué)號,姓名,院系,最大借閱的圖書數(shù)量等);vvendl;coutvv(2)修改學(xué)生的信息(學(xué)號,姓名,院系,最大借閱的圖書數(shù)量);vvendl;coutvv(3)刪除學(xué)生的信息(學(xué)號,姓名,院系,最大借閱的圖書數(shù)量),如果某個學(xué)生退學(xué),就要清除他的信息;vvendl;coutvv(4)查看學(xué)生的信息;vvendl;coutvv(5)添加圖書的信息(圖書號,書名,作者,出版社,數(shù)量等);vvendl;coutvv(6)
18、修改圖書的信息(圖書號,書名,作者,出版社,數(shù)量等);vvendl;coutvv(7)刪除圖書的信息(圖書號,書名,作者,出版社,數(shù)量等);vvendl;coutvv(8)查看圖書的信息;vvendl;coutvv(9)允許學(xué)生借書和還書;vvendl;coutvv2:學(xué)生登陸后,可以進行的操作vvendl;coutvv(1)查看學(xué)生自己借閱的數(shù)目信息;vvendl;coutvv(2)借閱圖書;vvendl;coutvv(3)vv歸還圖書;vvendl;coutvv!備注:要求將學(xué)生和圖書信息存放到外存上,每次從外存讀取數(shù)據(jù)?!眝vendl;coutvv*制作人.甄平*vvendl*coutv
19、v*設(shè)計日期.2010年6月16日*vvendl;/main()函數(shù)的實現(xiàn),程序的主界面的引導(dǎo)voidadminlogin()charchoice;intbookid,readerid;RDatabaseReaderDB;Reader*r;BDatabaseBookDB;Book*b;while(choice!=0)coutvvendlvvendlvvttt圖書管理系統(tǒng)nnn;coutvvttt1借書nnttt2還書nnttt3圖書維護5口代但4讀者維護nnttt5幫助文件nnttt0離開vvendl;cinchoice;switch(choice)case1:coutvv借書讀者編號:;ci
20、nreaderid;coutvv圖書編號:;cinbookid;r=ReaderDB.query(readerid);/按編號查找if(NULL=r)cout不存在該讀者,不能借書endl;break;b=BookDB.query(bookid);if(b=NULL)cout不存在該圖書,不能借書borrowbook()=0)cout該圖書已借出,不能借書borrowbook(b-getno();b-delbook();break;case2:coutvv還書n讀者編號:;cinreaderid;coutbookid;r=ReaderDB.query(readerid);if(r=NULL)c
21、out不存在該讀者,不能還書endl;break;b=BookDB.query(bookid);if(b=NULL)cout不存在該圖書,不能還書retbook();r-retbook(b-getno();break;case3:BookDB.bookdata();break;case4:ReaderDB.readerdata();break;case5:help();break;case0:break;default:coutvv輸入錯誤,請從新輸入:voidreaderlogin()inti;charchoice;intbookid,readerid;RDatabaseReaderDB;Reader*r;BDatabaseBookDB;Book*b;cinreaderid;r=ReaderDB.query(readerid);if(r!=NULL)while(choice!=0)coutvvendlvvendlvvttt讀者管理系統(tǒng)nn
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度網(wǎng)絡(luò)安全拓展合作協(xié)議書范本3篇
- 課程設(shè)計自動打標機
- 二零二五年度廢塑料瓶回收處理及循環(huán)利用合同3篇
- 舞伴匹配課程設(shè)計
- 二零二五年度景區(qū)道路路燈安裝服務(wù)合同范本2篇
- 貨運實訓(xùn)課程設(shè)計
- 苯酚丙酮課程設(shè)計
- 建筑公司安全技術(shù)措施管理制度(2篇)
- 2025年小學(xué)防溺水安全制度樣本(3篇)
- 2025年滬科新版九年級物理上冊階段測試試卷
- 世界十大物理學(xué)家圖文
- 門店營銷氛圍的重要性
- 三年級數(shù)學(xué)(上)計算題及答案集錦
- 科目余額表模板
- 【大單元教學(xué)】Unit 8 單元整體教學(xué)設(shè)計
- 學(xué)生自主管理實施方案10篇
- 亞朵酒店管理手冊
- 紀檢機關(guān)查辦案件分析報告
- 文化藝術(shù)中心行業(yè)技術(shù)創(chuàng)新及應(yīng)用
- 2024年航空職業(yè)技能鑒定考試-航空乘務(wù)員危險品歷年考試高頻考點試題附帶答案
- 精神病院設(shè)置可行性方案
評論
0/150
提交評論