数据结构课程设计报告

发布 2022-10-05 18:01:28 阅读 5144

课程设计(**)任务书。

软件学院软件工程专业 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 月。课程设计成绩评定表。一 数据结构课程设计目标。二 问题描述。三 需求分析。四 概要设计。五 详细设计。六 软件说明书 给出软件如何使用,使用...