图书借阅管理系统(C++)数据结构课程设计.docx
《图书借阅管理系统(C++)数据结构课程设计.docx》由会员分享,可在线阅读,更多相关《图书借阅管理系统(C++)数据结构课程设计.docx(16页珍藏版)》请在沃文网上搜索。
1、/姓名: /班级: /学号: 、/*图书借阅管理系统: 要求:为一个图书馆设计一个简单的借阅管理选题,主要分为两大功能: 图书管理(增加图书、查询图书、删除图书、图书借阅、还书); 会员管理(增加会员、查询会员、删除会员、借书信息);*/#include stdio.h#include iostream.h#include stdafx.h#include malloc.h#include stdlib.h#include #include /*结构体部分*/*图书信息结构体*/typedef struct elemchar bookid5;char bookname20;char booka
2、uthor50;char bookmark2;char memberid4;elemtype;/*图书链表结点结构体*/typedef struct nodeelemtype data;struct node *next;lnode,*linknode;/*会员信息结构体*/typedef struct memberelemchar memberid4;char membername10;memberelemtype;/*会员链表结点结构体*/typedef struct membernodememberelemtype data;struct membernode *next;mlnode,
3、*mlinknode;/*创建函数部分*/创建与销毁部分/*创建空图书链表*/linknode Init_lnode()linknode head; head=(linknode)malloc(sizeof(lnode);if(head)head-next=NULL; head-data.bookauthor50=NULL; head-data.bookid5=NULL;head-data.bookmark2=NULL;head-data.bookname20=NULL;head-data.memberid4=NULL;return head;/*销毁图书链表*/void Destroy_ln
4、ode(linknode *head)linknode p,q;if (!(*head)return; p=*head;while(!p)q=p;p=p-next;free(q);*head=NULL;/*创建空会员链表*/mlinknode Init_mlnode()mlinknode mhead; mhead=(mlinknode)malloc(sizeof(mlnode);if(mhead)mhead-next=NULL; mhead-data.memberid4=NULL;mhead-data.membername10=NULL;return mhead;/*销毁会员链表*/void
5、Destroy_mlnode(mlinknode *mhead)mlinknode p,q;p=*mhead;if (!(*mhead)return;while(p)q=p;p=p-next;free(q);*mhead=NULL;/图书管理函数/*增加图书模块*/void addbook(linknode head) linknode p;p=(linknode)malloc(sizeof(lnode); system(cls); printf(Add books.n); printf(please input bookinfo:nn); printf(%-7s%-20s%-15sn,id(
6、4),bookname,bookauthor); printf(*n); /scanf(%s%s%s,p-data.bookid,p-data.bookname,p-data.bookauthor);cinp-data.bookname;cinp-data.bookauthor; p-data.bookmark0=N; p-data.bookmark1=0; p-data.memberid0=0; p-data.memberid1=0;p-next=head-next;head-next=p; printf(nnAdd success!n); printf(nPress anykey retr
7、un.);getchar();getchar();/*输出图书信息函数*/void printbookinfo(linknode head) linknode p;p=Init_lnode();p=head-next; system(cls); printf(The book informations are:nn);coutid tbooknametbookauthorttmarktborower tn; /printf(tn,ttn,ttn,tntn,id,bookname,bookauthor,mark,borower); cout*endl; while(p) coutdata.boo
8、kid t;coutdata.bookname t t;coutdata.bookauthor t t;coutdata.bookmark t;coutdata.memberidnext;getchar();/*按编号查询图书*/void select(linknode head)char id5; linknode p; system(cls); p=head-next; printf(select book by id.nn); printf(Please input book id:n); cinid;while(p)if(strcmp(p-data.bookid,id)=0) brea
9、k; else p=p-next; if(p=NULL) printf(nThe book not exit!n); else /printf(tn,ttn,ttn,tntn,id,bookname,bookauthor,mark,borower);coutid tbooknametbookauthorttmarktborower tn; /printf(tn,ttn,ttn,tntn,id,bookname,bookauthor,mark,borower); cout*data.bookid,p-data.bookname,p-data.bookauthor,p-data.bookmark,
10、p-data.memberid);printf(nPress anykey retrun.); getchar();/*按编号删除图书*/void deletebook(linknode head)char id5; linknode p,q; system(cls); p=head-next;q=head; printf(delete book by id.nn); printf(Please input book id:n); scanf(%s,id); while(p!=NULL)if(strcmp(p-data.bookid,id)=0) break; elseq=p;p=p-next
11、; if(p=NULL) printf(nThe book you want to delete are not exit!n); elseq-next=p-next; free(p); printf(nDelete success!n); printf(nPress anykey retrun.); getchar(); getchar(); /*借阅图书*/void borrow(linknode head,mlinknode mhead)char id5; char mid4; linknode p; mlinknode q;p=head;q=mhead-next; system(cls
12、); printf(borrow book.nn); printf(Please input book id:n); cinid;while(p) if(p)if(strcmp(p-data.bookid,id)!=0)p=p-next; break;if(p=NULL) printf(nThe book doesnt exit! please input it again!nn); getchar();else/下面全体 printf(nPlease input member id:n); cinmid;while(q) if(q)if(strcmp(q-data.memberid,mid)
13、!=0)q=q-next;else break;if(q=NULL) printf(nYou are not member! input againn); else if(strcmp(p-data.bookmark,Y)!=0) strcpy(p-data.bookmark,Y); strcpy(p-data.memberid,q-data.memberid); printf(nsuccessed!n); getchar(); else printf(nnThe book have borrowed, please wait a few days.); getchar(); printf(n
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 借阅 管理 系统 数据结构 课程设计