2022年图书管理系统c语言程序设计 .pdf
《2022年图书管理系统c语言程序设计 .pdf》由会员分享,可在线阅读,更多相关《2022年图书管理系统c语言程序设计 .pdf(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、#include #include /? #include #include #include usingnamespace std; constint Maxr=100; / 最多的读者constint Maxb=100; / 最多的图书constint Maxbor=5; / 每位读者最多借五本书class Reader / 读者类 ,实现对读者的信息的描述private: int tag; / 删除标记 1: 已删 0: 未删int no; / 读者编号char name10; / 读者姓名int borbookMaxbor; / 所借图书public : Reader() ; char
2、 *getname() / 获取姓名return name; int gettag() / 获取删除标记return tag; int getno() / 获取读者编号return no; void setname( char na) / 设置姓名 strcpy(name,na); void delbook() / 设置删除标记 1: 已删 0: 未删 tag=1; void addreader(int n, char *na) / 增加读者 tag=0; no=n; strcpy(name,na); for ( int i=0;iMaxbor;i+) borbooki=0; void bor
3、rowbook(int bookid) / 借书操作for ( int i=0;iMaxbor;i+) if (borbooki=0) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 9 页 - - - - - - - - - borbooki=bookid; return ; int retbook(int bookid) / 还书操作for ( int i=0;iMaxbor;i+) if (borbooki=bookid) borbooki=0; return 1;
4、 return 0; void disp() / 读出读者信息 cout setw(5) no setw(10) name借书编号 : ; for ( int i=0;iMaxbor;i+) if (borbooki!=0) cout borbooki | ; cout endl; ; class RDatabase / 读者类库,实现建立读者的个人资料private: int top; / 读者记录指针 Reader readMaxr; / 读者记录public : RDatabase() / 构造函数,将 reader.txt读到 read中 Reader s; top=-1; fstre
5、am file(reader.txt,ios:in); / 打开一个输入文件while (1) file.read(char *)&s,sizeof (s); if (!file)break ; top+; readtop=s; file.close(); / 关闭 reader.txt void clear() / 删除所有读者信息 top=-1; int addreader(int n, char *na) / 添加读者时先查找是否存在 Reader *p=query(n); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - -
6、名师精心整理 - - - - - - - 第 2 页,共 9 页 - - - - - - - - - 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.
7、disp(); void readerdata(); / 读者库维护 RDatabase() / 析构函数,将 read 写到 reader.txt文件中 fstream file(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
8、 (choice!=0 ) cout nnttt读者维护 nnntt 1 新增 nntt 2 更改 nntt 3 删除 nntt 4 查找nntt 5 显示 nntt 6 全删 nntt 0 退出 choice; switch (choice) case1 : cout readerid; cout rname; addreader (readerid,rname); break ; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 9 页 - - - - - - - -
9、- case2 : cout readerid; r=query(readerid); if (r=NULL) cout 该读者不存在 endl; break ; cout rname; r-setname(rname); break ; case3 : cout readerid; r=query(readerid); if (r=NULL) cout 该读者不存在 delbook(); break ; case4 : cout readerid; r=query(readerid); if (r=NULL) cout 该读者不存在 disp(); break ; case5 : disp(
10、); break ; case6 : clear(); break; case0 : break ; default:cout 输入错误,请从新输入: ; break ; class Book / 图书类 , 实现对图书的描述, 图书的编号 , 书名 , 借出 , 还入等private: 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 9 页 - - - - - - - - - int tag; / 删除标记 1: 已删 0: 未删int no; / 图书编号char n
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年图书管理系统c语言程序设计 2022 图书 管理 系统 语言程序设计
限制150内