1、b,sizeof(b); if (!file) break; top+; btarraytop = b; file.close(); /关闭文件 bdatabase() /析构函数, 将btarray写到book.txt文件中 out); for (int i=0;i=top;i+) if (btarrayi.b_del=1) file.write(char *)&btarrayi,sizeof(btarrayi); void addbooks() /往图书数据库中加图书 book bk; int no; char bname20; coutno;endl请输入书名:bname;endl; b
2、k.b_flag=1; bk.addbook(no, bname); btarraytop=bk; return; int findbooks(int suffix) /查找图书,这个函数用于借书这书操作,suffix是数组下标 for(int i=0; i i+) if(btarrayi.no=no & btarrayi.b_del=1) return i; return -1; int findbooks() /查找图书,这个函数用于图书维护 char value6; if(btarrayi.b_flag=1) strcpy(value,在架); if(btarrayi.b_flag=2)
3、 strcpy(value,借出 cout书号:btarrayi.no 书的名称:btarrayi.name 图书状态 :value void editbooks() /编辑图书 int cur; cur = findbooks(); if (cur=-1) cout没有这本书 return;btarraycur.nobtarraycur.name请修改数据: 书的名称:btarraycur.name; return ; void delbooks() /删除图书 if(btarraycur.b_flag=2) /删除时判断图书是否借出 cout该图书已经借出,请在归还后再删除。 btarra
4、ycur.b_del=2; void listbooks() /显示全部图书 if(btarrayi.b_del=1) if(btarrayi.b_flag=1) strcpy(value,class bookpublic: int no; /图书编号 char name20; /图书名称 int b_flag; int b_del;public : book() void setno(int n) no=n; int getno() return no; /返回图书编号值 void setname(char na) strcpy(name, na); /字符串复制 char* getname
5、() return name; /返回图书名称 void borbook() b_flag=2; /借书标志 void delbook() b_del=2; /删除标志 void addbook(int no,char na) /增加图书功能 setno(no); setname(na); b_flag=1; b_del=1;/读者类class reader int r_del; /1存在,2删除 int r_bor; /1借过书,2没有借书 book brbook; void addreader(int id, char na)/增加读者 no = id; r_del=1; void set
6、brbook(book bt) /设置借书标记 brbook = bt; book getbrbook() return brbook; /返回借书信息;/读者数据库类class rdatabase reader rdarrayBMAX; rdatabase() reader rd;reader.txtrd,sizeof(rd); rdarraytop=rd; /关闭文件 rdatabase()/析构函数 if (rdarrayi.r_del=1) rdarrayi,sizeof(rdarrayi); void addreaders() /添加读者 char rname20;请输入学号:请输入
7、姓名:rname; rd.addreader(no, rname); rd.r_bor=2; rdarraytop=rd; int findreaders(int suffix) /查找读者,这个函数用于借书还书操作。 参数suffix是数组下标 if(rdarrayi.no=no & rdarrayi.r_del=1) int findreaders() /查找读者,这个函数用于读者维护操作 char value3; if(rdarrayi.r_bor=1) strcpy(value,借 if(rdarrayi.r_bor=2) strcpy(value,无学号:rdarrayi.no 姓名
8、:rdarrayi.name 是否借书: void editreaders() /编辑读者信息 cur = findreaders();没有该学生 rdarraycur.name; void delreaders() /删除读者,读者如果借书要还书后才能删除 if(rdarraycur.r_bor=1)该用户借了图书,请还书后再删除 rdarraycur.r_del=2; void listreaders() /显示所有读者 if(rdarrayi.r_del=1) void bookjiemain() /图书维护子菜单 coutin; switch (in) case bd.addbooks
9、(); break; bd.editbooks();3 bd.delbooks();4 bd.findbooks();5 bd.listbooks();6 default:cout输入错误,请从新输入。 while(in!= return;void readersmange() rdatabase bd; readerjiemian(); bd.addreaders(); bd.editreaders(); bd.delreaders(); bd.findreaders(); bd.listreaders();int main(int argc, char* argv) char in; mainjiemian(); borrowtoreturn(in); booksmange(); readersmange();0 return 0;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1