基本信息
源码名称:图书馆管理系统(c++入门级源码)
源码大小:33.10M
文件格式:.rar
开发语言:C/C++
更新时间:2019-08-14
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 5 元 
   源码介绍
这是一个控制台项目





#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 << "请输入选择:";
}