图书管理系统.doc_第1页
图书管理系统.doc_第2页
图书管理系统.doc_第3页
图书管理系统.doc_第4页
图书管理系统.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1N21N2a. b. (1)(2)(3)c. (1)(2)d. 30312Charchar charCharchar4N=52? C+Reader,Rdatabase,Book, Bdatabase, 1RDatabaseread.txtredereadread.txt2BDatabasebook.txtbookbookbook.txt3 4 I/OI/O5 1. Readerint tag;/ 10int no;/char name10;/int borbookMaxbor;/2. Rdatabase, int top;/Reader readMaxr;/3. Book,int tag;/ 10int no;/char name20;/int onshelf;/ 1 04. BDatabase,int top;/Book bookMaxb;/1. ReaderReader(),2. RDatabaseRdatabaseread.txtrede3. BookBook(),4. BDatabasebook.txtbook?Readergetname()setname()Bookgetname()setname()?1. RDatabaseRdatabasereadread.txt2. BDatabaseBdatabasebookbook.txt?=?1. 2. 3. 4. ? 1Readdata()Readdate()21. for(int i=0;iMaxbor;i+)for(int i=1;iMaxbor;i+)2. brerror C2660: retbook : function does not take 1 parameters C+/*/*#include#include#include#includeconst int Maxr=1000;/const int Maxb=10000;/const int Maxbor=8;/8class Reader /int tag;/ 10int no;/char name10;/int borbookMaxbor;/public :Reader()/char *getname()return name;/int gettag()return tag;/int getno()return no;/void setname(char na)/strcpy(name,na);void delbook()tag=1;/void addreader(int n,char *na)/tag=0;no=n;strcpy(name,na);for(int i=0;iMaxbor;i+)borbooki=0;void borrowbook(int bookid)/for(int i=0;iMaxbor;i+)if(borbooki=0)borbooki=bookid;int retbook(int bookid)/for(int i=0;iMaxbor;i+)if (borbooki=bookid)borbooki=0;return 1;return 0;void disp()/coutsetw(5)nosetw(10)name;for(int i=0;i,Maxbor;i+)if(borbooki!=0)coutborbookiendl;?class RDatabase/int top;/Reader readMaxr;/public:RDatabase()/reader.txtreadReader 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)/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();/RDatabase()/readreader.txtfstream 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 1 2 3 4 5 6 0choice;switch(choice)case 1:coutreaderid;coutrname;addreader(readerid,rname);break;case 2:coutreaderid;r=query(readerid);if(r=NULL)coutendl;break;coutrname;r-setname(rname);break;case 3:coutreaderid;r=query(readerid);if(r=NULL)coutdelbook();break;case 4:coutreaderid;r=query(readerid);if(r=NULL)coutendl;break;case 5:disp();break;case 6:clear();break;?class Book/int tag;/ 10int no;/char name20;/int onshelf;/ 1 0public:Book()char*getname()return name;/int getno()return no;/int gettag()return tag;/void setname(char na)/strcpy(name,na);void delbook()tag=1;/void addbook(int n,char*na)/tag=0;no=n;strcpy(name,na);onshelf=1;int borrowbook()/if(onshelf=1)onshelf=0;return 1;return 0;void retbook()/onshelf=1;void disp()/coutsetw(6)nosetw(18)namesetw(10)(onshelf=1?:)endl;?class BDatabase/int top;/Book bookMaxb;/public:BDatabase()/book.txtbookBook 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)/Book*p=query(n);if(p=NULL)top+;booktop.addbook(n,na);return 1;coutendl;Book*query(int bookid)/for(int i=0;i=top;i+)if(booki.getno()=bookid&booki.gettag()=0)return NULL;void bookdata();/void disp()for(int i=0;i=top;i+)if(booki.gettag()=0)booki.disp();BDatabase()/bookbook.txtfstream 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 1 2 3 4 5 6 0choice;switch(choice)case 1:coutbookid;coutbname;addbook(bookid,bname);break;case 2:coutbookid;b=query(bookid);if(b=NULL)coutendl;break;coutbname;b-setname(bname);coutendl;break;case 3:coutbookid;b=query(bookid);if(b=NULL)coutdelbook();break;case 4:coutbookid;b=query(bookid);if(b=NULL)coutdisp();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? endl;cout 2? endl;cout 3? endl;cout 4? endl;cout 0? choice;switch(choice)case 1:coutreaderid;coutbookid;r=ReaderDB.query(readerid);if(r=NULL)cout;break;b=BookDB.query(bookid);if(b=NULL)coutborrowbook()=0)coutborrowbook(b-getno();break;coutendl;case 2:coutreaderid;coutbookid;r=ReaderDB.query(readerid);if(r=NULL)coutretbook();r-retbook(b-getno();break;coutendl;case

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论