实例介绍
【实例简介】这是一个控制台项目
【实例截图】
【核心代码】
#include<iostream> #include<iomanip> #include<string> #include<ctime> #include"Library.h" using namespace std; void Menu1(); //系统主菜单 void Menu2(); //图书管理菜单(主菜单中的第2项) void Menu3(); //读者管理菜单(主菜单中的第3项) void Menu4(string no); //登录系统菜单(主菜单中的第4项) int main() { Library myLib; //图书馆对象myLib int choice1, choice2, choice3, choice4; //choice1~4分别对应menu1~4的用户输入 string myno = "000000"; //用户登录时输入的借书证号 string s; //查找图书时用户输入的书名或作者名 int result; //用于保存调用借书或还书函数返回的结果 int reader_index, book_index; do { Menu1(); cin >> choice1; switch (choice1) { case 1:return 0; case 2: do { Menu2(); cin >> choice2; switch (choice2) { case 1:break; case 2: system("cls"); //TODO:显示myLib的所有图书 myLib.displayAllBooks(); system("pause"); break; case 3: system("cls"); cout << "请输入你要查找的书名:"; cin >> s; myLib.SearchBookbyName(s); //TODO:调用myLib的成员函数进行查找图书 system("pause"); break; case 4: system("cls"); cout << "请输入你要查找的作者名字:"; cin >> s; //TODO:调用myLib的成员函数进行查找图书 myLib.SearchBookbyWriter(s); system("pause"); break; case 5: system("cls"); //TODO:调用myLib的成员函数进行增加图书 myLib.addBook(); system("pause"); break; } } while (choice2 != 1); break; case 3: /*输出Menu3,输入用户选项,并使用switch语句调用相应的成员函数*/ do { Menu3(); cin >> choice3; switch (choice3) { case 1: break; case 2: system("cls"); myLib.displayAllReaders(); system("pause"); break; case 3: system("cls"); myLib.modifyReader(); system("pause"); break; } } while (choice3 != 1); break; case 4: cout << "请输入借书证号登录系统:"; cin >> myno; //查找输入的借书证号myno在读者readers数组中的下标并返回 reader_index = myLib.findReader(myno); if (reader_index != -1) { do { Menu4(myno); cin >> choice4; string myISBN; switch (choice4) { case 1: break; case 2: system("cls"); //TODO:输出读者的个人信息,此处调用myLib的成员函数 myLib.printReader(reader_index); system("pause"); break; case 3: do { system("cls"); cout << "请输入书本ISBN号(输入0000结束借书): "; cin >> myISBN; if (myISBN == "0000") break; //TODO:查找myLib中是否有这本书 book_index = myLib.findBook(myISBN); if (book_index == -1) { cout << "查无此书!" << endl; } else { //1表示借书成功,0表示可借数目已达到上限,-1表示该书的馆藏数量为0 result = myLib.readerBorrowBook(reader_index, book_index); if (result == 1) cout << "借书成功!" << endl; else if (result == 0) cout << "借书失败!您的借书量以达到上限!" << endl; else cout << "借书失败!该书馆藏书目不足。" << endl; } system("pause"); } while (myISBN != "0000"); system("pause"); break; case 4: //TODO: 编写还书的代码 do { system("cls"); cout << "请输入书本ISBN号(输入0000结束借书): "; cin >> myISBN; if (myISBN == "0000") break; //TODO:查找myLib中是否有这本书 book_index = myLib.findbook(reader_index, myISBN); if (book_index == -1) { cout << "您没有借过此书!" << endl; } else { //TODO:调用myLib成员函数读者还书并返回结果给result //1表示还书成功,-1表示没有借过此书 result = myLib.readerRestoreBook(reader_index, book_index); if (result == 1) cout << "还书成功!" << endl; } system("pause"); } while (myISBN != "0000"); system("pause"); break; }//switch } while (choice4 != 1); }//if else { cout << "无此用户,请检查输入借书证号是否正确。" << endl; system("pause"); } }//switch } while (choice1 != 1); } //系统主菜单 void Menu1() { system("cls"); cout << "-----------------------------" << endl; cout << " 图书馆管理系统 " << endl; cout << "-----------------------------" << endl; cout << "\t1. 退出" << endl; cout << "\t2. 图书管理" << endl; cout << "\t3. 读者管理" << endl; cout << "\t4. 登录系统" << endl; cout << "-----------------------------" << endl; cout << "请输入选择:"; } //图书管理菜单(主菜单中的第2项) void Menu2() { system("cls"); cout << "-----------------------------" << endl; cout << " 图书管理 " << endl; cout << "-----------------------------" << endl; cout << "\t1. 返回上级菜单" << endl; cout << "\t2. 查看所有图书" << endl; cout << "\t3. 按书名查找图书" << endl; cout << "\t4. 按作者名查找图书" << endl; cout << "\t5. 增加图书" << endl; cout << "-----------------------------" << endl; cout << "请输入选择:"; } //读者管理菜单(主菜单中的第3项) void Menu3() { system("cls"); cout << "-----------------------------" << endl; cout << " 读者管理 " << endl; cout << "-----------------------------" << endl; cout << "\t1. 返回上级菜单" << endl; cout << "\t2. 查看所有读者" << endl; cout << "\t3. 修改读者信息" << endl; cout << "-----------------------------" << endl; cout << "请输入选择:"; } //登录系统菜单(主菜单中的第4项) void Menu4(string no) { system("cls"); cout << "--------------------------------------" << endl; cout << " 借书证号:" << no << endl; cout << "--------------------------------------" << endl; cout << "\t1. 返回上级菜单(注销登录)" << endl; cout << "\t2. 输出个人信息" << endl; cout << "\t3. 借书" << endl; cout << "\t4. 还书" << endl; cout << "--------------------------------------" << endl; cout << "请输入选择:"; }
好例子网口号:伸出你的我的手 — 分享!
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论