ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:17.59KB ,
资源ID:8829688      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8829688.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(图书馆管理系统C代码.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

图书馆管理系统C代码.docx

1、图书馆管理系统C代码/ tushuguanli.cpp : Defines the entry point for the console application.#include #include #include /using namespace std;const int BMAX=50;/图书数据库类class bdatabasepublic:book btarrayBMAX;int top;public: bdatabase()book b;top=-1;fstream file(book.txt,ios:in); /打开文件while (1)file.read(char *)&b,

2、sizeof(b);if (!file) break;top+;btarraytop = b;file.close(); / 关闭文件bdatabase() / 析构函数, 将 btarray 写到 book.txt 文件中fstream file(book.txt,ios:out);for (int i=0;i=top;i+)if (btarrayi.b_del=1)file.write(char *)&btarrayi,sizeof(btarrayi);file.close();void addbooks()/往图书数据库中加图数组下标维护book bk;int no;char bname

3、20; coutno; coutendlbname; coutendl;bk.b_flag=1; bk.addbook(no, bname);top+; btarraytop=bk;return;int findbooks(int suffix) /查找图书,这个函数用于借书这书操作, suffix 是int no; coutno;for(int i=0; i=top; i+)if(btarrayi.no=no & btarrayi.b_del=1) return i; return -1;int findbooks() /查找图书 , 这个函数用于图书int no;char value6;

4、coutno;for(int i=0; i=top; i+)if(btarrayi.no=no & btarrayi.b_del=1) if(btarrayi.b_flag=1) strcpy(value, 在架 );if(btarrayi.b_flag=2) strcpy(value, 借出 );cout 书号 : btarrayi.no 书的名称 : btarrayi.name 图书状态 :valueendl;return i;return -1;void editbooks() /编辑图书int cur;cur = findbooks();if (cur=-1) cout 没有这本书 e

5、ndl;return;cout 书号 : btarraycur.no 书的名称 : btarraycur.nameendl;cout 请修改数据: endl;coutendlbtarraycur.name;return ;void delbooks() / 删除图书int cur;cur = findbooks();if (cur=-1)return;if(btarraycur.b_flag=2) / 删除时判断图书是否借出cout 该图书已经借出,请在归还后再删除。 endl;return;btarraycur.b_del=2;return;/显示全部图书void listbooks()ch

6、ar value6;for(int i=0; i=top; i+) if(btarrayi.b_del=1)btarrayi.nameif(btarrayi.b_flag=1) strcpy(value, 在架 ); if(btarrayi.b_flag=2) strcpy(value, 借出 ); cout 书号 : btarrayi.no 书的名称 图书状态 :valueendl;return;Jclass book public:int no; / 图书编号char name20; / 图书名称int b_flag;int b_del;public :book()void setno(i

7、nt n)no=n;int getno()return no; /返回图书编号值void setname(char na)strcpy(name, na); /字符串复制char* getname()return name; /返回图书名称void borbook()b_flag=2;/借书标志void delbook()b_del=2; /删除标志void addbook(int no,char na) / 增加图书功能setno(no); setname(na);b_flag=1; b_del=1;.、一 /读者类class readerpublic:int no;char name20;

8、int r_del; /1 存在, 2 删除int r_bor; /1 借过书, 2 没有借书 book brbook;public:void addreader(int id, char na)/ 增加读者no = id;strcpy(name, na);r_del=1;void setbrbook(book bt) /设置借书标记brbook = bt;book getbrbook()return brbook; / 返回借书信息;/读者数据库类class rdatabasepublic:reader rdarrayBMAX; int top;public: rdatabase() rea

9、der rd; top=-1; fstream file(reader.txt,ios:in); / 打开文件 while (1) file.read(char *)&rd,sizeof(rd); if (!file) break; top+; rdarraytop=rd;file.close(); /关闭文件rdatabase()/析构函数fstream file(reader.txt,ios:out);for (int i=0;i=top;i+)if (rdarrayi.r_del=1)file.write(char *)&rdarrayi,sizeof(rdarrayi);file.cl

10、ose();/添加读者void addreaders()reader rd;int no;char rname20; coutno;coutendlrname;coutendl; rd.addreader(no, rname);rd.r_bor=2;top+;rdarraytop=rd;return;int findreaders(int suffix) /查找读者, 这个函数用于借书还书操作。 参数 suffix是数组下标int no;coutno;for(int i=0; i=top; i+)if(rdarrayi.no=no & rdarrayi.r_del=1)return i;ret

11、urn -1;int findreaders() /查找读者,这个函数用于读者维护操作int no;char value3;coutno;for(int i=0; i=top; i+)if(rdarrayi.no=no & rdarrayi.r_del=1)if(rdarrayi.r_bor=1) strcpy(value, 借 );if(rdarrayi.r_bor=2) strcpy(value, 无 );cout 学号 : rdarrayi.no 姓名 : rdarrayi.name 是否 借书 : valueendl;return i;return -1;void editreader

12、s() / 编辑读者信 int cur;cur = findreaders();if (cur=-1) cout 没有该学生 endl;return;cout 请修改数据: endl; coutendlrdarraycur.name;return ;void delreaders() / 删除读者,读者如果借书要还书后才能删除int cur;cur = findreaders();if (cur=-1) return; if(rdarraycur.r_bor=1)cout 该用户借了图书,请还书后再删除 endl; return; rdarraycur.r_del=2;return;void

13、listreaders() / 显示所有读者char value3; for(int i=0; i=top; i+)if(rdarrayi.r_del=1)if(rdarrayi.r_bor=1) strcpy(value, 借 );if(rdarrayi.r_bor=2) strcpy(value, 无 );cout 学号 : rdarrayi.no 姓名 : rdarrayi.name 是否 借书 : valueendl;void bookjiemain() 子菜单/图书维护cout|- |endl;cout|图书维护|endl;cout|(1)增加|endl;cout|(2)更改|end

14、l;cout|(3)删除|endl;cout|(4)查找|endl;cout|(5)显示|endl;cout|(6)返回上一层|endl;cout|-|endl;void readerjiemian() 护子菜单/读者维cout|- |endl;cout|读者维护|endl;cout|(1)增加|endl;cout|(2)更改|endl;cout|(3)删除|endl;cout|(4)查找|endl;cout|(5)显示|endl;cout|(6)返回上一层|endl;cout|-|endl;void/主界面mainjiemian()cout*图书管理系统*endl;cout*endl;cou

15、t*(1)借书*endl;cout*endl;cout*(2)还书*endl;coutendl;cout*endl;cout*(3) 图书管理*endl;cout*endl;cout*(4) 用户管理*endl;cout*endl;cout*(0) 退 出*endl;cout*endl;void borrowtoreturn(char br)/借书还书函数 .参数 br 用来判断是“借书”还是“还书” .1 为“借书” ,2 为“还书” int rdid=0;int bkid=0;int rsuffix, bsuffix; bdatabase t_bd;rdatabase t_rd;if(br

16、=1) /借书rsuffix=t_rd.findreaders(rdid); bsuffix=t_bd.findbooks(bkid);if (rsuffix=-1 | bsuffix=-1)return;if(t_bd.btarraybsuffix.b_flag=2)cout 图书已经借出,请选择其它图书 endl;return; if(t_rd.rdarrayrsuffix.r_bor=1)cout 你已经借过图书,请先归还再借其它图书 endl; return;t_bd.btarraybsuffix.b_flag=2; t_rd.rdarrayrsuffix.r_bor=1;t_rd.r

17、darrayrsuffix.brbook=t_bd.btarraybsuffix;return;if(br=2)rsuffix=t_rd.findreaders(rdid); bsuffix=t_bd.findbooks(bkid);if (rsuffix=-1 | bsuffix=-1 )if(t_rd.rdarrayrsuffix.brbook.no=t_bd.btarraybsuffix.no)t_bd.btarraybsuffix.b_flag=1;t_rd.rdarrayrsuffix.r_bor=2;t_rd.rdarrayrsuffix.brbook=t_bd.btarraybs

18、uffix;elsecout 请重新输入,读者借的图书号不正确 in;switch (in)case 1:bd.addbooks();break;case 2:bd.editbooks();break;case 3:bd.delbooks();break;case 4:bd.findbooks();break;case 5:bd.listbooks();break;case 6:break;default:cout 输入错误,请从新输入。 in;switch (in)case 1:bd.addreaders(); break;case 2:bd.editreaders(); break;cas

19、e 3:bd.delreaders(); break;case 4:bd.findreaders(); break;case 5:bd.listreaders(); break;case 6:break;endl;default:coutin;switch (in)case 1: borrowtoreturn(in); break;case 2: borrowtoreturn(in); break;case 3: booksmange(); break;case 4:readersmange(); break;case 0:break;endl;default:cout 输入错误,请从新输入。 while(in!=0);return 0;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1