圖書管理系統(tǒng)實(shí)驗(yàn)報告_第1頁
圖書管理系統(tǒng)實(shí)驗(yàn)報告_第2頁
圖書管理系統(tǒng)實(shí)驗(yàn)報告_第3頁
圖書管理系統(tǒng)實(shí)驗(yàn)報告_第4頁
圖書管理系統(tǒng)實(shí)驗(yàn)報告_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

圖書管理系統(tǒng)實(shí)驗(yàn)報告(2)數(shù)據(jù)分析根據(jù)問題描述確定圖書信息包括:書名,編號;借閱者的信息有:姓名,編號;借書信息包括:讀者信息,書籍信息。第三章編程實(shí)現(xiàn)#include<iostream>#include<iomanip>#include<cstring>#include<fstream>#include<stdlib.h>usingnamespacestd;constintReader=100;//給讀者分配儲存空間constintMaxb=100;//給圖書分配儲存空間constintBor=5;classStudent{private:inttag;intnumber;charname[10];//讀者名稱intborbook[Bor];public:Student({}char*getname({returnname;}intgettag({returntag;}intgetnumber({returnnumber;}voidsetname(char*na){strcpy(name,na);}voiddelbook({tag=1;}voidaddStudent(intn,char*na){tag=0;number=n;strcpy(name,na);for(inti=0;i<Bor;i++)borbook[i]=0;}voidborrowbook(intbookid)//借書操作{for(inti=0;i<Bor;i++){if(borbook[i]==0){borbook[i]=bookid;return;}}}intretbook(intbookid)//還書操作{for(inti=0;i<Bor;i++){if(borbook[i]==bookid){borbook[i]=0;return1;}}return0;}voidoutput(//讀出讀者信息{cout<<setw(5)<<number<<setw(10)<<name<<"借書編號:[";for(inti=0;i<Bor;i++)if(borbook[i]!=0)cout<<borbook[i]<<"|";cout<<"]"<<endl;}};classRData{private:inttop;//讀者記錄指針Studentread[Reader];public:RData(//構(gòu)造函數(shù),將Student.txt讀到read[]中{Students;top=-1;fstreamfile("Student.txt",ios::in);//打開一個輸入文件while(1){file.read((char*)&s,sizeof(s));if(!file)break;top++;read[top]=s;}file.close(;}voidclear({top=-1;}intaddStudent(intn,char*na)//查找是否存在{Student*p=equal(n);if(p==NULL){top++;read[top].addStudent(n,na);return1;}return0;}Student*equal(intStudentid)//按編號查找{for(inti=0;i<=top;i++)if(read[i].getnumber(==Studentid&&read[i].gettag(==0){return&read[i];}returnNULL;}voidoutput({for(inti=0;i<=top;i++)read[i].output(;}voidStudentdata(;//讀者庫維護(hù)~RData(//析構(gòu)函數(shù),將read[]寫到Student.txt文件中{fstreamfile("Student.txt",ios::out);for(inti=0;i<=top;i++)if(read[i].gettag(==0)file.write((char*)&read[i],sizeof(read[i]));file.close(;}};voidRData::Studentdata({charchoice;charrname[20];intStudentid;Student*r;while(choice!='0'){cout<<"┏━━━━━━━━━━━━━┓\n";cout<<"┃讀者維護(hù)┃\n";cout<<"┃━━━━━━━━━━━━━┃\n";cout<<"┃1.新增┃\n";cout<<"┃━━━━━━━━━━━━━┃\n";cout<<"┃2.更改┃\n";cout<<"┃━━━━━━━━━━━━━┃\n";cout<<"┃3.刪除┃\n";cout<<"┃━━━━━━━━━━━━━┃\n";cout<<"┃4.查找┃\n";cout<<"┃━━━━━━━━━━━━━┃\n";cout<<"┃5.顯示┃\n";cout<<"┃━━━━━━━━━━━━━┃\n";cout<<"┃6.全刪┃\n";cout<<"┃━━━━━━━━━━━━━┃\n";cout<<"┃0.退出┃\n";cout<<"┗━━━━━━━━━━━━━┛\n";cin>>choice;switch(choice){case'1':cout<<"輸入讀者編號:";cin>>Studentid;cout<<"輸入讀者姓名:";cin>>rname;addStudent(Studentid,rname);break;case'2':cout<<"輸入讀者編號:";cin>>Studentid;r=equal(Studentid);if(r==NULL){cout<<"該讀者不存在"<<endl;break;}cout<<"輸入新的姓名:";cin>>rname;r->setname(rname);break;case'3':cout<<"輸入讀者編號:";cin>>Studentid;r=equal(Studentid);if(r==NULL){cout<<"該讀者不存在"<<endl;break;}r->delbook(;break;case'4':cout<<"讀入讀者編號:";cin>>Studentid;r=equal(Studentid);if(r==NULL){cout<<"該讀者不存在"<<endl;break;}r->output(;break;case'5':output(;break;case'6':clear(;break;default:cout<<"退出:\n";system("cls");break;}}}classBook//圖書信息{private:inttag;intnumber;charname[20];//書名分配空間intonshelf;public:Book({}char*getname({returnname;}intgetnumber({returnnumber;}intgettag({returntag;}voidsetname(charna[]){strcpy(name,na);}voiddelbook({tag=1;}voidaddbook(intn,char*na){tag=0;number=n;strcpy(name,na);onshelf=1;}intborrowbook(//借書操作{if(onshelf==1){onshelf=0;return1;}return0;}voidretbook(//還書操作{onshelf=1;}voidoutput(//輸出圖書{cout<<setw(6)<<number<<setw(18)<<name<<setw(10)<<(onshelf==1?"在架":"已借")<<endl;}};classBDatabase{private:inttop;Bookbook[Maxb];//圖書記錄public:BDatabase(//構(gòu)造函數(shù),將book.txt讀到book[]中{Bookb;top=-1;fstreamfile("book.txt",ios::in);while(1){file.read((char*)&b,sizeof(b));if(!file)break;top++;book[top]=b;}file.close(;}voidclear({top=-1;}intaddbook(intn,char*na){Book*p=equal(n);if(NULL==p){top++;book[top].addbook(n,na);return1;}return0;}Book*equal(intbookid){for(inti=0;i<=top;i++)if(book[i].getnumber(==bookid&&book[i].gettag(==0){return&book[i];}returnNULL;}voidbookdata(;voidoutput({for(inti=0;i<=top;i++)if(book[i].gettag(==0)book[i].output(;}~BDatabase(//析構(gòu)函數(shù),將book[]寫到book.txt文件中{fstreamfile("book.txt",ios::out);for(inti=0;i<=top;i++)if(book[i].gettag(==0)file.write((char*)&book[i],sizeof(book[i]));file.close(;}};voidBDatabase::bookdata({charchoice;charbname[40];intbookid;Book*b;while(choice!='0'){cout<<"┏━━━━━━━━━━━━━┓\n";cout<<"┃圖書維護(hù)┃\n";cout<<"┃━━━━━━━━━━━━━┃\n";cout<<"┃1.新增┃\n";cout<<"┃━━━━━━━━━━━━━┃\n";cout<<"┃2.更改┃\n";cout<<"┃━━━━━━━━━━━━━┃\n";cout<<"┃3.刪除┃\n";cout<<"┃━━━━━━━━━━━━━┃\n";cout<<"┃4.查找┃\n";cout<<"┃━━━━━━━━━━━━━┃\n";cout<<"┃5.顯示┃\n";cout<<"┃━━━━━━━━━━━━━┃\n";cout<<"┃6.全刪┃\n";cout<<"┃━━━━━━━━━━━━━┃\n";cout<<"┃0.退出┃\n";cout<<"┗━━━━━━━━━━━━━┛\n";cin>>choice;switch(choice){case'1':cout<<"輸入圖書編號:"<<endl;cin>>bookid;cout<<"輸入圖書書名:"<<endl;cin>>bname;addbook(bookid,bname);break;case'2':cout<<"輸入圖書編號:"<<endl;cin>>bookid;b=equal(bookid);if(b==NULL){cout<<"該圖書不存在"<<endl;break;}cout<<"輸入新的書名:"<<endl;cin>>bname;b->setname(bname);break;case'3':cout<<"讀入圖書編號:"<<endl;cin>>bookid;b=equal(bookid);if(b==NULL){cout<<"該圖書不存在"<<endl;break;}b->delbook(;break;case'4':cout<<"讀入圖書編號:"<<endl;cin>>bookid;b=equal(bookid);if(b==NULL){cout<<"該圖書不存在"<<endl;break;}b->output(;break;case'5':output(;break;case'6':clear(;break;default:cout<<"退出\n";system("cls");break;}}}intmain({charchoice;intbookid,Studentid;RDataStudentDB;Student*r;BDatabaseBookDB;Book*b;while(choice!='0'){cout<<"┏━━━━━━━━━━━━━┓\n";cout<<"┃圖書管理系統(tǒng)┃\n";cout<<"┃━━━━━━━━━━━━━┃\n";cout<<"┃1.借書┃\n";cout<<"┃━━━━━━━━━━━━━┃\n";cout<<"┃2.還書┃\n";cout<<"┃━━━━━━━━━━━━━┃\n";cout<<"┃3.圖書維護(hù)┃\n";cout<<"┃━━━━━━━━━━━━━┃\n";cout<<"┃4.讀者維護(hù)┃\n";cout<<"┃━━━━━━━━━━━━━┃\n";cout<<"┃0.退出┃\n";cout<<"┗━━━━━━━━━━━━━┛\n";cin>>choice;switch(choice){case'1':system("cls");cout<<"借書讀者編號:";cin>>Studentid;cout<<"圖書編號:";cin>>bookid;r=StudentDB.equal(Studentid);//按編號查找if(NULL==r){cout<<"不存在該讀者,不能借書"<<endl;break;}b=BookDB.equal(bookid);if(b==NULL){cout<<"不存在該圖書,不能借書"<<endl;break;}if(b->borrowbook(==0){cout<<"該圖書已借出,不能借書"<<endl;break;}r->borrowbook(b->getnumber();system("cls");break;case'2':system("cls");cout<<"還書\n讀者編號:";cin>>Studentid;cout<<"圖書編號:";cin>>bookid;r=StudentDB.equal(Studentid);if(r==NULL){cout<<"不存在該讀者,不能還書"<<endl;break;}b=BookDB.equal(bookid);if(b==NULL){cout<<"不存在該圖書,不能還書"<<endl;break;}b->retbook(;r->retbook(b->getnumber();break;case'3':system("cls");BookDB.bookdata(;break;case'4':system("cls");StudentDB.Studentdata(;break;default:cout<<"退出\n";}}}。第四章總結(jié)圖書館管理系統(tǒng)的學(xué)習(xí)是對我近期的學(xué)習(xí)成果的綜合考驗(yàn),說實(shí)話對我來說確實(shí)是很困難,第一次使用對一個程序修改這么多次,第一次對一個程序的修改這么長時間,但歷經(jīng)的千辛萬苦換來了最總還是換來了甘甜的成果。首先,圖書館管理系統(tǒng)需要多各類來實(shí)現(xiàn),包括、圖書類,記錄類、用戶類、管理類。其中對于記錄類的修改多達(dá)數(shù)次,對用戶的借閱信息不能夠完整的輸出,中間夾雜著一些亂碼,最后還是在同學(xué)的幫助下把讀入文件內(nèi)的結(jié)束限定符給刪除才得以解決,借閱信息的自己最看中的還是對于借閱次數(shù)的修改,用戶借過幾本書,借閱記錄這是怎么顯示的,其中關(guān)聯(lián)到借還書的流程,用到了兩個判斷語句,最終得意實(shí)現(xiàn),這次對于結(jié)構(gòu)體的使用又加深了理解,前面加一個有關(guān)判斷這本書存不存在,后面在管理端查找書提供了方便,這就體現(xiàn)了關(guān)聯(lián)性,很好的實(shí)現(xiàn)了功能.第五章實(shí)習(xí)日記(按日期6篇)。第一篇在此次課設(shè)中我選擇的是圖書館管理信息系統(tǒng),其中涉及到圖書信息系統(tǒng)讀者信息,圖書借閱信息等多種數(shù)據(jù)的管理,使得使用該系統(tǒng)可以方便查詢信息和實(shí)現(xiàn)借書還書功能。實(shí)驗(yàn)中要求實(shí)現(xiàn)圖書的分類及圖書信息的錄入、修改、刪除和校審;實(shí)現(xiàn)借閱者分類及借閱者個人信息的錄入、修改和刪除;實(shí)現(xiàn)借書和還書功能;可圖書查詢和借閱查詢;對用戶信息管理及權(quán)限分配。對于圖書管理系統(tǒng),首先是要確定它的功能。圖書管理系統(tǒng)的功能有兩部分,一是后臺,后臺擁有的功能就是增刪查改。增就是增加圖書,增加用戶;刪就是刪除圖書刪除用戶;查就是查找圖書和用戶的信息,其中有通過書號和學(xué)生姓名查找等等;該就是修改圖書和用戶的信息。二是客戶端,對于客戶端,功能就是查書、借書、還書和續(xù)借。要注意的是客戶端的查書和后臺的查書是不一樣的,客戶端的查書只有書籍的信息,后臺的查書還有書籍的借閱記錄,所以寫代碼時要注意區(qū)分開從而進(jìn)一步進(jìn)行需求分析,首先做一個總的圖書管理的系統(tǒng),里面包含借書還書,信息查詢等。其次建立圖書信息系統(tǒng)和讀者信息系統(tǒng)的函數(shù)調(diào)用,完成對圖書和讀者添加,修改,刪除,查詢,顯示以及全刪的功能。然后再其中加入還書和借書功能,并再信息管理中做好記錄,已借和未借的記錄。最后增加一個退出系統(tǒng),該系統(tǒng)分為一個大系統(tǒng),兩個小系統(tǒng),進(jìn)入小系統(tǒng)中可返回至大系統(tǒng),從而實(shí)現(xiàn)別的系統(tǒng)功能。數(shù)據(jù)分析中圖書信息要包含書名和編號,方便查找及借還,讀者信息則需要信息增添才可實(shí)現(xiàn)借書還書功能,讀者信息包括姓名以及編

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論