{ top++;
book[top].addbook(n,na); return 1; } return 0; }
Book *query(int bookid)//查找图书 {
for (int i=0;i<=top;i++)
if (book[i].getno()==bookid &&book[i].gettag()==0) {
return &book[i]; }
return NULL; }
void bookdata();//图书库维护 void disp() {
for (int i=0;i<=top;i++) if (book[i].gettag()==0) book[i].disp(); }
~BDatabase()//析构函数,将book[]写到book.txt文件中
{
fstream file(\for (int i=0;i<=top;i++) if (book[i].gettag()==0)
file.write((char *)&book[i],sizeof(book[i])); file.close(); } };
void BDatabase::bookdata() {
char choice; char bname[40]; int bookid; Book *b;
while (choice!='0') {
cout <<\图 书 维 护 \
cout<<\新 增\\n \\t\\t2 更 改\\n\\t\\t3 删 除\\n\\t\\t4 查 找\\n\\t\\t5 显 示\\n\\t\\t6 全 删\\n\\t\\t0 退 出\cin >> choice; switch (choice) { case '1':
cout << \输入图书编号:\cin >> bookid;
cout << \输入图书书名:\cin >> bname;
addbook(bookid,bname); break; case '2':
cout << \输入图书编号:\cin >> bookid; b=query(bookid); if (b==NULL) {
cout << \该图书不存在 \break; }
cout << \输入新的书名:\cin >> bname; b->setname(bname); break; case '3':
cout <<\读入图书编号:\cin >> bookid; b=query(bookid); if (b==NULL) {
cout <<\该图书不存在\
break; }
b->delbook(); break; case '4':
cout << \读入图书编号:\cin >> bookid; b=query(bookid); if (b==NULL) {
cout <<\该图书不存在\break; }
b->disp(); break; case '5': disp(); break; case '6': clear(); break;
default:cout<<\输入错误,请从新输入:\} }
相关推荐: