#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <iomanip>
#include <string>
#include<stdio.h>
using namespace std;
void display(int);//输出信息
int size=0;
class Book
{
public:
void welcome();//欢迎界面
void welcome1();
void addbook();//1.增加图书
void findbook();
void findbookbyNo();//2.查找图书
void findbookbyName();//2.查找图书
void findbookbyBName();//2.查找图书
void findbookbyAddress();//2.查找图书
void show();//3.查找全部
double setNo()
{
return No;
}
string setaccName()
{
return accName;
}
string setbookName()
{
return bookName;
}
string setaddress()
{
return address;
}
double setprice()
{
return price;
}
private:
int No;
string accName;
string bookName;
string address;
double price;
};
Book book[10000];
int main()
{
Book b;
b.welcome();//欢迎界面
return 0;
}
void Book::welcome()
{
int order;
cout<<"欢迎使用图书馆管理系统"<<endl;
cout<<"|--------------------------------------------|"<<endl;
cout<<"| |"<<endl;
cout<<"|----- 图书管理系统 ------|"<<endl;
cout<<"| |"<<endl;
cout<<"|--------------------------------------------|"<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
cout<<"|--------------------------------------------|"<<endl;
cout<<"|---------------1.增加图书-------------------|"<<endl;
cout<<"|---------------2.查找图书-------------------|"<<endl;
cout<<"|---------------3.查找全部-------------------|"<<endl;
cout<<"|---------------0.退出系统-------------------|"<<endl;
cout<<"|--------------------------------------------|"<<endl;
cout<<"请选择业务:";
cin>>order;
switch(order)
{
case 0:
exit (0);
break;
case 1:
Book::addbook();
break;
case 2:
Book::findbook();
break;
case 3:
Book::show();
break;
}
}
void display(int i)//输出信息
{
cout<<"_____________________________________________________________________"<<endl;
cout<<setiosflags(ios::left)<<setw(12)<<"图书编号"<<setw(20)<<"图书名称"<<setw(12)<<"作者"<<setw(20)<<"出版社"<<setw(20)<<"价格"<<endl;
cout<<setiosflags(ios::left)<<setw(12)<<book[i].setNo()<<setw(20)<<book[i].setbookName()<<setw(12)<<book[i].setaccName()<<setw(20)<<book[i].setaddress()<<setw(20)<<book[i].setprice()<<endl;
cout<<"_____________________________________________________________________"<<endl;
}
void Book::addbook()
{
char c;
cout<<"图书编号:";
cin>>book[size].No;
cout<<"图书名称:";
cin>>book[size].bookName;
cout<<"作者:";
cin>>book[size].accName;
cout<<"出版社:";
cin>>book[size].address;
cout<<"价格:";
cin>>book[size].price;
cout<<"添加图书成功。"<<endl;
display(size);
size++;
cout<<"是否继续添加图书?是(y)否(n)"<<endl;
cin>>c;
if(c=='y')
Book::addbook();
if(c=='n')
Book::welcome();
}
void Book::findbook()
{
int order,c;
cout<<"|------------------------------------------------|"<<endl;
cout<<"|---------------1.根据图书编号-------------------|"<<endl;
cout<<"|---------------2.根据图书名称-------------------|"<<endl;
cout<<"|---------------3.根 据 作 者-------------------|"<<endl;
cout<<"|---------------4.根 据出版 社-------------------|"<<endl;
cout<<"|---------------5.返 回主菜 单-------------------|"<<endl;
cout<<"|------------------------------------------------|"<<endl;
cout<<"请选择业务:";
cin>>order;
switch(order)
{
case 1:
cout<<"请输入图书编号:"<<endl;
Book::findbookbyNo();//2.查找图书
fflush(stdin);
getchar();
Book::findbook();
break;
case 2:
cout<<"请输入图书名称:"<<endl;
Book::findbookbyBName();
fflush(stdin);
getchar();
Book::findbook();
break;
case 3:
cout<<"请输入作者姓名:"<<endl;
Book::findbookbyName();//2.查找图书
fflush(stdin);
getchar();
Book::findbook();
break;
case 4:
cout<<"请输入出版社:"<<endl;
Book::findbookbyAddress();//2.查找图书
fflush(stdin);
getchar();
Book::findbook();
break;
case 5:
Book::welcome();
break;
}
}
void Book::findbookbyNo()
{
int No;
cin>>No;
bool flag=false;
int n;
for(n=0; n<=size; n++)
if(No==book[n].No)
{
flag=true;
break;
}
if(flag)
display(n);
else
cout<<"查无此书!"<<endl;
}
void Book::findbookbyBName()
{
string bname;
cin>>bname;
bool flag=false;
int n;
for(n=0; n<=size; n++)
if(bname==book[n].bookName)
{
flag=true;
break;
}
if(flag)
display(n);
else
cout<<"查无此书!"<<endl;
}
void Book::findbookbyName()
{
string name;
cin>>name;
bool flag=false;
int n;
for(n=0; n<=size; n++)
if(name==book[n].accName)
{
flag=true;
break;
}
if(flag)
display(n);
else
cout<<"查无此书"<<endl;
}
void Book::findbookbyAddress()
{
string address;
cin>>address;
bool flag;
int n;
for(n=0; n<=size; n++)
if(address==book[n].address)
{
flag=true;
break;
}
if(flag)
display(n);
else
cout<<"查无此书"<<endl;
}
void Book::show()
{
for(int n=0; n<size; n++)
{
display(n);
}
}