图书馆管理系统c语言程序

上传人:我*** 文档编号:127942701 上传时间:2020-04-07 格式:DOC 页数:11 大小:23.50KB
返回 下载 相关 举报
图书馆管理系统c语言程序_第1页
第1页 / 共11页
图书馆管理系统c语言程序_第2页
第2页 / 共11页
图书馆管理系统c语言程序_第3页
第3页 / 共11页
图书馆管理系统c语言程序_第4页
第4页 / 共11页
图书馆管理系统c语言程序_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《图书馆管理系统c语言程序》由会员分享,可在线阅读,更多相关《图书馆管理系统c语言程序(11页珍藏版)》请在金锄头文库上搜索。

1、#include #include #include #include #define Maxbor 100#define Maxr 100#define Maxb 100using namespace std;class Reader private: int tag; /删除标记 1:已删 0:未删 int no; /读者编号 char name10; /读者姓名 int borbookMaxbor;/所借图书 public: Reader() char *getname() return name; /获取姓名 int gettag() return tag; /获取删除标记 int g

2、etno() return no; /获取读者编号 void setname(char na) /设置姓名 strcpy(name,na); void delbook() tag=1; /设置删除标记 1:已删 0:未删 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=booki

3、d; return; 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;iMaxbor;i+) if(borbooki!=0) cout borbooki |;cout endl;/读者类库,实现建立读者的个人资料 class RDatabase private: int top; /读者记录指针 Reader

4、readMaxr;/读者记录 public: RDatabase() /构造函数,将reader.txt读到read中 Reader s; top=-1; fstream file(E:reader.txt,ios:in);/打开一个输入文件 while (1) file.read(char *)&s,sizeof(s); if (!file)cout打开失败endl;break; top+; readtop=s; file.close(); /关闭 reader.txt void clear()/删除所有读者信息 top=-1; int addreader(int n,char *na)/添

5、加读者时先查找是否存在 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 readerdat

6、a();/读者库维护 RDatabase() /析构函数,将read写到reader.txt文件中 fstream file(E: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() char choice; char rname20; int readerid; Reader *r; while (choice!=0) cout nnttt读 者 维

7、 护nnntt 1 新 增nntt 2 更改nntt 3 删 除nntt 4 查 找nntt 5 显 示nntt 6 全 删nntt 0 退出 choice; switch (choice) case 1: cout readerid; cout rname; addreader (readerid,rname); break; case 2: cout readerid; r=query(readerid); if (r=NULL) cout 该读者不存在 endl; break; cout rname; r-setname(rname); break; case 3: cout reade

8、rid; r=query(readerid); if (r=NULL) cout 该读者不存在 delbook(); break; case 4: cout readerid; r=query(readerid); if (r=NULL) cout 该读者不存在disp(); break; case 5: disp(); break; case 6: clear(); break; default:cout输入错误,请从新输入:;break; /图书类,实现对图书的描述,图书的编号,书名,借出,还入等 class Book private: int tag;/删除标记 1:已删 0:未删 in

9、t no;/图书编号 char name20;/书名 int onshelf;/是否再架 1:再架 2:已借 public: 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,n

10、a); onshelf=1; int borrowbook()/借书操作 if (onshelf=1) onshelf=0; return 1; return 0; void retbook()/还书操作 onshelf=1; void disp()/输出图书 cout setw(6) no setw(18) name setw(10) (onshelf=1? 在架:已借) endl; ;/图书库类,实现对图书的维护,查找,删除等 class BDatabase private: int top; /图书记录指针 Book bookMaxb; /图书记录 public: BDatabase()

11、/构造函数,将book.txt读到book中 Book b; top=-1; fstream file(E: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 (NULL=p) top+; booktop.addbook(n,na); return 1; return 0; Bo

12、ok *query(int bookid)/查找图书 for (int i=0;i=top;i+) if (booki.getno()=bookid&booki.gettag()=0) return &booki; return NULL; void bookdata();/图书库维护 void disp() for (int i=0;i=top;i+) if (booki.gettag()=0) booki.disp(); BDatabase()/析构函数,将book写到book.txt文件中 fstream file(E:book.txt,ios:out); for (int i=0;i=top;i+) if (booki.gettag()=0) file.write(char *)&booki,sizeof(booki); file.clos

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 事务文书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号