版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、#include#define DEBUG 0宏定义 决定测试代码是否编译0为不编译 非0则编译const char book_path20 = books.txt;const char reader_path20 = readers.txt;文件读写声明void read_from_files_to_vector();void write_all_to_files();#if DEBUGvoid scan_readers() for(reader &s:readers) wcout s;)#endifint main()完成操作后需要在控制台按5中退出才会保存到文件wcin.imbue(ch
2、ina);wcout.imbue(china);read_from_files_to_vector();#if DEBUGcout size of readers = readers.size() endl;cout size of books = books.size() endl;scan_book();scan_readers();#endifstring password = 123456; 密码已改cout 欢迎使用中南大学网络在线图书系统-endl;这里可以添加你们小组的名单或一些装饰的字符cout 请选择登录方式 endl;cout 1管理员登陆2读者登陆 a;cleanScre
3、en();if (a = 1)(string str;for (int j = 0; j = 4; j+) (cout 请输入管理密码,你有 (4-j) 次机会 str;if (password = str) (break;) else cout 密码错误!请重新输入 endl;if (j = 4) return 0;) cleanScreen(); cout -欢迎来到图书管理系统- endl;cout ”成功登陆!你有以下操作可供选择“ endl;cout endl;操作循环cout 1浏览图书信息 endl;cout 2图书信息修改 endl;cout 3图书信息添加 endl;cout
4、 4图书信息删除 endl;cout 5保存信息并退出系统 endl;cout 请选择操作选项编号 b;cleanScreen();while (b != 5) switch (b) case 1:scan_book(); break; case 2:modify_book(); break; case 3:add_book(); break;case 4:delete_book(); break;default:cout 输入错误,请重新输入;break; )cout endl;cout 请进行下一次操作 endl;cout 1浏览图书信息 endl;cout 2图书信息修改 endl;co
5、ut 3图书信息添加 endl;cout 4图书信息删除 endl;cout 5 退出系统 endl;cout 请选择操作选项编号 b;cleanScreen();)write_all_to_files();return 0;)else if (a = 2)(int readerIndex = 0;记录读者下标输入学号登陆cout 请输入学号 endl;wchar_t studentnumber20;for (int m = 0; m = 9; m+)(cout 请输入学号,你有 (9-m) 次机会 studentnumber;int t;for (t = 0; t readers.size(
6、); t+)(if (wcscmp(studentnumber, readerst.cardnum) = 0)(readerIndex = t; break;)判断跳出循环原因if (t readers.size()break;else(cout 登录账号不存在,请重新输入学号 endl; continue;)if (m = 9)return 0;cleanScreen();cout 欢迎来到读者自助系统 endl;wcout L欢迎你, readersreaderI L!你有以下操作可供选择 endl;cout endl;操作循环cout 1 图书浏览 endl;cout
7、2 图书查询 endl;cout 3 图书借阅 endl;cout 4 图书返还 endl;cout 5 退出系统 endl;cout 请选择操作选项 c;cleanScreen();while (c != 5)(switch (c)(case 1:scan_book(); break;case 2:search_book(); break;case 3:borrow_book(readerIndex); break;case 4:return_book(readerIndex); break;default:cout 输入错误!请重新输入 endl; break;)cout endl;cou
8、t 请进行下一次操作 endl;cout 1 图书浏览 endl;cout 2 图书查询 endl;cout 3 图书借阅 endl;cout 4 图书返还 endl;cout 5 退出系统 endl;cout 请选择操作选项 c;cleanScreen();)write_all_to_files();return 0;)return 0;)/main函数结束写入/读取文件void write_all_to_files()(wofstream outfile;outfile.imbue(locale(chs);写入书本文件outfile.open(book_path);outfile book
9、s.size() n;for (int i = 0; i books.size(); i+)(outfile booksi;)outfile.close();outfile.clear();写入读者文件,由于程序中没有针对读者的删改(备用,将0改为1后即可编译这段代码) #if 0outfile.open(path:reader_path);outfile readers.size() n;for (int i = 0; i readers.size(); i+)(outfile size;while (!infile.eof() & size != 0) (infile bb;books.p
10、ush_back(bb);size-;infile.close();infile.clear();读取读者数据infile.open(reader_path);infile size;while (!infile.eof() & size != 0)infile rr;readers.push_back(rr); size-;)infile.close();return;#include classes.h locale china(chs);/use china character/*void printout_book(book &b)(cout b.id n b.title n b.fi
11、rstauthor n b.publisher n b.birthday n b.location n b.price n b.number endl;)*/这个函数我用重载运算符 的函数代替了/对应全局变量的定义vector books;vector readers;/book重载操作符函数定义wistream& operator (wistream& in, book &b)(cout 请输入书号 b.id;cout 请输入书名 b.title;cout 请输入作者名 b.firstauthor;cout 请输入出版社 b.publisher;cout ”请输入印刷日期(年 月) b.bi
12、rthday;cout 请输入所属类别 b.location;cout 请输入价格 b.price;cout 请输入数量 b.number;return in;)wostream& operator(wostream& out, book &b)(out b.id b.title b.firstauthor b.publisher b.birthday.year b.birthday.month b.location b.price b.number (wifstream& in, book &b)(in b.id b.title b.firstauthor b.publisher b.bir
13、thday.year b.birthday.month b.location b.price b.number;return in;)wofstream& operator(wofstream& out, book &b)(out b.id b.title b.firstauthor b.publisher b.birthday b.location b.price b.number (wistream& in, reader &r)(/由于没有对reader的操作,这个函数尚未被使用cout 请输入读者姓名 ;cout 请输入性别(男为0,女为1) r.s;cout 请输入卡号
14、r.cardnum;cout 请输入学位(学士为0,硕士为1,博士为2) r.e;r.already = 0; 已借书本数默认为0 return in;)wostream& operator(wostream& out, reader &r)(out r.cardnum ;out ;out r.s ;out r.e ;out r.already (wifstream& in, reader &r)(in r.cardnum r.s r.e r.already;return in;)wofstream& operator(wofstream& out, reader
15、&r)(out r.cardnum r.s r.e r.already n;return out;)/main函数中调用定义void scan_book() /建立浏览函数(for (int i = 0; i books.size(); i+)(wcout booksi;)void search_book() /建立搜索函数(int g;cout * 你有以下查询方式可供选择 * endl;cout 1 按书名查询 endl;cout 2 按编号查询 endl;cout 3 按作者查询 endl;cout * 请选择查询方式 * g;switch (g)(wchar_t name
16、20;cout * 请输入书名 * name;for (int r = 0; r books.size(); r+)(if (wcscmp(booksr.title, name) = 0) (wcout booksr; return;)cout 查无此书 endl;return;break;)(int str;cout * 请输入图书编号 * str;for (int l = 0; l books.size(); l+)(if (booksl.id = str) (wcout booksl; return;)cout 查无此书 endl;return;break;)wchar_t auth10
17、;cout 请输入图书作者 endl;cout 请输入图书作者 auth;for (int p = 0; p books.size(); p+)(if (wcscmp(booksp.firstauthor, auth) = 0)(wcout auth;for (int p = 0; p books.size(); p+)(if (wcscmp(booksp.firstauthor, auth) = 0)(wcout booksp;return;)cout 查无此书 endl;return;break;)default:(cout 查无此书= 5)(cout 抱歉,你的借书数已满,不可再借 en
18、dl; return;)int log;cout *请输入要借出图书的登陆昱*cout *请输入要借出图书的登陆昱*” log;for (int i = 0; i 0)(int y; cout “确认借出书籍吗?确认请输入1取消请输入0 y;if (y = 1)(cout 借阅成功!;-(booksi.number);+(readerst.already); return;)else return;) else (cout 图书已借完 endl; return;)cout 图书不存在! endl; return;)void return_book(int t)建立还书函数(int log;cout *请输入要归还的图书的登陆号* log;for (int i = 0; i books.size(); i+)(if (log = booksi.id) (cout 图书归还成功 endl;+booksi.number;-readerst.already;return;)cout 图书不存在于本图书馆 无需归还! endl; return;)void modify_book() 建立修改函数(int log;cout * 请输入要修改的图书编号 * log;for (i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 居家保姆雇佣合同书
- 2025年统编版八年级地理上册月考试卷
- 2025年沪教新版高二数学上册阶段测试试卷
- 2025年粤人版八年级历史下册阶段测试试卷
- 遵义职业技术学院《西方法律思想史(B)》2023-2024学年第一学期期末试卷
- 2025年牛棚养殖废弃物回收与处理服务合同4篇
- 二零二五版门窗行业标准化安装服务合同4篇
- 二零二五版苗木种植与森林防火技术服务合同3篇
- 2025年度新型木门材料研发与市场拓展合作合同3篇
- 二零二五版木托盘生产设备进出口合同4篇
- 安徽省定远重点中学2024-2025学年第一学期高二物理期末考试(含答案)
- 教育教学质量经验交流会上校长讲话:聚焦课堂关注个体全面提升教育教学质量
- 2024人教新目标(Go for it)八年级英语上册【第1-10单元】全册 知识点总结
- 剧本杀店长合同范例
- 华中师范大学第一附中2025届高考仿真模拟数学试卷含解析
- 农村自建房施工合同模板
- GB/T 44731-2024科技成果评估规范
- 影视动画设计与制作合同
- 2023学年广东省深圳实验学校初中部九年级(下)开学语文试卷
- 企业新员工培训师带徒方案
- 2025届河南省郑州一中高三物理第一学期期末学业水平测试试题含解析
评论
0/150
提交评论