void disp()
{//输出图书
cout<<setw(3)<<no<<setw(10)<<name<<setw(10)<<author<<setw(10)<<fenlei<<setw(15)<<cbs<<setw(10)
<<cbtime<<setw(10)<<bookprice<<setw(10)<<onshelf<<endl;
}
};
class BDatabase
{//图书库类,实现对图书的维护,查找,删除等
private:
int top; //图书记录指针
Book book[Maxb]; //图书记录
public:
BDatabase()
{//构造函数,将book.txt读到book[]中
Book b;
top=-1;
fstream file("book.txt",ios::in);
while (1)
{
file.read((char *)&b,sizeof(b));
if (!file)
break;
top++;
book[top]=b;
}
file.close();
}
void clear()
{//全删
char i;
cout<<"确定全部删除吗?Y/N ?"<<endl;
cin>>i;
if(i=='y'||i=='Y')
top=-1;
}
int addbook(int n,char *na,char *aa,char *fe,char *ca,int time, double price,int oa)
{//增加图书
Book *p=query1(n);
if (NULL==p)
{
top++;
book[top].addbook(n,na,aa,fe,ca,time,price,oa);
return 1;
}
return 0;
}
Book *query1(int bookid)
{//按编号查找图书
for(int i=0;i<=top;i++)
if(book[i].getno()==bookid &&book[i].gettag()==0)
{
return &book[i];
}
return NULL;
}
Book *query2(char a[])
{//按书名查找图书
Book *e;
int r=0;
for(int i=0;i<=top;i++)
if(strcmp(book[i].getname(),a)==0 &&book[i].gettag()==0)
{
if(r==0)
cout<<setw(3)<<"编号"<<setw(10)<<"书名"<<setw(10)<<"作者"<<setw(10)<<"分类号"<<setw(15)<<"出版社"<<setw(10)
<<"出版时间"<<setw(10)<<"图书价格"<<setw(10)<<"存量"<<endl;
e=&book[i];
e->disp();
r++;