1、Book() char *getname() return name; /获取姓名 int getno() return no; /获取图书编号 int gettag() return tag; /获取删除标记 char *getauthor() return author; /获取作者名char *getno2() return no2; /获取分类号char *getdan() return dan; /获取出版单位char *gettime() return time; /获取出版时间char getprice() return price; /获取图书价格void setname(ch
2、ar na) /设置书名 strcpy(name,na); void setauthor(char au) /设置作者名 strcpy(author,au);void setno2(char n) /设置分类号 strcpy(no2,n);void setdan(char d) /设置出版单位 strcpy(dan,d);void settime(char t) /设置出版时间strcpy(time,t);void delbook() tag=1; /删除图书 void addbook(int n,char *na,char *au,char *n2,char *da,char *ti,int
3、 pr) /增加图书 tag=0;no=n;price=pr;strcpy(author,au);strcpy(no2,n2);strcpy(dan,da);strcpy(time,ti);void disp() /输出图书 cout setw(10) no name setw(10) setw(10)authorsetw(10)no2dantimepriceendl;class BDatabase /图书库类 int top; /图书记录指针 Book bookMaxb; /图书记录 BDatabase() /构造函数,将book.txt读到book中 Book b;top=-1;fstre
4、am file(book.txt,ios:in);while (1) file.read(char *)&b,sizeof(b);if (!file) break;top+;booktop=b;file.close();void clear() /全删 int addbook(int n,char *na,char *au, char *n2, char *da,char *ti,int pr) /增加图书 Book *p=query(n);if (p=NULL) booktop.addbook(n,na,au,n2,da,ti,pr);return 1;return 0;Book *quer
5、y(int bookid) /查找图书 for (int i=0;i=top;i+) if (booki.getno()=bookid &booki.gettag()=0) return &booki;return NULL;Book *query2(int bookid,char *name) /按书名查找图书 for(int i=0;i+) if(strcmp(booki.getname(),name)=0) bookid=booki.getno(); return & return NULL;Book *query3(int bookid,char *author) /按作者查找图书 i
6、f(strcmp(booki.getauthor(),author)=0)void bookdata(); /图书库维护 void disp() cout图书编号图书名字图书作者图书分类出版单位出版时间价格if (booki.gettag()=0) booki.disp();BDatabase() /析构函数,将book写入book.txt文件中 out);file.write(char *)&booki,sizeof(booki);void BDatabase:bookdata() int choice=1;int choice2=1;int choice3=1;int choice4=1;
7、char bname40;char bauthor10;char bno220;char bdan20;char btime20;int bprice;int bookid;Book *b;while (choice!=0) coutendlcout choice; /如果输入的编号在菜单里不存在的情况-在for循环内部如果出现这样的错的时候while(choice!=1&choice!=2&=3&=4&=5&=6&=0) * 您输入的编号在菜单里不存在,请重新输入 *a 请选择您需要的操作: cinchoice;switch (choice) case 1:输入图书编号: bookid; c
8、out bno2;输入出版单位:bdan;输入出版时间:btime;输入价格:bprice;addbook(bookid,bname,bauthor,bno2,bdan,btime,bprice);bookid添加成功;按任意键返回菜单 break;case 2: 输入图书编号:b=query(bookid);if (b=NULL) 该图书不存在 setname(bname);输入新的作者名: /修改图书作者setauthor(bauthor);case 3:输入新的分类号: /修改图书的分类号setno2(bno2);case 4:输入新的出版单位: /修改图书出版单位setdan(bdan
9、);case 5:输入新的出版时间:settime(btime); /修改出版时间delbook();查找方式:1按图书编号查询 2按图书名查询 3按作者名查询 0退出:choice3;switch(choice3) cout 请输入作者名: b=query3(bookid,bauthor);该作者不存在!case 6:clear(); 谢谢您的支持! 欢迎下次继续使用 void main() system(color 2f); * 请登录!int q=0,w=1001;number:int e;请输入账号e;if(q=e) number1: int r;请输入密码r; if (w=r)fstream iofile;if(!iofile) 打开文件失败!system(clsBDatabase BookDB;int nb; 欢迎使用图书馆信息管理系统 输入1进入菜单 :nb;while(nb!=1) * 您的输入有误 *if(nb=1)BookDB.bookdata(); else *密码错误!请重新输入* goto number1;else *账号错误!goto number;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1