面向对象的图书管理系统C

上传人:宝路 文档编号:4677673 上传时间:2017-08-22 格式:DOC 页数:20 大小:120.01KB
返回 下载 相关 举报
面向对象的图书管理系统C_第1页
第1页 / 共20页
面向对象的图书管理系统C_第2页
第2页 / 共20页
面向对象的图书管理系统C_第3页
第3页 / 共20页
面向对象的图书管理系统C_第4页
第4页 / 共20页
面向对象的图书管理系统C_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《面向对象的图书管理系统C》由会员分享,可在线阅读,更多相关《面向对象的图书管理系统C(20页珍藏版)》请在金锄头文库上搜索。

1、1 类的定义为了清晰和便于修改维护,本系统采用多文件形式组织。在自定义的头文件 Mytype.h 中,存放所有类的定义。文件内容如下:#include#include#includeusing namespace std;/图书类class CBookprivate:int no; /图书编号char name20; /图书名称int b_flag; /1 为在架,2 为借出int b_del; /1 为存在, 2 为删除public :CBook(); /默认构造函数CBook(int no,char na); /构造函数void setno(int n);int getno();void

2、setname(char na);char* getname(); int getb_flag(); void setb_flag(int);int getb_del();void setb_del(int);/用户类class CUserprivate:int no;char name20;public:CUser();CUser(int id, char na);void setno(int n);int getno(); /返回图书编号值void setname(char na);char* getname(); /返回图书名称void show();/用户类的派生类-读者类class

3、CReader:public CUserprivate:int r_del; /1 存在,2 删除int r_bor; /1 借过书,2 没有借书CBook brbook;public:CReader();CReader(int id, char na);int getr_del();void setr_del(int);int getr_bor();void setr_bor(int);void setbrbook(CBook bt); CBook getbrbook();void show(); /方法重写;/读者管理类class CReaderManagerpublic:CReader

4、rdarray50;int top;public:CReaderManager();CReaderManager();void addreaders(); /添加读者int findreaders(int suffix); /查找读者,这个函数用于借书还书操作。int findreaders(); /查找读者,这个函数用于读者维护操作void editreaders(); /编辑读者信息void delreaders(); /删除读者,读者如果借书要还书后才能删除void listreaders(); /显示所有读者;/图书管理类class CBookManagerpublic:CBook b

5、tarray50; /图书集合int top;public:CBookManager();CBookManager(); void addbooks() ; int findbooks(int suffix); int findbooks() ; void editbooks(); void delbooks(); void listbooks() ; ;2 类的实现类的实现可以分多个文件组织,也可以放在一个文件中,本系统类比较少,所以只定义一个文件存放。文件名为 classImp.cpp,具体内容如下:#include#includeMytype.h /用户类的实现CUser:CUser()

6、CUser:CUser(int id, char na)no = id;strcpy(name, na);void CUser:setno(int n)no=n;int CUser:getno() /返回图书编号值return no; void CUser:setname(char na)strcpy(name, na);char* CUser:getname() /返回图书名称return name;void CUser:show()coutgetno()getname()no;coutrname;coutno;for(int i=0; ino;for(int i=0; irdarraycu

7、r.getname();return ;void CReaderManager:delreaders() /删除读者,读者如果借书要还书后才能删除 int cur;cur = findreaders();if (cur=-1)return;if(rdarraycur.getr_bor()=1)coutch;return;/图书管理类的实现CBookManager:CBookManager()CBook b; top=-1; fstream file(book.txt,ios:in); /打开文件while (1) file.read(char *)&b,sizeof(b); if (!file

8、) break; top+; btarraytop = b; file.close(); /关闭文件CBookManager:CBookManager() /析构函数,将 btarray写到 book.txt 文件中 fstream file(book.txt,ios:out); for (int i=0;ino;coutbname;coutno;for(int i=0; ino;for(int i=0; ibtarraycur.getname();return ;void CBookManager:delbooks() /删除图书int cur;cur = findbooks();if (c

9、ur=-1)return;if(btarraycur.getb_flag()=2) /删除时判断图书是否借出coutusing namespace std;void mainjiemian() /登录主界面cout#include#includeMytype.h#includeusing namespace std;void sysmanage(); /函数声明void jiehuan(); /函数声明void mainjiemian(); /函数声明void init() /初始化文件写入系统管理员的信息int id;char n20;coutid;coutn;CUser super(id,

10、n);fstream ff(init.txt,ios:out); /打开文件if(!ff)coutin;switch (in)case 1:sysmanage(); /进入 guanliyuan.cppbreak;case 2:jiehuan(); /进入 yewu.cppbreak;case 3:init(); /调用初始化函数break;case 4:break;default:cout#includeusing namespace std;#includeMytype.hvoid staffjiemian();void bookmanage();void duzhemanage();in

11、t superyz() CUser super;int id;coutid;fstream ff(init.txt,ios:in); /打开文件if(!ff)coutin1;switch (in1)case 1:/图书管理bookmanage(); /进入 tushuguanli.cppbreak;case 2:/读者管理duzhemanage(); /进入 duzheguanli.cppbreak;case 3:break;default:cout#includeusing namespace std;#includeMytype.hvoid bookjiemain();void bookm

12、anage()char in;CBookManager bm;dosystem(cls); /清屏 bookjiemain();cinin;switch (in)case 1:/增加图书bm.addbooks();break;case 2:/修改图书bm.editbooks();break;case 3:/删除图书bm.delbooks();break;case 4:/查找图书bm.findbooks();break;case 5:/显示图书bm.listbooks();break;case 6:/返回break;default:coutin;switch (in)case 1:/增加读者rm

13、.addreaders();break;case 2:/修改读者rm.editreaders();break;case 3:/删除读者rm.delreaders();break;case 4:/查找读者rm.findreaders();break;case 5:/显示读者rm.listreaders();break;case 6:/返回break;default:cout#includeusing namespace std;#includeMytype.hvoid yewujiemian();/借书处理void borrowbook()int rsuffix, bsuffix;CBookManager t_bd;CReaderManager t_rd;rsuffix=t_rd.findreaders(0);bsuffix=t_bd.findbooks(0);if ( bsuffix=-1) coutin1;switch (in1)case 1:/借书管理borrowbook(); break;case 2:/还书管理returnmanage(); break;case 3:break;default:cout输入错误,请从新输入。endl; while(in1!=3);

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

当前位置:首页 > 办公文档 > 其它办公文档

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