图书管理基本业务(数据结构课)程设计报告.

上传人:我** 文档编号:115360811 上传时间:2019-11-13 格式:DOC 页数:21 大小:335KB
返回 下载 相关 举报
图书管理基本业务(数据结构课)程设计报告._第1页
第1页 / 共21页
图书管理基本业务(数据结构课)程设计报告._第2页
第2页 / 共21页
图书管理基本业务(数据结构课)程设计报告._第3页
第3页 / 共21页
图书管理基本业务(数据结构课)程设计报告._第4页
第4页 / 共21页
图书管理基本业务(数据结构课)程设计报告._第5页
第5页 / 共21页
点击查看更多>>
资源描述

《图书管理基本业务(数据结构课)程设计报告.》由会员分享,可在线阅读,更多相关《图书管理基本业务(数据结构课)程设计报告.(21页珍藏版)》请在金锄头文库上搜索。

1、 某大学某学院数据结构课程课程设计设计题目: 图书管理基本业务 姓 名: X X 学 号: 0123456789 专业班级: 12级软件工程(1)班 院 系: 信息工程学院 设计时间: 2012-2013学年第2学期 设计地点: 计算机中心公共机房B区 成绩: 指导教师签名: 年 月 日1某大学12级数据结构课程设计目 录1 绪 论11.1 课程设计的目的11.2课题设计的意义12 需求分析22.1 课程设计要求22.2 课程设计任务22.3分析用例23 设计思路34 详细设计45 数据测试96 总结体会13参考文献14附录源代码15191 绪 论改革开放以来,随着我国经济水平的提高,计算机知

2、识在我国得到了越来越大的普及。计算机也在各个领域发挥着越来越大的作用。科技的提高,让我们的生活、工作越来越离不开计算机。随着时代的发展,人们越来越离不开书本。每个学校都有自己的图书馆,班级也会有班级的书库,相信大家都有自己的书库。对于普通微小型用户来说,自己的书库不大,也没有多余的资金来购买专业的操作复杂的价格昂贵的图书管理系统。以往的图书借阅手段效率低,操作复杂,为了便于图书资料的管理需,减轻工作人员的工作量,方便用户对书籍的查找、借阅、归还,用户应具有一套完善的图书借阅管理系统。在这种情况下,一个免费,高效,简单,实用的图书管理系统就非常适合于这类普通微小型用户。1.1 课程设计的目的设计

3、一个免费,高效,简单,实用的图书管理系统。1.2课题设计的意义让普通微小型用户可以更好的管理自己的书库。免于购买专业的操作复杂的价格昂贵的图书管理系统,节约资金以免造成浪费。此系统以“免费,高效,简单,实用”为核心,倾心倾力为普通微小型用户量身打造!所以简便易用,高效实用改善普通微小型用户书库环境。2 需求分析2.1 课程设计要求(1)用C语言实现程序设计;(2)利用结构体、单链表的基本操作进行相关信息处理;(3)画出查询模块的流程图;(4)系统的各个功能模块要求函数的形式实现;(5)界面友好(良好的人机交互),程序要有注释。2.2 课程设计任务设计一个计算机管理系统完成图书管理基本业务。1)

4、 馆藏图书信息。每种书的登记内容包括书号、书名、著作者、现存量和库存量;2) 图书查询。对书号查找,并显示所查找图书的所有信息,包括书号、书名、著作者、现存量、库存量和借阅者姓名;3)系统主要功能如下:采编入库:新购一种书确定书号后,登记到图书帐目表中,如果表中已有,则将库存量和现存量增加;读者借阅:若一种书的现存量大于0,则借出一本,登记借阅者的姓名,改变现存量,若一种书的现存量为0,则提示该书库存不足,读者无法借阅;读者归还:注销对借阅者的登记,改变该书的现存量。2.3分析用例书号书名著作者现存量库存量借阅者姓名1高等数学同济大学55NULL2数字电路清华大学33NULL3大学英语蔡基刚等

5、00NULL4基本算法戴燕等著33NULL5三言二拍冯梦龙等55NULL3 设计思路本程序是以单链表的基本操作为基础,进行改造升级,而形成的图书管理基本操作程序。图书馆基本业务模拟包含多方面的操作,其中本程序描述的是图书馆的新书入库、图书馆借阅、归还、信息查询(书籍信息查询)等功能。1)新书入库功能:新到书籍入库包含几方面的操作:查询该书名的书籍在图书馆信息中是否已经存在,若存在,则增加可借数量和书籍总量,若不存在,则新增加概述信息,从界面输入书籍的编号(0999999的长整型)、书名(字符串类型)、该书作者名(字符串类型)、该书的现存量(整型)、该书的总量(整型)。输入该信息之后,将该节点插

6、入到书籍信息链表中去。该节点的插入位置根据查找,找到合适的位置插入,这样可以保证整个数据都是有序的,方便查找。2)借阅功能书籍借阅主要涉及存书库和读者信息库双方的更新。用户首先使用系统,查询该书是否存在,该书的剩余数量是否大于零,最后查询该读者是否已经借满书籍。若以上条件都满足,则将该读者的可借书数量减一,该存书的可借数量减一。3)归还功能按书名号来归还所借书籍,若书名号正确并且确认归还该书籍,删除该书的读者借阅信息(姓名),然后返回。4)信息查询功能信息查询分为读者信息查询和书籍信息查询,读者信息查询是在读者登录之后,可以显示本人的基本信息以及借书状况(所借书的本数、可借书本书以及所借书的信

7、息),还可查询书籍信息,可根据书籍的编号来查找书籍、根据书名来查找书籍、根据作者名来查询书籍。查询到该书籍后显示是否借阅该书籍。4 详细设计首先定义一个定义一个单链表的结点typedef struct nodeint num;/书号char title50;/书名char author50;/著作者int num1;/现存量int num2;/库存量char name50;/借阅者姓名struct node *link;linklist;此结点包括书号,书名,著作者,现存量,库存量,借阅者姓名。linklist* creatnull(linklist *l)/建立一个带头的结点; l=(lin

8、klist*)malloc(sizeof(linklist);l-link=NULL;return l;馆藏图书信息模块void print(linklist *l)/输出所有图书的信息linklist *p;p=l-link;printf(n输出所有图书的信息:n书号t书名t著作者t现存量t库存量t借阅者姓名);while(p)printf(n%dt%st%st%dt%dt%s,p-num,p-title,p-author,p-num1,p-num2,p-name);p=p-link; /指针指向下一个通过对单链表的输出来完成对馆藏图书信息的输出;采编入库模块void creat(linkl

9、ist *l)/采编入库int i,n;linklist *p,*tail,*q;tail=l;if(l-link!=NULL) q=l-link; else q=l;while(tail-link!=NULL)tail=tail-link;printf(n请输入入库图书的数量:);scanf(%d,&n);for(i=1;inum);while(q-num!=p-num&q-link!=NULL)q=q-link;if(q-num=p-num) q-num1=q-num1+1;q-num2=q-num2+1;printf(n该图书已在图书库存在,已自动增加图书数量);else printf(

10、n请输入入库图书的书名:); scanf(%s,&p-title); printf(n请输入入库图书的著作者:); scanf(%s,&p-author); printf(n请输入入库图书的现存量:); scanf(%d,&p-num1); printf(n请输入入库图书的库存量:); scanf(%d,&p-num2);strcpy(p-name,NULL);tail-link=p;tail=p; tail-link=NULL;首先先判断该结点是否为空,若不为空,指针指向下一个结点。若该结点为空,输入入库图书的数量,通过for循环依次输入书号,书名,著作者,现存量,库存量等信息。其中whil

11、e(q-num!=p-num&q-link!=NULL)q=q-link;if(q-num=p-num) q-num1=q-num1+1;q-num2=q-num2+1;printf(n该图书已在图书库存在,已自动增加图书数量。);根据输入的书号(入库的图书)与库存的书号(本库的图书)是否相同,若相同,不用输入该书的相关信息,便自动完成图书库存和现存量的增加。并提示“该图书已在图书库存在,已自动增加图书数量。”根据书号查找图书模块void locat(linklist *l,int i)/根据书号查找图书linklist *p;p=l-link;while(p-num!=i)p=p-link;

12、If(p-limk!=NULL)printf(n输出图书的信息:n书号t书名t著作者t现存量t库存量t借阅者姓名);printf(n%dt%st%st%dt%dt%sn,p-num,p-title,p-author,p-num1,p-num2,p-name);else printf(该图书不在此书库!);通过指针所指书号与查找图书的书好进行比较,若相同则输出该图书的所有信息。若不相同,则指针指向下一个结点,直到指向为NULL,结束并提示“该图书不在此书库!”。借阅模块void borrowbook(linklist *l)/借阅linklist *p;int i;printf(n借阅的图书书号:);scanf(%d,&i);p=l-link;while(p-num!=i)p=p-link;printf(n输出图书的信息:n书号t书名t著作者t现存量t库存量t借阅者姓名);printf(n%dt%st%st%dt%dt%sn,p-num,p-title,p-author,p-num1,p-num2,p-name);if(p-num1nu

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

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