#include<iostream>
#include<string>
#include<vector>
#include<windows.h>
using namespace std;
struct book
{
string m_name;
string m_isbn;
float m_price;
string m_publishment;
bool m_ex=1;
book(string name,string isbn,float price,string publishment)
{
m_name=name;
m_isbn=isbn;
m_price=price;
m_publishment=publishment;
}
};
class Library
{
private:
vector<book>books;
public:
Library()
{
books.emplace_back("yuwen","0001",13.6,"Place-A");
books.emplace_back("shuxue","0002",16.6,"Place-B");
books.emplace_back("yingyu","0003",14.6,"Place-D");
books.emplace_back("wuli","0004",15.6,"Place-D");
books.emplace_back("huaxue","0005",13.5,"Place-R");
books.emplace_back("shnegwu","0006",13.9,"Place-L");
}
void Add_book();
void Remove_book();
void Borrow_book();
void Return_book();
void Modify_book();
void Clear_book();
void Library_Show();
void Library_Running();
void Show_books();
};
void Library::Add_book()
{
cout<<"请依次输入:"<<endl;
string name;
string isbn;
float price;
string publishment;
cout<<"name:"<<endl;
cin>>name;
cout<<"isbn:"<<endl;
cin>>isbn;
cout<<"price:"<<endl;
cin>>price;
cout<<"publishment:"<<endl;
cin>>publishment;
bool fail=0;
for(auto &it:books)
{
if(it.m_name==name||it.m_isbn==isbn)
{
fail=1;
break;
}
}
if(fail)
{
cout<<"该书已存在!"<<endl;
}
else
{
books.emplace_back(name,isbn,price,publishment);
cout<<"添加成功!"<<endl;
}
system("pause");
}
void Library::Remove_book()
{
cout<<"请输入书本名称或书本ISBN"<<endl;
cout<<"请选择:0---书本名称\t非0---书本ISBN"<<endl;
char flag;
cin>>flag;
string nori;
if(flag!='0')
{
cout<<"请输入书本名称:"<<endl;
}
else
{
cout<<"请输入书本ISBN:"<<endl;
}
cin>>nori;
bool fail=1;
for(auto it=books.begin(); it!=books.end();)
{
if(flag==0&&it->m_name==nori)
{
books.erase(it);
cout<<"删除成功!"<<endl;
fail=0;
break;
}
else if(flag!=0&&it->m_isbn==nori)
{
books.erase(it);
cout<<"删除成功!"<<endl;
fail=0;
break;
}
else
{
++it;
}
}
if(fail)
{
cout<<"未找到该书本!"<<endl;
}
system("pause");
}
void Library::Borrow_book()
{
cout<<"请输入书本名称或书本ISBN"<<endl;
cout<<"请选择:0---书本名称\t非0---书本ISBN"<<endl;
char flag;
cin>>flag;
string nori;
if(flag!='0')
{
cout<<"请输入书本名称:"<<endl;
}
else
{
cout<<"请输入书本ISBN:"<<endl;
}
cin>>nori;
bool fail=1;
for(auto &it:books)
{
if(flag==0&&it.m_name==nori)
{
if(it.m_ex==1)
{
cout<<"借书成功"<<endl;
it.m_ex=0;
}
else if(it.m_ex==0)
{
cout<<"该书本已被借出!"<<endl;
}
fail=0;
break;
}
else if(flag!=0&&it.m_name==nori)
{
if(it.m_ex==1)
{
cout<<"借书成功"<<endl;
it.m_ex=0;
}
else if(it.m_ex==0)
{
cout<<"该书本已被借出!"<<endl;
}
fail=0;
break;
}
}
if(fail)
{
cout<<"未找到该书本!"<<endl;
}
system("pause");
}
void Library::Return_book()
{
cout<<"请输入书本ISBN:"<<endl;
string isbn;
cin>>isbn;
bool fail=1;
for(auto &it:books)
{
if(it.m_isbn==isbn)
{
it.m_ex=1;
cout<<"还书成功!"<<endl;
fail=0;
break;
}
}
if(fail)
{
cout<<"还书失败!"<<endl;
}
system("pause");
}
void Library::Modify_book()
{
cout<<"请输入修改书籍的名称"<<endl;
string bookname;
cin>>bookname;
bool fail=1;
for(auto &it:books)
{
if(it.m_name==bookname)
{
fail=0;
cout<<"请选择你要修改的内容:"<<endl;
cout<<"1---name"<<endl;
cout<<"2---isbn"<<endl;
cout<<"3---price"<<endl;
cout<<"4---publishment"<<endl;
int select=-1;
cin>>select;
switch(select)
{
case 1:
{
cout<<"请输入name:"<<endl;
string name;
cin>>name;
it.m_name=name;
cout<<"name修改成功!"<<endl;
break;
}
case 2:
{
cout<<"请输入isbn:"<<endl;
string isbn;
cin>>isbn;
it.m_isbn=isbn;
cout<<"isbn修改成功!"<<endl;
break;
}
case 3:
{
cout<<"请输入price:"<<endl;
float price;
cin>>price;
it.m_price=price;
cout<<"price修改成功!"<<endl;
break;
}
case 4:
{
cout<<"请输入publishment:"<<endl;
string publishment;
cin>>publishment;
it.m_publishment=publishment;
cout<<"publishment修改成功!"<<endl;
break;
}
default:
break;
}
}
}
if(fail)
{
cout<<"未找到该书本!"<<endl;
}
system("pause");
}
void Library::Clear_book()
{
cout<<"是否真的清空书籍"<<endl;
cout<<"1---是"<<"\t"<<"非1---否"<<endl;
char select=-1;
cin>>select;
if(select=='1')
{
books.clear();
cout<<"书籍已清空!"<<endl;
}
else
{
cout<<"你已取消!"<<endl;
}
system("pause");
}
void Library::Library_Show()
{
cout<<"******************************"<<endl;
cout<<"*****欢迎来到图书管理系统*****"<<endl;
cout<<"*****A---Add_book *****"<<endl;
cout<<"*****B---Remove_book *****"<<endl;
cout<<"*****C---Borrow_book *****"<<endl;
cout<<"*****D---Return_book *****"<<endl;
cout<<"*****E---Modify_book *****"<<endl;
cout<<"*****F---Clear_book *****"<<endl;
cout<<"*****G---Show_books *****"<<endl;
cout<<"*****Anykey---exit *****"<<endl;
cout<<"******************************"<<endl;
}
void Library::Library_Running()
{
bool exitence=0;
while(1)
{
system("cls");
Library_Show();
cout<<"请选择功能:"<<endl;
char ch;
cin>>ch;
switch(ch)
{
case 'A':
case 'a':
{
Add_book();
break;
}
case 'B':
case 'b':
{
Remove_book();
break;
}
case 'C':
case 'c':
{
Borrow_book();
break;
}
case 'D':
case 'd':
{
Return_book();
break;
}
case 'E':
case 'e':
{
Modify_book();
break;
}
case 'F':
case 'f':
{
Clear_book();
break;
}
case 'G':
case 'g':
{
Show_books();
break;
}
default:
{
exitence=1;
cout<<"欢迎下次再来!"<<endl;
break;
}
}
if(exitence)
{
break;
}
Sleep(100);
}
}
void Library::Show_books()
{
for(auto &m:books)
{
cout<<"name:"<<m.m_name<<"\tisbn:"<<m.m_isbn<<"\tprice:"<<m.m_price<<"\tpublishment:"<<m.m_publishment<<"\t"<<(m.m_ex?"存在":"借出")<<endl;
}
cout<<"一共"<<books.size()<<"本书"<<endl;
system("pause");
}
int main()
{
Library lib;
lib.Library_Running();
return 0;
}
有错误望指正!!!