版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上 C+語(yǔ)言程序課 程 設(shè) 計(jì) 報(bào) 告課程設(shè)計(jì)題目:圖書信息管理系統(tǒng) 學(xué) 號(hào):姓 名:施 敏專 業(yè):軟件工程(電子商務(wù))班 級(jí):指導(dǎo)教師:許志文 2010年 12 月 31 日?qǐng)D書管理系統(tǒng)一.設(shè)計(jì)目的:圖書館是目前生活中除了網(wǎng)絡(luò)外的另一個(gè)獲取知識(shí)的重要場(chǎng)所。利用圖書管理系統(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、查找圖書記錄圖書庫(kù)(函數(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() /圖書庫(kù) 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ò)誤,請(qǐng)從新輸入(數(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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 策劃公司前臺(tái)工作總結(jié)
- 運(yùn)輸物流行業(yè)顧問工作總結(jié)
- 2024新年寄語(yǔ)匯編(32篇)
- 制冷技術(shù)轉(zhuǎn)讓協(xié)議書(2篇)
- 創(chuàng)業(yè)合作投資協(xié)議書(2篇)
- 2024年計(jì)算機(jī)專業(yè)實(shí)習(xí)心得體會(huì)
- 易錯(cuò)點(diǎn)08 中國(guó)近代史時(shí)間問題-備戰(zhàn)2023年中考?xì)v史考試易錯(cuò)題(解析版)
- 地理中國(guó)的世界遺產(chǎn)課件中圖版選修
- 2025屆陜西省咸陽(yáng)市武功縣中考生物全真模擬試題含解析
- 《公共政策過程》課件
- 2025年中國(guó)煙草總公司湖北省公司校園招聘227人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2024版帶貨主播電商平臺(tái)合作服務(wù)合同范本3篇
- 2025公司資產(chǎn)劃轉(zhuǎn)合同
- 2024-2030年中國(guó)鋁汽車緊固件行業(yè)銷售規(guī)模與盈利前景預(yù)測(cè)報(bào)告
- 廣東省清遠(yuǎn)市2023-2024學(xué)年高一上學(xué)期期末質(zhì)量檢測(cè)物理試題(解析版)
- 2024-2025學(xué)年人教版數(shù)學(xué)五年級(jí)上冊(cè)期末檢測(cè)試卷(含答案)
- 《外盤期貨常識(shí)》課件
- 【MOOC】土力學(xué)-西安交通大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 醫(yī)院醫(yī)??乒ぷ骺偨Y(jié)
- 2024-2025學(xué)年譯林版八年級(jí)英語(yǔ)上學(xué)期重點(diǎn)詞匯短語(yǔ)句子歸納【考點(diǎn)清單】
- 2024年企業(yè)采購(gòu)部年終總結(jié)及今后計(jì)劃(3篇)
評(píng)論
0/150
提交評(píng)論