课程设计(**)任务书。
软件学院软件工程专业 3 班
一、课程设计(**)题目图书管理系统。
二、课程设计(**)工作自 2014 年 12 月 22 日至 2014 年 12 月 26 日。
三、课程设计(**) 地点: 创新大楼实训中心4楼。
四、课程设计(**)内容要求:
1.本课程设计的目的。
1) 使学生增进对数据结构各理论知识的熟练程度,
2) 加强算法设计的能力,为以后的数据库原理等课程的学习打下良好基。
础。 2.课程设计的任务及要求
问题描述:
设计一个计算机管理系统完成一个图书管理系统基本业务。
基本要求:
1)每本书的登记内容包括书号、书名、著作者、现存量、库存量和借阅信息。
2)对书号建立索引顺序表以提高查找效率。
3)系统主要功能如下:a、采编入库:新购一种书,确定书号后,登记到图书账目表中,如果表中已有,则只将库存量增加; b、借阅:
如果一本书的现存量大于0,则借出一本,登记借阅者的书证号和归还期限,改变现存量; c、
归还:注销对借阅者的登记,改变该书的现存量。
3)课程设计**编写要求。
1)详细清晰地描述个人的课程设计工作;
2)要按照本模板的规格打印誊写课程报告;
3)课设报告包括目录、内容提要、正文、课程设计体会、参考文献、附。
录等;4)课程报告装订按学校的统一要求完成。
4)评分标准:
1)完成原理分析:20分;
2)完成设计过程:40分;
3)完成**分析:20分。
4)个人创新工作:20分。
学生签名。2024年12月 26 日。
课程设计(**)评审意见。
1)原理分析 (20分):优( )良( )中( )一般( )差( )
2)设计分析 (20分):优( )良( )中( )一般( )差( )
3)程序流程 (20分):优( )良( )中( )一般( )差( )
4)**分析 (20分):优( )良( )中( )一般( )差( )
5)个人创新 (20分):优( )良( )中( )一般( )差( )
6)格式规范性及考勤是否降等级:是( )否( )
评阅人职称: 讲师
2024年 12月28 日。
目录 - 1 -
正文 - 2 -
一、需求分析 - 2 -
1.1、功能需求 - 2 -
1.2、数据需求 - 2 -
1.3、性能需求 - 3 -
二、个人工作 - 3 -
三、概要设计 - 3 -
3.1、功能模块 - 3 -
3.2、部分子程序的流程图 - 4 -
3.2.1、借阅图书流程图 - 4 -
3.2.2、采编入库流程图 - 5 -
四、源程序 - 5 -
五、程序结果 - 17 -
课程设计体会 - 20 -
一、需求分析。
1.1、功能需求。
设计通过两个链表实现对图书信息进行管理的程序,要求完成以下功能:
每种书的登记内容包括书号、书名、著作者、现存量、库存量和借阅信息;
对书号建立索引顺序表以提高查找效率;
系统主要功能如下:
采编入库:新购一种书,确定书号后,登记到图书帐目表中,如果表中已有,则只将库存量增加;
借阅:如果一种书的现存量大于0,则借出一本,登记借阅者的书证号和归还期限,改变现存量;
归还:注销对借阅者的登记,改变该书的现存量。
1.2、数据需求。
需要向系统输入图书号、书名及作者、现存量、库存量和借阅信息。
1)建立一个图书信息链表,每个结点应包含以下信息:图书号、书名及、作者、总库存、现库存、借书人;
每本图书信息链表示意图。
2)建立一个图书信息链表,每个结点应包含以下信息:图书号、借书数量、借书行为;
每个借阅图书人的信息链表示意图。
1.3、性能需求。
在运行本程序时只要按照正确的操作方法不会出现无法运行的情况,系统稳定性好,安全,可靠。
二、个人工作。
在课程设计中,我采用了链表结构,因为链表的最大的优点是对表的添加、删除、等操作比较方便,因此采用链表来存储,针对查找,我按要求采用了二分查找,提高了查找的效率。在图书借阅方面,由于一本书可能被多人借阅,因此不能用书号来绑定借阅者信息,为解决这个问题,我添加了一个图书证号来绑定借阅者的信息,因为每个人的图书证好都是唯一的。我尽自己最大努力使课设要求中的所有功能都得以实现,并且尽可能的考虑周全,比如当有人借阅图书未还时是不能清空库存的。
由于想让我所做的系统功能更加完善,我外加了查询功能:按书号、作者查询图书信息,查看超期未还的图书,清空书库,有界面友好易于使用的菜单。
三、概要设计。
3.1、功能模块。
根据分析整个系统主要划分为11个功能模块,分别执行要求中的功能和外加功能。该系统需要有新编入库,清除库存,借阅图书,归还图书,图书查找方式(5、按书号,6、按作者,7、按书名),借阅查询,查看超期未还的图书,浏览书库,退出系统的功能,浏览书库,并有循环显示菜单功能。
3.2、部分子程序的流程图。
bool binarysearch(ook boo,char searchnum)二分法查找比较书号。
3.2.1、借阅图书流程图。
falsetrue
3.2.2、采编入库流程图。
truefalse
四、源程序。
#include <>
#include <>
#include <>
#define maxsize 10000 //最大值定义为1000
#define size 100//图书证使用者最大值定义为100
typedef struct boro//借书行为。
char bnum[20];/借书的书号。
char retdate[8];/归还日期。
struct boro *next;
bor;typedef struct linkbook
bor *next;//该图书证的借书行为。
char cnum[20];/证号。
int total;//借书的数量。
lend[size];/借书人数组。
typedef struct lnode
char cardnum[20];/图书证号。
struct lnode *next;
linklist; /借书人。
typedef struct book
char num[20];/书号。
char name[20];/书名。
char auth[20];/作者。
int totnum;//总库存。
int nownum;//现库存。
linklist *next;//借了该书的人。
ook[maxsize];
定义全局变量。
int retotal;//读者数量。
int total; /定义外部变量。书的种类数。
结构体初始化。
void initbo(ook &boo) /初始化图书信息。
for(int i=0;i }
void initre(lend &lin) /初始化借阅者信息。
for(int i=0;i lin[i].next=null;
int mid=0;//用来返回查找到的位置。
bool binarysearch(ook boo,char searchnum)二分法查找比较书号。
int low=0,high=total-1;
int found=0;
while(low<=high)
if(found==0)
数据结构课程设计报告
东莞理工学院城市学院。题目 二叉排序树 专业 计算机科学与技术 本 年级 2010级计算机科学与技术专业 1 班。个人姓名 何振江。指导教师 张娟老师 时间 2010至2011第二学期第18周 地点 实验楼615机房 东莞理工学院城市学院计算机与信息科学系制。2011年 6月。实习报告的内容。一 问...
数据结构课程设计报告
设计一个校园导游程序,为来访的客人提供信息查询服务。1 设计学校的校园平面图。选取若干个有代表性的景点抽象成一个无向带权图 无向网 以图中顶点表示校内各景点,边上的权值表示两景点之间的距离。2 存放景点代号 名称 简介等信息供用户查询。3 为来访客人提供图中任意景点相关信息的查询。4 为来访客人提供...
数据结构课程设计报告
河北科技大学。课程设计报告。学生姓名学号。专业班级。课程名称数据结构。学年学期 2 012 2 013学年第 2 学期指导教师 黄春茹。2 0 13年 6 月。课程设计成绩评定表。一 数据结构课程设计目标。二 问题描述。三 需求分析。四 概要设计。五 详细设计。六 软件说明书 给出软件如何使用,使用...