图书管理系统(改后).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
图书管理系统(改后).doc

#include iostream.h #include fstream.h #include string.h #include fstream int adflag=0;//管理员权限标志 const char initialCode[30]=000000;//!!!!!!!!!!!!!!!管理员密码000000,管理员切记!!!!!!!!!!!!! class Book;//类声明 struct Bnode//书库结构 { char b_name[30];//书名 char b_num[30];//编号 bool b_flag;//借阅情况 Bnode *next; }; struct Rnode//读者库结构 { char r_name[30];//读者名 char r_num[30];//读者编号 int num;//读者借书数量 char r_code[30];//读者密码 Bnode r_borrow[5];//读者所借书籍,借书上限为5本 Rnode *next; }; class Reader//读者类 { public: Reader();//构造函数 void addReader();//添加读者 bool deleReader();//删除读者,管理员有强制删除权限 void find();//查找读者,管理员权限,有密码显示功能,用于找回密码 void showReader();//显示所有读者 void saveReader();//保存读者数据 void getReader();//读取读者数据 bool check(char[]);//查找比对 void format();//格式化 void borrow(Rnode*,Bnode*);//借阅书籍 bool identify(char*,char*,char*,Rnode*);//身份验证; void backBook(Rnode*,Bnode*);//还书 void rewrite(Rnode*);//修改个人信息 void readerCheck(Rnode*);//读者查询,无密码显示功,且只能查阅自己借书情况 private: Rnode *Rhead; }; Reader::Reader()//读者类构造函数定义 { Rhead=new Rnode; strcpy(Rhead-r_name,administrator);//设置为循环指针,将管理员信息放在表头中 strcpy(Rhead-r_num,-1); Rhead-num=0; Rhead-next=Rhead; } void Reader::readerCheck(Rnode*p)//读者自己查询 { if(p-num==0)//借书为空 { cout无借书记录endl; } else { for(int i=0;i5;i++)//显示借阅书籍情况 { if(strcmp((p-r_borrow[i]).b_name,)!=0)//当书籍名中为空的情况下不输出,即该记录为无借书记录 { cout 书名:(p-r_borrow[i]).b_name\t\t编号(p-r_borrow[i]).b_numendl;//输出 } } } system(pause);//系统命令,等待用户 } bool Reader::check(char num[])//对比 { Rnode *h=Rhead; while(h-next!=Rhead)//在读者库中比对编号,确保编号的唯一性 { if(strcmp(num,h-next-r_num)==0) { cout该读者编号已存在,申请失败!!!endl; system(pause); return 1; } h=h-next; } return 0; } void Reader::addReader()//添加读者定义 { char flag,flag1,code[30],flag2=1; Rnode *temp,*tail=Rhead; while(tail-next!=Rhead)//使得每一次添加都放在末尾,即表头前一位 { tail=tail-next; } do { temp=new Rnode; cout请输入姓名:; //ignore(100); cin.ignore(1);//清除缓冲区,只清除一个字节 //cin.getline(temp-r_

文档评论(0)

wangshirufeng + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档