如何使用C++实现图书馆管理的操作
来源:爱站网时间:2020-11-03编辑:网友分享
C++实现图书馆管理初学者可以尝试练习,这个功能的实现可以让用户快速的完成工作,今天是爱站技术频道小编介绍的如何使用C++实现图书馆管理的操作,一起来补充能量吧!
C++实现图书馆管理初学者可以尝试练习,这个功能的实现可以让用户快速的完成工作,今天是爱站技术频道小编介绍的如何使用C++实现图书馆管理的操作,一起来补充能量吧!
图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。试设计一图书信息管理系统,使之能提供以下功能:
(1)图书信息录入功能(图书信息用文件保存)
(2)图书信息浏览功能
(3)查询和排序功能:(至少一种查询方式)
.按书名查询
.按作者名查询
(4)图书信息的删除与修改
分享代码如下
#include#include //控制台数据输入输出的函数 #include //文件流 #include //控制数据输出格式 #include const int Maxr=100 ;//最多的读者数 const int Maxb=100; //最多的图书数 const int Maxbor=5; //每位读者最多借的书 class Book {//图书类,实现对图书的描述,图书的编号,书名,借出,还入等功能 private: int tag; //删除标记 1:已删 0:未删 int no; //图书编号 char name[20]; //书名 char author[20];//作者 char fenlei[20];//分类号 char cbs[20]; //出版社 int cbtime;//出版时间 double bookprice;//图书价格 int onshelf; //是否再架 1:再架 2:已借 public: Book(){;} char *getname() {//获取书名 return name; } char *getauthorname() {//获取作者名 return author; } char *getfenlei() {//获取分类号 return fenlei; } char *getcbsname() {//获取出版社名 return cbs; } int getcbtime() {//获取出版时间 return cbtime; } double getbookprice() {//获取图书价格 return bookprice; } int getno() {//获取图书编号 return no; } int gettag() {//获取删除标记 return tag; } void setname(char na[]) {//设置书名 strcpy(name,na); } void setauthorname(char aa[]) {//设置作者名 strcpy(author,aa); } void setfenlei(char fe[]) {//设置分类号 strcpy(fenlei,fe); } void setcbs(char ca[]) {//设置出版社 strcpy(cbs,ca); } void setcbtime(int time) {//设置时间 cbtime=time; } void setbookprice(double price) {//设置图书价格 bookprice=price; } void setonshelf(int oa) { onshelf=oa; } void delbook() {//删除图书 char i; cout>i; if(i=='y'||i=='Y') tag=1; } void addbook(int n,char *na,char *aa,char *fe,char *ca,int time,double price,int oa) {//增加图书 tag=0; no=n; strcpy(name,na); strcpy(author,aa); strcpy(cbs,ca); strcpy(fenlei,fe); cbtime=time; bookprice=price; onshelf=oa; } int borrowbook() {//借书操作 if (onshelf>0) { onshelf--; return 1; } return 0; } void retbook() {//还书操作 onshelf++; } void disp() {//输出图书 cout>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;idisp(); r++; } if(r==0) coutdisp(); r++; } if(r==0) coutdisp(); r++; } if(r==0) cout>choice3; switch(choice3) { case '1': cout>bookid; b=query1(bookid); if(b!=NULL) { cout>bname; cout>auname; cout>bfenlei; cout>cname; cout>time; cout>price; cout>bookod; addbook(bookid,bname,auname,bfenlei,cname,time,price,bookod); char choice2; { cout>choice2; switch(choice2) { case '1': cout>bookid; b=query1(bookid); if(b==NULL) { coutdisp(); cout>ch; if(ch=='y'||ch=='Y') {int a; cout>a; switch(a) { case 1: cout>bname; b->setname(bname); break; case 2: cout>auname; b->setauthorname(auname); break; case 3: cout>bfenlei; b->setfenlei(bfenlei); break; case 4: cout>cname; b->setcbs(cname); break; case 5: cout>time;b->setcbtime(time); break; case 6: cout>price; b->setbookprice(price); break; case 7: cout>bookod; b->setonshelf(bookod); break; case 0: break; } } cout>bookid; b=query1(bookid); if(b==NULL) { coutdelbook(); cout>choice4; switch(choice4) { case 1: cout>bookid; b=query1(bookid); if(b==NULL) { coutdisp(); break; case 2: cout>bname; b=query2(bname); break; case 3: cout>auname; b=query3(auname); break; case 4: cout>cname; b=query4(cname); break; case 0: break; } break; case '5': cout>i; if(i=='y'||i=='Y') tag=1; } void addreader(int n,char *na) {//增加读者 tag=0; no=n; strcpy(name,na); for(int i=0;i >i; if(i=='y'||i=='Y') top=-1; } int addreader(int n,char *na) {//添加读者时先查找是否存在 Reader *p=queryid(n); if (p==NULL) { top++; read[top].addreader(n,na); return 1; } else cout>choice1; switch(choice1) { case '1': cout>readerid; cout>rname; addreader(readerid,rname); cout>readerid; r=queryid(readerid); if(r==NULL) { cout>rname; r->setname(rname); cout>readerid; r=queryid(readerid); if(r==NULL) { coutdelbook(); cout>choice2; switch(choice2) { case 1: cout>readerid; r=queryid(readerid); if(r==NULL) { coutdisp(); break; case 2: cout>readername; r=queryname(readername); if(r==NULL) { coutdisp(); break; case 0: break; } break; case '5': cout>choice2; switch (choice2) { case '1': cout>xh>>mm; if((xh>=138325039)&&(xh138325039)||(xh!=mm)) {cout=3) { cout>choice5; switch (choice5) { case '1': BookDB.bookdata(); break; case '2': ReaderDB.readerdata(); break; case '3': cout>readerid; r=ReaderDB.queryid(readerid); if(NULL==r) {//按编号查找是否有该读者 cout>bookid; b=BookDB.query1(bookid); if(b==NULL) {//按编号查找是否有该图书 coutborrowbook()==0) { coutborrowbook(b->getno()); break; case '4': cout>readerid; r=ReaderDB.queryid(readerid); if(r==NULL) { cout>bookid; b=BookDB.query1(bookid); if(b==NULL) { coutretbook(); r->retbook(b->getno()); break; case '0': break; default: break; } } } }; void main() //主函数 { maindesk yourDesk; if(yourDesk.denglu()) cout
运行效果图:
以上就是爱站技术频道小编介绍的如何使用C++实现图书馆管理的操作,如果你还想了解更多专业知识,相信js.aizhan.com一定能让你满意。
上一篇:如何C语言中实现字符串组合算法
下一篇:C语言的随机数生成及其相关问题