图书馆管理系统c课程设计内容摘要:

\n\t\t 3 删 除 \n\n\t\t 4 查找 \n\n\t\t 5 显示 \n\n\t\t 6 全删 \n\n\t\t 0退出 endl。 cin choice。 switch (choice) 西华大学数学与计算机学院课程设计说明书 17 { case 39。 139。 : cout 输入管理员编号 :。 cin workerid。 cout 输入管理员姓名 :。 cin wname。 addlibrarian (workerid,wname)。 break。 case 39。 239。 : cout 输入管理员编号 :。 cin workerid。 w=query(workerid)。 if (w==NULL) { cout 该管理员不存在 endl。 break。 } cout 输入新的姓名 :。 cin wname。 wsetname(wname)。 break。 case 39。 339。 : cout 输入管理员编号 :。 cin workerid。 w=query(workerid)。 if (w==NULL) { cout 该管理员不存在 endl。 break。 } wdelworker()。 break。 case 39。 439。 : cout 读入管理员编号 :。 cin workerid。 w=query(workerid)。 if (w==NULL) { cout 该管理员不存在 endl。 break。 } wdisp()。 break。 case 39。 539。 : XXX学校图书馆管理系统 18 disp()。 break。 case 39。 639。 : clear()。 break。 default:cout输入错误,请从新输入:。 break。 } } }。 //读者类 ,实现对读者的信息的描述 class Reader { private: int tag。 //删除标记 1:已删 0:未删 int no。 //读者编号 char name[10]。 //读者姓名 int borbook[Maxbor]。 //所借图书 public: Reader() {} char *getname() {return name。 } //获取姓名 int gettag() {return tag。 } //获取删除标记 int getno() {return no。 } //获取读者编号 void setname(char na[]) //设置姓名 { strcpy(name,na)。 } void delbook(){ tag=1。 }//设置删除标记 1:已删 0:未删 void addreader(int n,char *na)//增加读者 { tag=0。 no=n。 strcpy(name,na)。 for(int i=0。 iMaxbor。 i++) borbook[i]=0。 } void borrowbook(int bookid)//借书操作 { for(int i=0。 iMaxbor。 i++) { if (borbook[i]==0) { borbook[i]=bookid。 return。 } 西华大学数学与计算机学院课程设计说明书 19 } } int retbook(int bookid)//还书操作 { for(int i=0。 iMaxbor。 i++) { if(borbook[i]==bookid) { borbook[i]=0。 return 1。 } } return 0。 } void disp()//读出读者信息 { cout setw(5) no setw(10) name借书编号: [。 for(int i=0。 iMaxbor。 i++) if(borbook[i]!=0) cout borbook[i] |。 cout ]endl。 } }。 //读者类库,实现建立读者的个人资料 class RDatabase { private: int top。 //读者记录指针 Reader read[Maxr]。 //读者记录 public: RDatabase() //构造函数,将 读到 read[]中 { Reader s。 top=1。 fstream file(,ios::in)。 //打开一个输入文件 while (1) { ((char *)amp。 s,sizeof(s))。 if (!file)break。 top++。 read[top]=s。 } ()。 //关闭 } XXX学校图书馆管理系统 20 void clear()//删除所有读者信息 { top=1。 } int addreader(int n,char *na)//添加读者时先查找是否存在 { Reader *p=query(n)。 if (p==NULL) { top++。 read[top].addreader(n,na)。 return 1。 } return 0。 } Reader *query(int readerid)//按编号查找 { for (int i=0。 i=top。 i++) if (read[i].getno()==readerid amp。 amp。 read[i].gettag()==0) { return amp。 read[i]。 } return NULL。 } void disp() //输出所有读者信息 { for (int i=0。 i=top。 i++) read[i].disp()。 } void readerdata()。 //读者库维护 ~RDatabase() //析构函数,将 read[]写到 文件中 { fstream file(,ios::out)。 for (int i=0。 i=top。 i++) if (read[i].gettag()==0) ((char *)amp。 read[i],sizeof(read[i]))。 ()。 } }。 void RDatabase::readerdata() { 西华大学数学与计算机学院课程设计说明书 21 char choice。 char rname[20]。 int readerid。 Reader *r。 while (choice!=39。 039。 ) { cout \n\n\t\t\t读 者 维 护 \n\n\n\t\t 1 新 增 \n\n\t\t 2 更 改 \n\n\t\t 3 删 除 \n\n\t\t 4 查 找 \n\n\t\t 5 显 示 \n\n\t\t 6 全 删 \n\n\t\t 0 退 出 endl。 cin choice。 switch (choice) { case 39。 139。 : cout 输入读者编号 :。 cin readerid。 cout 输入读者姓名 :。 cin rname。 addreader (readerid,rname)。 break。 case 39。 239。 : cout 输入读者编号 :。 cin readerid。 r=query(readerid)。 if (r==NULL) { cout 该读者不存在 endl。 break。 } cout 输入新的姓名 :。 cin rname。 rsetname(rname)。 break。 case 39。 339。 : cout 输入读者编号 :。 cin readerid。 r=query(readerid)。 if (r==NULL) { cout 该读者不存在 endl。 break。 } rdelbook()。 break。 XXX学校图书馆管理系统 22 case 39。 439。 : cout 读入读者编号 :。 cin readerid。 r=query(readerid)。 if (r==NULL) { cout 该读者不存在 endl。 break。 } rdisp()。 break。 case 39。 539。 : disp()。 break。 case 39。 639。 : clear()。 break。 default:cout。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。