歡迎來(lái)到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁(yè) 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

《圖書(shū)管理系統(tǒng)》word版

  • 資源ID:127056195       資源大?。?span id="zh337rr" class="font-tahoma">11.71KB        全文頁(yè)數(shù):14頁(yè)
  • 資源格式: DOC        下載積分:8積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開(kāi)放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要8積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫(xiě)的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開(kāi),此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁(yè)到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無(wú)水印,預(yù)覽文檔經(jīng)過(guò)壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒(méi)有明確說(shuō)明有答案則都視為沒(méi)有答案,請(qǐng)知曉。

《圖書(shū)管理系統(tǒng)》word版

1、問(wèn)題描述:對(duì)一個(gè)有N本書(shū)籍的圖書(shū)館進(jìn)行計(jì)算機(jī)管理,通過(guò)該系統(tǒng)實(shí)現(xiàn)對(duì)該圖書(shū)圖的基本功能的管理,包括:增加新書(shū)、借書(shū)、還書(shū)、查詢書(shū)籍等操作。2、功能要求:1)本系統(tǒng)采用一個(gè)包含N個(gè)數(shù)據(jù)的結(jié)構(gòu)體數(shù)組,每個(gè)數(shù)據(jù)的結(jié)構(gòu)應(yīng)當(dāng)包括:書(shū)號(hào)、書(shū)名、作者姓名、借書(shū)證號(hào)、借還標(biāo)志、借還書(shū)日期等。2)本系統(tǒng)顯示這樣的菜單:請(qǐng)選擇系統(tǒng)功能項(xiàng):a. 增加新書(shū)b. 書(shū)籍查詢(1)按書(shū)號(hào)查詢(2)按書(shū)名查詢(3)按作者查詢c. 借還書(shū)(1)借書(shū)(2)還書(shū)d. 退出系統(tǒng)3)執(zhí)行一個(gè)具體的功能之后,程序?qū)⒅匦嘛@示菜單。也可以通過(guò)判斷“借書(shū)日期”的內(nèi)容是否為0來(lái)確定該書(shū)是否借出。3、算法提示:1、數(shù)據(jù)結(jié)構(gòu):結(jié)構(gòu)體類型數(shù)組2、數(shù)據(jù)庫(kù)結(jié)構(gòu):該系統(tǒng)的基本數(shù)據(jù)庫(kù)如下:書(shū)號(hào)書(shū)名作者姓名借書(shū)證號(hào)借書(shū)日期Charchar charCharchar4、測(cè)試數(shù)據(jù):圖書(shū)數(shù)N=5高級(jí)語(yǔ)言程序設(shè)計(jì)(2)課程設(shè)計(jì)?一 程序設(shè)計(jì)說(shuō)明書(shū)【設(shè)計(jì)題目】 圖書(shū)館借閱管理【問(wèn)題描述】圖書(shū)館,適合用C+面向?qū)ο蟮墓δ軄?lái)描述。圖書(shū)館管理系統(tǒng)分為借書(shū)、還書(shū)、圖書(shū)管理和讀者服務(wù)等四個(gè)部分。設(shè)計(jì)一個(gè)讀者類Reader,記錄每個(gè)讀者基本信息;讀者庫(kù)類Rdatabase,記錄所有讀者信息;圖書(shū)類Book, 記錄每本書(shū)的基本信息;圖書(shū)庫(kù)類Bdatabase, 記錄所有圖書(shū)信息。【基本要求】1讀者庫(kù)類RDatabase中,其構(gòu)造函數(shù)中,將read.txt文件中所有讀入讀者記錄rede中。處理完畢,在析構(gòu)函數(shù)中將read中的所有未刪記錄寫(xiě)入到read.txt中。2圖書(shū)庫(kù)類BDatabase中,其構(gòu)造函數(shù)中,將book.txt文件中所有讀入圖書(shū)記錄book中。處理完畢,在析構(gòu)函數(shù)中將book中的所有未刪記錄寫(xiě)入到book.txt中。3 利用構(gòu)造函數(shù)完成讀者和圖書(shū)數(shù)據(jù)初始化,完成內(nèi)存分配。程序結(jié)束前,析構(gòu)函數(shù)完成所申請(qǐng)的堆內(nèi)存空間。4 編寫(xiě)主函數(shù),對(duì)所編寫(xiě)的矩陣類進(jìn)行全面測(cè)試。要求用戶界面采用菜單方式。測(cè)試中需要讀者和圖書(shū)數(shù)據(jù)通過(guò)I/O流從磁盤(pán)文件讀入,同時(shí)顯示在屏幕上。得到的數(shù)據(jù)通過(guò)I/O流寫(xiě)入磁盤(pán)文件保存,同時(shí)顯示在屏幕上。5 源程序中要有充分的注釋,報(bào)告中要有詳細(xì)的流程圖和文字材料。【類的設(shè)計(jì)】該程序包含了四個(gè)類,如下:1. Reader類,有讀者的基本管理功能,具有以下私有數(shù)據(jù):int tag;/刪除標(biāo)記 1:已刪;0:未刪int no;/讀者編號(hào)char name10;/讀者姓名int borbookMaxbor;/所借圖書(shū)2. 讀者庫(kù)類Rdatabase, 具有以下私有數(shù)據(jù):int top;/讀者記錄指針Reader readMaxr;/讀者記錄3. 圖書(shū)庫(kù)類Book,有一本圖書(shū)的基本功能,有以下私有數(shù)據(jù):int tag;/刪除標(biāo)記 1:已刪;0:未刪int no;/圖書(shū)編號(hào)char name20;/書(shū)名int onshelf;/是否在架 1在架 0已借4. 圖書(shū)庫(kù)類BDatabase,有以下私有數(shù)據(jù):int top;/圖書(shū)記錄指針Book bookMaxb;/圖書(shū)記錄【特殊函數(shù)的設(shè)計(jì)說(shuō)明】構(gòu)造函數(shù)1. Reader類中構(gòu)造函數(shù)Reader(),初始化函數(shù);2. 讀者庫(kù)類RDatabase中,其構(gòu)造函數(shù)Rdatabase(),將read.txt文件中所有讀入讀者記錄rede中。3. Book類中構(gòu)造函數(shù)Book(),初始化函數(shù);4. 圖書(shū)庫(kù)類BDatabase中,其構(gòu)造函數(shù)中,將book.txt文件中所有讀入圖書(shū)記錄book中。?拷貝構(gòu)造函數(shù)Reader類中的拷貝構(gòu)造函數(shù)將getname()的返回值讀者姓名拷貝到setname()中,Book類中的拷貝構(gòu)造函數(shù)將getname()函數(shù)的返回值圖書(shū)名拷貝到圖書(shū)名設(shè)置函數(shù)setname()中。?析構(gòu)函數(shù)1. 讀者庫(kù)類RDatabase中,其析構(gòu)函數(shù)Rdatabase(),將read中的所有未刪記錄寫(xiě)入到read.txt中;2. 圖書(shū)庫(kù)類BDatabase中,其析構(gòu)函數(shù)Bdatabase(),將book中的所有未刪記錄寫(xiě)入到book.txt中。?運(yùn)算符重載重載了“=”,當(dāng)比較讀者編號(hào)和圖書(shū)編號(hào)時(shí),重載;重載位運(yùn)算符“”和“”等。?【主要函數(shù)算法流程圖】?【程序的使用方法】1. 進(jìn)入操作頁(yè)面,按提示操作;2. 首先,新增圖書(shū)和讀者信息,之后就可以對(duì)以存在的信息進(jìn)行操作;3. 操作當(dāng)中,可以隨時(shí)增加,更改和刪除圖書(shū)或讀者信息;4. 當(dāng)選擇退出時(shí),進(jìn)行清屏。?二 程序上機(jī)調(diào)試報(bào)告【語(yǔ)法錯(cuò)誤及其排除】1在敲程序時(shí),有很多拼寫(xiě)錯(cuò)誤,例好多處把Readdata()誤打Readdate();結(jié)束的分號(hào),在不同的輸入法狀態(tài)下輸入,這些小錯(cuò)誤剛開(kāi)始很難發(fā)現(xiàn),不過(guò)有了經(jīng)驗(yàn),就很容易了。2創(chuàng)建新的構(gòu)造函數(shù)時(shí),使用出現(xiàn)了錯(cuò)誤。重載構(gòu)造函數(shù)要注意函數(shù)的訪問(wèn)權(quán)限,結(jié)果就不會(huì)出現(xiàn)錯(cuò)誤?!舅惴ㄥe(cuò)誤及其排除】1. 讀者類中借書(shū)操作函數(shù)中,采用循環(huán)語(yǔ)句時(shí)判斷讀者已借圖書(shū)量時(shí)for(int i=0;i<Maxbor;i+)誤寫(xiě)為for(int i=1;i<Maxbor;i+),使循環(huán)發(fā)生錯(cuò)誤。2. 指針使用錯(cuò)誤,指針b和r混淆,導(dǎo)致編譯錯(cuò)誤得到“error C2660: 'retbook' : function does not take 1 parameters”錯(cuò)誤報(bào)告。三 程序測(cè)試結(jié)果【收獲及體會(huì)】除了課堂外,課程設(shè)計(jì)是最能學(xué)到東西的,最考驗(yàn)人的。在做課程設(shè)計(jì)這段時(shí)間,時(shí)刻都感覺(jué)自己有好多不懂,要學(xué)的太多了!經(jīng)過(guò)這次課程設(shè)計(jì),讓我對(duì)C+這門語(yǔ)言有了更深的認(rèn)識(shí),操作能力有了提高。要想得到敲的代碼運(yùn)行出來(lái)后的滿足感,需要耐心細(xì)心,毅力以及充沛的體力。只有經(jīng)過(guò)多次編輯,多次編譯,再多次運(yùn)行,才能編寫(xiě)出更好的程序,有時(shí)候需要多次的更正才達(dá)到所要的運(yùn)行結(jié)果。學(xué)習(xí)編程,需要多揣摩,實(shí)踐,實(shí)踐,再實(shí)踐,編程技能才能更上一層樓,此外還得多向高手請(qǐng)教!【源程序代碼】/*/圖書(shū)館借閱管理/班級(jí):/學(xué)號(hào):/姓名:/*#include<iostream.h>#include<iomanip.h>#include<string.h>#include<fstream.h>const int Maxr=1000;/最多的讀者const int Maxb=10000;/最多的圖書(shū)const int Maxbor=8;/每位讀者最多借8本書(shū)class Reader /讀者類int tag;/刪除標(biāo)記 1已刪;0未刪int no;/讀者編號(hào)char name10;/讀者姓名int borbookMaxbor;/所借圖書(shū)public :Reader()/構(gòu)造函數(shù)char *getname()return name;/獲取讀者姓名int gettag()return tag;/獲取刪除標(biāo)記int getno()return no;/獲取讀者編號(hào)void setname(char na)/設(shè)置讀者姓名strcpy(name,na);void delbook()tag=1;/設(shè)置刪除標(biāo)記void addreader(int n,char *na)/增加讀者tag=0;no=n;strcpy(name,na);for(int i=0;i<Maxbor;i+)borbooki=0;void borrowbook(int bookid)/借書(shū)操作for(int i=0;i<Maxbor;i+)if(borbooki=0)borbooki=bookid;int retbook(int bookid)/還書(shū)操作for(int i=0;i<Maxbor;i+)if (borbooki=bookid)borbooki=0;return 1;return 0;void disp()/輸出讀者信息cout<<setw(5)<<no<<setw(10)<<name<<"借書(shū)編號(hào):"for(int i=0;i,Maxbor;i+)if(borbooki!=0)cout<<borbooki<<endl;?class RDatabase/讀者庫(kù)類int top;/讀者記錄指針Reader readMaxr;/讀者記錄public:RDatabase()/構(gòu)造函數(shù),將reader.txt讀到read中Reader s;top=-1;fstream file("reader.txt",ios:in);while(1)file.read(char*)&s,sizeof(s);if(!file)break;top+;readtop=s;file.close();void clear()/刪除所有讀者信息top=-1;int addreader(int n,char *na)/添加讀者,檢查是否已存在Reader *p=query(n);if(p=NULL)top+;readtop.addreader(n,na);return 1;return 0;Reader*query(int readerid)/按編號(hào)查找for(int i=0;i<=top;i+)if(readi.getno()=readerid&&readi.gettag=0)return &readi;return NULL;void disp()/刪除讀者所有信息for(int i=0;i<=top;i+)readi.disp();void readerdata();/讀者庫(kù)維護(hù)RDatabase()/析構(gòu)函數(shù),將read寫(xiě)入reader.txt文件中fstream file("reader.txt",ios:out);for(int i=0;i<=top;i+)if(readi.gettag()=0)file.write(char*)&readi,sizeof(readi);file.close();void RDatabase:readerdata()int choice=1;char rname20;int readerid;Reader*r;while(choice!=0)cout<<"讀者服務(wù) 1新增 2更該 3刪除 4查找 5顯示 6全刪 0退出"<<endl;cin>>choice;switch(choice)case 1:cout<<"請(qǐng)輸入讀者編號(hào):"cin>>readerid;cout<<"讀入讀者姓名:"cin>>rname;addreader(readerid,rname);break;case 2:cout<<"請(qǐng)輸入讀者編號(hào):"cin>>readerid;r=query(readerid);if(r=NULL)cout<<"讀者不存在"<<endl;break;cout<<"請(qǐng)輸入新讀者姓名:"cin>>rname;r->setname(rname);break;case 3:cout<<"請(qǐng)輸入讀者編號(hào):"cin>>readerid;r=query(readerid);if(r=NULL)cout<<"讀者不存在"<<endl;break;r->delbook();break;case 4:cout<<"請(qǐng)輸入讀者編號(hào):"cin>>readerid;r=query(readerid);if(r=NULL)cout<<"該讀者編號(hào)不存在"<<endl;break;case 5:disp();break;case 6:clear();break;?class Book/圖書(shū)類int tag;/刪除標(biāo)記 1:已刪;0:未刪int no;/圖書(shū)編號(hào)char name20;/書(shū)名int onshelf;/是否在架 1在架 0已借public:Book()char*getname()return name;/獲取讀者姓名int getno()return no;/獲取圖書(shū)編號(hào)int gettag()return tag;/獲取刪除標(biāo)記void setname(char na)/設(shè)置書(shū)名strcpy(name,na);void delbook()tag=1;/刪除圖書(shū)void addbook(int n,char*na)/增加圖書(shū)tag=0;no=n;strcpy(name,na);onshelf=1;int borrowbook()/借書(shū)操作if(onshelf=1)onshelf=0;return 1;return 0;void retbook()/還書(shū)操作onshelf=1;void disp()/輸出圖書(shū)cout<<setw(6)<<no<<setw(18)<<name<<setw(10)<<(onshelf=1?"在架":"已借")<<endl;?class BDatabase/圖書(shū)庫(kù)類int top;/圖書(shū)記錄指針Book bookMaxb;/圖書(shū)記錄public:BDatabase()/構(gòu)造函數(shù),將book.txt讀到book中Book b;top=-1;fstream file("book.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)/增加圖書(shū)B(niǎo)ook*p=query(n);if(p=NULL)top+;booktop.addbook(n,na);return 1;cout<<"新增成功!"<<endl;Book*query(int bookid)/查找圖書(shū)for(int i=0;i<=top;i+)if(booki.getno()=bookid&&booki.gettag()=0)return NULL;void bookdata();/圖書(shū)庫(kù)維護(hù)void disp()for(int i=0;i<=top;i+)if(booki.gettag()=0)booki.disp();BDatabase()/析構(gòu)函數(shù),將book寫(xiě)入book.txt文件中fstream file("book.txt",ios:out);for (int i=0;i<=top;i+)if(booki.gettag()=0)file.write(char*)&booki,sizeof(booki);file.close();void BDatabase:bookdata()int choice;char bname40;int bookid;Book *b;while(choice!=0)cout<<"圖書(shū)管理 1新增 2更該 3刪除 4查找 5顯示 6全刪 0退出"<<endl;cin>>choice;switch(choice)case 1:cout<<"輸入圖書(shū)編號(hào):"cin>>bookid;cout<<"輸入圖書(shū)書(shū)名:"cin>>bname;addbook(bookid,bname);break;case 2:cout<<"輸入圖書(shū)編號(hào):"cin>>bookid;b=query(bookid);if(b=NULL)cout<<"該圖書(shū)不存在"<<endl;break;cout<<"輸入新書(shū)名:"cin>>bname;b->setname(bname);cout<<"更名成功!"<<endl;break;case 3:cout<<"輸入圖書(shū)編號(hào):"cin>>bookid;b=query(bookid);if(b=NULL)cout<<"該圖書(shū)不存在!"<<endl;break;b->delbook();break;case 4:cout<<"請(qǐng)輸入圖書(shū)編號(hào):"cin>>bookid;b=query(bookid);if(b=NULL)cout<<"該書(shū)不存在!"<<endl;break;b->disp();break;case 5:disp();break;case 6:clear();break;?void main()int choice=1,bookid,readerid;RDatabase ReaderDB;Reader *r;BDatabase BookDB;Book *b;while(choice!=0)cout<<" 1借書(shū)? "<<endl;cout<<" 2還書(shū)? "<<endl;cout<<" 3圖書(shū)維護(hù)? "<<endl;cout<<" 4讀者維護(hù)? "<<endl;cout<<" 0離開(kāi)? "<<endl;cin>>choice;switch(choice)case 1:cout<<"借書(shū),請(qǐng)輸入讀者編號(hào):"cin>>readerid;cout<<"圖書(shū)編號(hào):"cin>>bookid;r=ReaderDB.query(readerid);if(r=NULL)cout<<"哈哈,借書(shū)成功!"break;b=BookDB.query(bookid);if(b=NULL)cout<<"不存在該書(shū)!"<<endl;break;if(b->borrowbook()=0)cout<<"該書(shū)已借"<<endl;break;r->borrowbook(b->getno();break;cout<<"借書(shū)成功!"<<endl;case 2:cout<<"還書(shū),請(qǐng)輸入讀者編號(hào):"cin>>readerid;cout<<"請(qǐng)輸入圖書(shū)編號(hào);"cin>>bookid;r=ReaderDB.query(readerid);if(r=NULL)cout<<"不存在該讀者!"<<endl;break;b->retbook();r->retbook(b->getno();break;cout<<"還書(shū)成功!"<<endl;case 3:BookDB.bookdata();break;case 4:ReaderDB.readerdata();break;【輸出結(jié)果】1借書(shū)2還書(shū)3圖書(shū)管理4讀者服務(wù)0退出3圖書(shū)管理 1新增 2更該 3刪除 4查找 5顯示 6全刪 0退出1輸入圖書(shū)編號(hào):1111輸入圖書(shū)書(shū)名:武林外傳新增成功!圖書(shū)管理 1新增 2更該 3刪除 4查找 5顯示 6全刪 0退出1輸入圖書(shū)編號(hào):2222輸入圖書(shū)書(shū)名:今夜無(wú)眠新增成功!圖書(shū)管理 1新增 2更該 3刪除 4查找 5顯示 6全刪 0退出01借書(shū)2還書(shū)3圖書(shū)管理4讀者服務(wù)0退出4讀者服務(wù) 1新增 2更該 3刪除 4查找 5顯示 6全刪 0退出1請(qǐng)輸入讀者編號(hào):001讀入讀者姓名:周強(qiáng)讀者服務(wù) 1新增 2更該 3刪除 4查找 5顯示 6全刪 0退出01借書(shū)2還書(shū)3圖書(shū)管理4讀者服務(wù)0退出1借書(shū),請(qǐng)輸入讀者編號(hào):001圖書(shū)編號(hào):1111哈哈,借書(shū)成功! 1借書(shū)2還書(shū)3圖書(shū)管理4讀者服務(wù)0退出2還書(shū),請(qǐng)輸入讀者編號(hào):001請(qǐng)輸入圖書(shū)編號(hào);1111還書(shū)成功!1借書(shū)2還書(shū)3圖書(shū)管理4讀者服務(wù)0退出3圖書(shū)管理 1新增 2更該 3刪除 4查找 5顯示 6全刪 0退出2輸入圖書(shū)編號(hào):2222輸入新書(shū)名:金庸全集更名成功!Press any key to continue

注意事項(xiàng)

本文(《圖書(shū)管理系統(tǒng)》word版)為本站會(huì)員(dus****log)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!