图书馆管理系统代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include
#define DEBUG 0
//宏定义决定测试代码是否编译0为不编译非0则编译
const char book_path[20] = "books.txt";
const char reader_path[20] = "readers.txt";
//文件读写声明
void read_from_files_to_vector();
void write_all_to_files();
#if DEBUG
void scan_readers() {
for(reader &s:readers) {
wcout << s;
}
}
#endif
int main()
{
//完成操作后需要在控制台按5中退出才会保存到文件
wcin.imbue(china);
wcout.imbue(china);
read_from_files_to_vector();
#if DEBUG
cout << "size of readers = " << readers.size() << endl;
cout << "size of books = " << books.size() << endl;
scan_book();
scan_readers();
#endif
string password = "123456"; //密码已改
cout << "------------欢迎使用中南大学网络在线图书系统------------"< cout << "--------------------请选择登录方式--------------------" << endl; cout << " 1 管理员登陆2读者登陆" << endl; int a; cin >> a; cleanScreen(); if (a == 1) { string str; for (int j = 0; j <= 4; j++) { cout << "请输入管理密码,你有" << (4-j) << "次机会" << endl; cin >> 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 图书信息删除" << endl; cout << " 5 保存信息并退出系统" << endl; cout << "--------------请选择操作选项编号--------------" << endl; int b; cin >> 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; cout << " 3 图书信息添加" << endl; cout << " 4 图书信息删除" << endl; cout << " 5 退出系统" << endl; cout << "--------------请选择操作选项编号--------------" << endl; cin >> b; cleanScreen(); } write_all_to_files(); return 0; } else if (a == 2) { int readerIndex = 0; //记录读者下标 //输入学号登陆 cout << "--------------请输入学号--------------" << endl; wchar_t studentnumber[20]; for (int m = 0; m <= 9; m++) { cout << "请输入学号,你有" << (9-m) << "次机会" << endl; wcin >> studentnumber; int t; for (t = 0; t < readers.size(); t++) { if (wcscmp(studentnumber, readers[t].cardnum) == 0) { readerIndex = t; break; } }