图书借阅管理系统数据结构课程设计说明书

上传人:第*** 文档编号:33995620 上传时间:2018-02-19 格式:DOC 页数:22 大小:141KB
返回 下载 相关 举报
图书借阅管理系统数据结构课程设计说明书_第1页
第1页 / 共22页
图书借阅管理系统数据结构课程设计说明书_第2页
第2页 / 共22页
图书借阅管理系统数据结构课程设计说明书_第3页
第3页 / 共22页
图书借阅管理系统数据结构课程设计说明书_第4页
第4页 / 共22页
图书借阅管理系统数据结构课程设计说明书_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《图书借阅管理系统数据结构课程设计说明书》由会员分享,可在线阅读,更多相关《图书借阅管理系统数据结构课程设计说明书(22页珍藏版)》请在金锄头文库上搜索。

1、中北大学数据结构课 程 设 计 说 明 书学生姓名 : XX 学 号:XX 学 院 : 电 子 与 计 算 机 科 学 技 术 学 院专 业 : 软件工程 题 目 : 图书借阅管理系统成 绩 指导教 师 XXX2009 年 6 月 24 日1 设计目的通过设计掌握数据结构课程 中学到的基本理论和算法并综合运用于理论实际问题中,它是理论与实践结合的重要过程.设计要求学会对实际问题定义相关数据结构,并采用恰当的设计方法和算法解决问题,同时训练学生进行复杂程序设计的技能和培养良好的程序设计习惯.人工管理图书的手续繁索、效率低下给具有强烈时间观念的管理人员带来了诸多不便,学校图书馆缺少一套完善的图书管

2、理软件,为了对图书的管理方便,因此必须开发图书管理系统。2. 设计内容和要求内容:1)图书管理(增加图书、查询图书、删除图书、图书借阅、还书);2)会员管理(增加会员、查询会员、删除会员、借书信息);要求:根据设计内容建立相关数据的动态链表存储结构3本设计所采用的数据结构采用两条单链表,其头结点分别为 head、mhead 的全局变量来存储图书信息和会员信息。其定义数据结构如下:/*图书信息结构体*/typedef struct elemchar bookid5;char bookname50;char bookauthor20;char bookmark2;char memberid4;el

3、emtype;/*图书链表结点结构体*/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)

5、 /*输出图书信息函数*/void addbook() /*增加图书模块*/void select() /*按编号查询图书*/void delete() /*按编号删除图书*/void borrow() /*借阅图书*/void returnbook() /*还书*/void bookmanagetitle() /*图书管理二级菜单*/void bookmanage() /*二级图书管理功能选择函数*/void printmemberinfo(mlinknode head) /*输出会员信息函数*/void addmember() /*增加会员模块*/void selectmember() /

6、*按编号查询会员*/void deletemember() /*按编号删除会员*/void membermanagetitle() /*会员管理二级菜单*/void membermanage() /*二级会员管理功能选择函数*/程序调试运用数据如下:图书初始数据表bookid bookname bookauthor bookmark memberid0001 sanguoyanyi luoguanzhong N 00002 hongloumeng caoxueqin N 00003 xiyouji wuchengen Y 0010004 shuihuzhuan shinaian N 00005

7、 javascript Join N 00006 cprogrom tanghaoqiang N 00007 liaozhaizhiyi pusongling Y 0070008 jia bajin N 00009 richu caoyu Y 0030010 nahan luxun N 0会员信息表memberid membername001 zhouxicai002 longqidong003 lipengfei004 gaopeng005 chenwentang006 yangminghao4.2 源代码main.c 文件:#include#includetype.c#includeini

8、t.c#includebook.c#includemember.c/*系统总菜单*/void welform()clrscr();printf( 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(

9、1)welform();scanf(%d,switch(ch)case 1:bookmanage();break;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

10、 informations are:nn);printf(%-7s%-20s%-15s%-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()l

11、inknode p=(lnode *)malloc(sizeof(lnode);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-nex

12、t=head-next;head-next=p;printf(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

13、; if(p=NULL) printf(nThe book not exit!n);elseprintf(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()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;elseq=p;p=p-next; if(p=NUL

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号