图书借阅管理系统数据结构课程设计说明书(共22页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《图书借阅管理系统数据结构课程设计说明书(共22页).doc》由会员分享,可在线阅读,更多相关《图书借阅管理系统数据结构课程设计说明书(共22页).doc(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上中北大学数据结构课 程 设 计 说 明 书学生姓名:周西财学 号:学 院:电子与计算机科学技术学院专 业:软件工程题 目:图书借阅管理系统成绩指导教师周海英2009 年 6 月 24 日1 设计目的通过设计掌握数据结构课程 中学到的基本理论和算法并综合运用于理论实际问题中,它是理论与实践结合的重要过程.设计要求学会对实际问题定义相关数据结构,并采用恰当的设计方法和算法解决问题,同时训练学生进行复杂程序设计的技能和培养良好的程序设计习惯.人工管理图书的手续繁索、效率低下给具有强烈时间观念的管理人员带来了诸多不便,学校图书馆缺少一套完善的图书管理软件,为了对图书的管理方便
2、,因此必须开发图书管理系统。2. 设计内容和要求内容:1)图书管理(增加图书、查询图书、删除图书、图书借阅、还书);2)会员管理(增加会员、查询会员、删除会员、借书信息);要求:根据设计内容建立相关数据的动态链表存储结构3本设计所采用的数据结构采用两条单链表,其头结点分别为head、mhead的全局变量来存储图书信息和会员信息。其定义数据结构如下:/*图书信息结构体*/typedef struct elemchar bookid5;char bookname50;char bookauthor20;char bookmark2;char memberid4;elemtype;/*图书链表结点结
3、构体*/typedef struct nodeelemtype data;struct node *next;lnode,*linknode;/*会员信息结构体*/typedef struct memberelemchar memberid4;char membername20;memberelemtype;/*会员链表结点结构体*/typedef struct membernodememberelemtype data;struct membernode *next;mlnode,*mlinknode;4功能模块详细设计图书借阅管理系统图书管理模块会员管理模块增加图书查询图书删除图书图书借阅
4、还书增加会员查询会员借书信息删除会员4.1 详细设计思想系统启动时,通过读取文件完成对以head、mhead为表头的单链表完成初始化。初始化后系统进入系统菜单,其运行界面如下: 当选择功能1时,进入图书管理模块,其运行界面如下:当选择功能2时,进入会员管理模块,其运行界面如下: 为了实现上述功能,特定义以下函数原型,具体代码参见源代码部分:void main() /*入口*/void initallinfo() /*初始化图书和会员链表*/void welform() /*系统总菜单*/void printbookinfo(linknode head) /*输出图书信息函数*/void add
5、book() /*增加图书模块*/void select() /*按编号查询图书*/void delete() /*按编号删除图书*/void borrow() /*借阅图书*/void returnbook() /*还书*/void bookmanagetitle() /*图书管理二级菜单*/void bookmanage() /*二级图书管理功能选择函数*/void printmemberinfo(mlinknode head) /*输出会员信息函数*/void addmember() /*增加会员模块*/void selectmember() /*按编号查询会员*/void delete
6、member() /*按编号删除会员*/void membermanagetitle() /*会员管理二级菜单*/void membermanage() /*二级会员管理功能选择函数*/程序调试运用数据如下:图书初始数据表bookidbooknamebookauthorbookmarkmemberid0001sanguoyanyiluoguanzhongN00002hongloumengcaoxueqinN00003xiyoujiwuchengenY0010004shuihuzhuanshinaianN00005javascriptJoinN00006cprogromtanghaoqiangN
7、00007liaozhaizhiyipusonglingY0070008jiabajinN00009richucaoyuY0030010nahanluxunN0会员信息表memberidmembername001zhouxicai002longqidong003lipengfei004gaopeng005chenwentang006yangminghao4.2 源代码main.c文件:#include#includetype.c#includeinit.c#includebook.c#includemember.c/*系统总菜单*/void welform() clrscr(); printf
8、( SYSTEM MAIN MENU n); printf(*n); printf(* 1: book manage *n); printf(*-*n); printf(* 2: member manage *n); printf(*-*n); printf(* 0: quit *n); printf(*n); printf(nnPlease input order:n);void main() int ch; initallinfo(); /*初始化链表*/ while(1) welform(); scanf(%d,&ch); switch(ch) case 1:bookmanage();b
9、reak; case 2:membermanage();break; case 0:exit(0); default: printf(nYou hava input the wrong order!n); printf(Press anykey return.); getchar(); getchar(); BOOK.C文件:/*输出图书信息函数*/void printbookinfo(linknode head) linknode p=head-next; clrscr(); printf(The book informations are:nn); printf(%-7s%-20s%-15
10、s%-6s%sn,id,title,author,mark,borower);printf(*nn); for(;p!=NULL;p=p-next)printf(%-7s%-20s%-15s%-6s%sn,p-data.bookid,p-data.bookname,p-data.bookauthor,p-data.bookmark,p-data.memberid); printf(nPress anykey retrun.); getchar();getchar();/*增加图书模块*/void addbook() linknode p=(lnode *)malloc(sizeof(lnode
11、); clrscr(); printf(Add books.n); printf(please input bookinfo:nn); printf(%-7s%-20s%-15sn,id(4),title,author); printf(*n); scanf(%s%s%s,p-data.bookid,p-data.bookname,p-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; pr
12、intf(nnAdd success!n); printf(nPress anykey retrun.); getchar(); getchar();/*按编号查询图书*/void select() char id5; linknode p; clrscr(); p=head-next; printf(select book by id.nn); printf(Please input book id:n); scanf(%s,id); while(p!=NULL) if(strcmp(p-data.bookid,id)=0) break; else p=p-next; if(p=NULL)
13、printf(nThe book not exit!n); else printf(n%-7s%-20s%-15s%-3s%sn,id,title,author,borowed,borower); printf(*n); printf(n%-7s%-20s%-15s%-3s%sn,p-data.bookid,p-data.bookname,p-data.bookauthor,p-data.bookmark,p-data.memberid); printf(nPress anykey retrun.); getchar();getchar(); /*按编号删除图书*/void delete()
14、char id5; linknode p,q; clrscr(); 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; else q=p;p=p-next; if(p=NULL) printf(nThe book you want to delete are not exit!n); else q-next=p-next; free(p); print
15、f(nDelete success!n); printf(nPress anykey retrun.); getchar(); getchar();/*借阅图书*/void borrow() char id5; char mid4; linknode p; mlinknode q; clrscr(); printf(borrow book.nn); do p=head-next; printf(Please input book id:n); scanf(%s,id); while(p!=NULL) if(strcmp(p-data.bookid,id)=0) break; else p=p-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 借阅 管理 系统 数据结构 课程设计 说明书 22
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内