版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上 C+語言程序課 程 設(shè) 計(jì) 報(bào) 告課程設(shè)計(jì)題目:圖書信息管理系統(tǒng) 學(xué) 號(hào):姓 名:施 敏專 業(yè):軟件工程(電子商務(wù))班 級(jí):指導(dǎo)教師:許志文 2010年 12 月 31 日圖書管理系統(tǒng)一.設(shè)計(jì)目的:圖書館是目前生活中除了網(wǎng)絡(luò)外的另一個(gè)獲取知識(shí)的重要場所。利用圖書管理系統(tǒng)對(duì)圖書記錄進(jìn)行統(tǒng)一管理,包括新增圖書記錄,更改圖書記錄,刪除圖書記錄等功能,實(shí)現(xiàn)圖書管理工作的系統(tǒng)化,規(guī)范化和自動(dòng)化,為圖書管理提供便利。同時(shí)是學(xué)習(xí)完面向?qū)ο蟪绦蛟O(shè)計(jì)課程后進(jìn)行的一次全面的綜合練習(xí)。有助于加深對(duì)面向?qū)ο蟪绦蛟O(shè)計(jì)中基礎(chǔ)理論和基本知識(shí)的理解,培養(yǎng)了實(shí)踐能力,促進(jìn)理論與實(shí)踐的結(jié)合。二.設(shè)計(jì)要
2、求:1.圖書信息包括:登錄號(hào)、書名、作者名、分類號(hào)、出版單位、出版時(shí)間、價(jià)格等。試設(shè)計(jì)一圖書信息管理系統(tǒng),使之能提供以下功能:2.系統(tǒng)以菜單方式工作v3.圖書信息錄入功能(圖書信息用文件保存)輸入v4.圖書信息瀏覽功能輸出v5.查詢和排序功能:(至少一種查詢方式)算法v6.按書名查詢7.按作者名查詢8.圖書信息的刪除與修改(可選項(xiàng))v三.設(shè)計(jì)方案及流程圖:1、類的設(shè)計(jì)、Book類的設(shè)計(jì)(內(nèi)部函數(shù)流程圖):Class Book獲取圖書類型獲取書名獲取圖書編號(hào)獲取刪除標(biāo)志設(shè)置書名設(shè)置類型刪除圖書增加圖書輸出圖書、BDatabase類的設(shè)計(jì):Class BDatabase圖書記錄刪除全部記錄增加記錄
3、查找圖書記錄圖書庫(函數(shù))、主函數(shù)流程圖:四、程序源代碼:#define StrNum 20#define Type 20#include #include #include #include /輸入/輸出文件流類using namespace std;const int Maxb=100; /最多可存儲(chǔ)的圖書class Bookprivate: int lab; /刪除標(biāo)記int num; /圖書編號(hào)int add; /增加標(biāo)記char numberStrNum; /編號(hào)char booknameStrNum; /書名char bookkindType; /圖書類型public:Book()
4、char getkind() /獲取圖書類型return bookkindType; char getname() /獲取書名 return booknameStrNum; int getnum() /獲取圖書編號(hào) return num; int getlab() /獲取刪除標(biāo)記 return lab;void setname(char na) /設(shè)置書名strcpy(bookname,na);void setkind(char kin) /設(shè)置類型strcpy(bookkind,kin);void delbook() /刪除圖書lab=1;void addbook(int n,char *n
5、a,char *kin) /增加圖書lab=0;num=n;strcpy(bookname,na);strcpy(bookkind,kin);void disp() /輸出圖書cout.flags (ios:left); /設(shè)置對(duì)齊的標(biāo)志位為左coutsetw(15)numsetw(20)booknamesetw(15)bookkindendl;class BDatabaseprivate: int top; Book bookMaxb; /圖書記錄public:BDatabase() /構(gòu)造函數(shù),將book.txt讀到book中 Book b;top=-1;fstream file(book
6、.txt,ios:in);while (1)file.read(char *)&b,sizeof(b);if (!file) break;top+;booktop=b;file.close(); void clear() /全刪top=-1; int addbook(int n,char *na,char *kin) /增加圖書Book *p=query(n);if(NULL=p)top+;booktop.addbook(n,na,kin);return 1;return 0;Book *query(int bookid) /查找圖書for (int i=0;i=top;i+)if (book
7、i.getnum()=bookid &booki.getlab()=0)return &booki;return NULL; void disp() /圖書庫 for (int i=0;i=top;i+) if (booki.getlab()=0) booki.disp();BDatabase() /析構(gòu)函數(shù),將book寫到book.txt文件中,實(shí)現(xiàn)文本的寫入fstream file(book.txt,ios:out); for (int i=0;i=top;i+)if (booki.getlab()=0)file.write(char *)&booki,sizeof(booki);file
8、.close();void main() BDatabase BookDB; char choice;char bname40;char bkind40;char newType20;int bookid;Book *b;while (choice!=0) coutt*n;cout nn;coutttt圖 書 管 理 系 統(tǒng)nn;coutttt1 新增圖書記錄n; coutttt2 更改圖書記錄n; coutttt3 刪除圖書記錄n;coutttt4 查找圖書記錄n;coutttt5 顯示圖書記錄n;coutttt6 清空全部記錄(慎用)n;coutttt0 退出系統(tǒng)n;cout nn;cou
9、tt*n; coutchoice;switch (choice) case 1:cout輸入圖書編號(hào):bookid;cout輸入圖書類型:newType; cout輸入圖書書名:bname;BookDB.addbook(bookid,bname,newType);break; case 2:cout輸入圖書編號(hào):bookid;b=BookDB.query(bookid);if(b=NULL)cout該圖書不存在endl; break;cout輸入新的書名:bname;b-setname(bname);cout輸入新的類型:bkind;b-setkind(bkind); break; case
10、3: cout讀入圖書編號(hào):bookid;b=BookDB.query(bookid);if(b=NULL) cout該圖書不存在endl; break;char tg1;cout確定要?jiǎng)h除此記錄嗎?(Y/N)tg1;if(tg1!=n&tg1!=N)b-delbook();cout已成功刪除該書記錄!endl;break;case 4:cout讀入圖書編號(hào):bookid;b=BookDB.query(bookid);if (b=NULL)cout該圖書不存在endl;break;coutdisp();break;case 5:coutdisp();break;case 6: char tg2;cout確定要清空所有記錄嗎?(Y/N)tg2;if(tg2!=n&tg2!=N)BookDB.clear(); cout已成功清空記錄!endl;break;case 0:break;default:cout輸入錯(cuò)誤,請從新輸入(數(shù)字為06):;五.總結(jié):本系統(tǒng)實(shí)現(xiàn)了圖書管理系統(tǒng)的典型功能,包括查詢所有記錄的信息,添加查找等功能,基本符合設(shè)計(jì)要求,利用類的封裝實(shí)現(xiàn)了一定的安全性,函數(shù)的實(shí)現(xiàn)與調(diào)用在主函數(shù)中實(shí)現(xiàn)。但在記錄查詢上仍有缺陷,有待于完善。六、實(shí)驗(yàn)心得:1、通過實(shí)驗(yàn)加深了對(duì)c+的了解,在程序設(shè)計(jì)上提高了自己的動(dòng)手能力,在實(shí)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度滑雪場設(shè)施裝修安全防護(hù)合同3篇
- 2025年度早餐店加盟連鎖承包合同范本4篇
- 2025年度智能車間承包環(huán)保技術(shù)改造協(xié)議4篇
- 2024-2028年中國無線電接收機(jī)行業(yè)發(fā)展前景預(yù)測及投資戰(zhàn)略規(guī)劃研究報(bào)告
- 中國太陽能空調(diào)項(xiàng)目可行性研究報(bào)告建議書
- 2025年度個(gè)人二手房定金買賣合同書標(biāo)準(zhǔn)化版2篇
- 2025年度個(gè)人借款聯(lián)保合同(附財(cái)產(chǎn)抵押)4篇
- 2025年山東國新抱犢食品有限公司招聘筆試參考題庫含答案解析
- 二零二五版苗木種植基地水資源利用與節(jié)水技術(shù)合同4篇
- 2025年寧夏昊陽資產(chǎn)管理有限公司招聘筆試參考題庫含答案解析
- 公司組織架構(gòu)圖(可編輯模版)
- 1汽輪機(jī)跳閘事故演練
- 陜西省銅川市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會(huì)明細(xì)
- 禮品(禮金)上交登記臺(tái)賬
- 普通高中英語課程標(biāo)準(zhǔn)詞匯表
- 北師大版七年級(jí)數(shù)學(xué)上冊教案(全冊完整版)教學(xué)設(shè)計(jì)含教學(xué)反思
- 2023高中物理步步高大一輪 第五章 第1講 萬有引力定律及應(yīng)用
- 青少年軟件編程(Scratch)練習(xí)題及答案
- 浙江省公務(wù)員考試面試真題答案及解析精選
- 系統(tǒng)性紅斑狼瘡-第九版內(nèi)科學(xué)
- 全統(tǒng)定額工程量計(jì)算規(guī)則1994
評(píng)論
0/150
提交評(píng)論