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

上传人:ji****72 文档编号:39548615 上传时间:2018-05-17 格式:DOC 页数:20 大小:120KB
返回 下载 相关 举报
面向对象的图书管理系统 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 #include using namespace std; /图书类 class CBook private: 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);

2、int getno(); void setname(char na); char* getname(); int getb_flag(); void setb_flag(int); int getb_del(); void setb_del(int); /用户类 class CUser private: int no; char name20; public: CUser();CUser(int id, char na); void setno(int n); int getno(); /返回图书编号值 void setname(char na); char* getname(); /返回图书

3、名称 void show(); ; /用户类的派生类-读者类 class CReader:public CUser private: 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(

4、); /方法重写 ; /读者管理类 class CReaderManager public: CReader rdarray50; int top; public: CReaderManager(); CReaderManager(); void addreaders(); /添加读者 int findreaders(int suffix); /查找读者,这个函数用于借书还书操作。int findreaders(); /查找读者,这个函数用于读者维护操作 void editreaders(); /编辑读者信息 void delreaders(); /删除读者,读者如果借书要还书后才能删除 vo

5、id listreaders(); /显示所有读者 ; /图书管理类 class CBookManager public: CBook btarray50; /图书集合 int top; public: CBookManager(); CBookManager(); void addbooks() ; int findbooks(int suffix); int findbooks() ; void editbooks(); void delbooks(); void listbooks() ; ; 2 类的实现 类的实现可以分多个文件组织,也可以放在一个文件中,本系统类比较少,所以只定 义一

6、个文件存放。文件名为 classImp.cpp,具体内容如下: #include #include“Mytype.h“ /用户类的实现 CUser:CUser() 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

7、CUser:show()coutgetno()getname()no; coutrname; coutno; for(int i=0; ino; for(int i=0; irdarraycur.getname(); return ; void CReaderManager:delreaders() /删除读者,读者如果借书要还书后才能删除 int cur; cur = findreaders(); if (cur=-1) return; if(rdarraycur.getr_bor()=1) coutch; return; /图书管理类的实现CBookManager:CBookManager

8、() CBook b; top=-1; fstream file(“book.txt“,ios:in); /打开文件 while (1) file.read(char *) if (!file) 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(i

9、nt i=0; ibtarraycur.getname(); return ; void CBookManager:delbooks() /删除图书 int cur; cur = findbooks(); if (cur=-1) return; if(btarraycur.getb_flag()=2) /删除时判断图书是否借出 cout using namespace std; void mainjiemian() /登录主界面 cout #include #include“Mytype.h“ #include using namespace std; void sysmanage(); /函

10、数声明 void jiehuan(); /函数声明 void mainjiemian(); /函数声明 void init() /初始化文件写入系统管理员的信息 int id; char n20; coutid;coutn;CUser super(id,n); fstream ff(“init.txt“,ios:out); /打开文件if(!ff) coutin;switch (in) case 1:sysmanage(); /进入 guanliyuan.cppbreak; case 2:jiehuan(); /进入 yewu.cpp break; case 3:init(); /调用初始化函

11、数 break; case 4: break;default:cout #include using namespace std; #include“Mytype.h“ void staffjiemian(); void bookmanage(); void duzhemanage(); int superyz() CUser super; int id; coutid; fstream ff(“init.txt“,ios:in); /打开文件if(!ff) coutin1;switch (in1) case 1:/图书管理 bookmanage(); /进入 tushuguanli.cpp

12、break; case 2: /读者管理 duzhemanage(); /进入 duzheguanli.cpp break;case 3: break;default:cout #include using namespace std; #include“Mytype.h“ void bookjiemain(); void bookmanage() char in;CBookManager bm;dosystem(“cls“); /清屏bookjiemain();cinin;switch (in) case 1:/增加图书 bm.addbooks(); break; case 2:/修改图书

13、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.addreaders(); break; case 2:/修改读者 rm.editreaders(); break; case 3:/删除读者 rm.delreaders(); break; case 4: /查找读

14、者 rm.findreaders(); break; case 5:/显示读者rm.listreaders(); break; case 6: /返回 break;default:cout #include using namespace std; #include“Mytype.h“ void 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

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

当前位置:首页 > 行业资料 > 其它行业文档

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