数据结构课程设计指导书(-上)-级

本文由用户“lych2008”分享发布 更新时间:2022-04-27 13:16:51 举报文档

以下为《数据结构课程设计指导书(-上)-级》的无排版文字预览,完整格式请下载

下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

《数据结构课程设计》

指 导 书

指导教师:杨某某(***-176)

张某某(***)

布辉(***-179)

信息***计算机科学与技术专业

2021年12月

目 录

一、课程设计目的 2

二、设计基本要求 2

三、设计组织方法 2

四、课程设计时间及地点 2

五、课程设计报告内容要求(仅供参考) 3

六、提交材料 4

七、成绩评定 4

八、课程设计题目 4

1. 飞机订票系统 4

2.教学计划编制问题 4

3.简易银行卡管理系统 5

4.校园导航 5

5.银行排队系统 6

6.职工管理系统 6

7.全国交通资讯系统 6

8.商品管理系统 8

9.航班信息的查询与检索 8

10.宾馆管理信息系统 9

11.管道铺设施工的最佳方案 9

12.基于不同策略的英文单词的词频统计和检索系统 9

13.宿舍管理系统 9

14. 通讯录系统 10

九、设计报告的格式要求 10

附件1:课程设计报告封面格式(封面字体、日期不得更改) 10

附件2:分组登记表 10

一、课程设计目的

了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;

初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;

提高综合运用所学的理论知识和方法独立分析和解决问题的能力;

训练用系统的观点和软件开发一般规范进行软件开发。

二、设计基本要求

符合课题要求,实现相应功能;

要求界面友好美观,操作方便易行;

注意程序的实用性、安全性;

设计成果:设计报告一份+源程序;

每个班学生选题不允许重复。

三、设计组织方法

分组选题:班级内自由组合,每组2~3人,并确定小组组长,负责该组设计工作的协调、分工等。各组组长抽签确定题目,设计题目不得更换。分组名单及题目由各班学习委员汇总后交给指导老师。

设计过程:

按组讨论、确定设计方案,确定程序模块,并进行明确分工;

各人分别完成自己的设计任务,编写源程序,并进行调试;

程序汇总、编译。

撰写课程设计报告。

四、课程设计时间及地点

周某某

日期

设计内容

具体要求

设计教室

指导时间段



16

2021.12.13

(周一)

安排分组,选择设计题目,熟悉题目的任务和要求,进行系统分析,划分功能模块,小组成员分配任务

根据题目要求,进行功能模块划分,任务分配

[龙]S3-1楼实验中心

(14:30-16:10)



16

2021.12.14

(周二)

概要设计,说明每个功能模块的算法设计思想(包括描述算法的流程图),每使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义)

画出程序设计框架图,确定使用的数据结构

[龙]S3-1楼实验中心

(14:30-16:10)



16

2021.12.15

(周三)

详细设计,编写代码实现功能。

编写代码,源程序要按照写程序的规则来编写,要结构清晰,重点函数的重点变量、重点功能部分要加上程序注释

[龙]S3-1楼实验中心

(14:30-16:10)



16

2021.12.16

(周四)

详细设计,编写代码实现功能

编写代码

[龙]S3-1楼实验中心

(14:30-16:10)



16

2021.12.17

(周五)

详细设计,编写代码实现功能

编写代码

[龙]S3-1楼实验中心

(8:00-9:40)



17

2021.12.20

(周一)

详细设计,编写代码实现功能

编写代码

[龙]S3-1楼实验中心

(10:00-11:40)



17

2021.12.21

(周二)

各个模块连接、调试

模块功能调试、测试

[龙]S3-1楼实验中心

(10:00-11:40)



17

2021.12.22

(周三)

完成整个程序调试

系统验收

[龙]S3-1楼实验中心

(10:00-11:40)



17

2021.12.23

(周四)

检查系统完成情况,撰写课程设计报告

系统验收

[龙]S3-1楼实验中心

(10:00-11:40)



17

2021.12.24

(周五)

提交设计成果(设计报告+程序源代码)

系统验收,提交报告(包括电子和纸质文档)

[龙]S3-1楼实验中心

(10:00-11:40)





五、课程设计报告内容要求(仅供参考)

课程设计报告内容应以文字叙述为主,切忌只有流程图和源代码。设计报告主要包括以下内容:

小组成员分工及本人承担的任务;

需求分析

根据题目要求,充分地分析和理解问题,描述系统的功能,模块的划分,详细介绍本人承担的任务。

概要设计

说明系统中用到的所有数据结构及存储结构,主程序的流程以及各程序模块之间的调用关系。

数据结构

程序模块

各模块之间的调用关系以及算法设计

详细设计

实现概要设计中定义的所有数据结构,说明数据结构的类型定义,对主要操作写出实现算法,对主程序和其他模块写出算法,写出函数的调用关系。

运行结果及分析

包括测试数据、测试输出的结果、时间复杂度分析、算法的改进设想等);

用户使用说明

总结

包括课程设计的收获、遇到的问题及解决问题过程的思考、程序调试能力的思考、对学习数据结构这门课程的思考、在课程设计过程中对《数据结构》课程的认识等内容;要求字数不少于500汉字。

参考文献

附件:本人完成的程序源代码(重点功能加上必要的注释)

六、提交材料

1.每人提交一份课程设计报告书纸质文档(A4纸双面打印并装订成册)。要求独立撰写课程设计报告,不得抄袭。同一小组同学除了选择的数据结构相同以外,每个人只写自己完成的部分,报告不能雷同。

2.电子档:每个小组建立一个文件夹,文件夹名称格式为:班级-题目。该文件夹下包括:

(1)每个组员的文件夹(名称为“学号-姓名”),包括课程设计报告和本人编写的源代码。

(2)整合后的源代码和可执行文件,以及必要的readme.txt文件。

压缩后由各班学习委员统一收齐交给指导教师。

凡发现雷同设计结果及报告,不论抄袭者与被抄袭者一律按不及格处理。

七、成绩评定

要求各小组同学一起协商承担的任务,每人都要参与设计和编程工作,不能只负责需求分析、画流程图、写报告。

成绩组成比例:

平时表现(20%),包括考勤和对设计的贡献度;

系统验收,包括现场演示和回答问题(40%);现场随机抽取小组中一人演示并回答问题,成绩为小组验收成绩;验收成绩从题目难度、工作量、设计合理性、界面效果、回答问题等五个方面评定;

课程设计报告(40%):包括报告撰写质量、格式规范等。

注:凡不参加验收者或报告内容雷同者,均按不及格处理。

八、课程设计题目

提示:根据题目要求自行选择数据结构,所有题目均要求使用C语言编程,并使用文件保存数据。完成题目规定的要求后可扩展功能。

1. 飞机订票系统

任务:通过此系统可以实现如下功能:

 录入:可以录入航班情况(数据存储在一个数据文件中)

查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;

订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;

退票: 可退票,退票后修改相关数据文件;

客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。

修改航班信息: 当航班信息改变可以修改航班数据文件

要求: 根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能;

2.教学计划编制问题

【问题描述】

大学的每个专业都要制定教学计划。假设任何专业都有固定的学习年限,每学年含两学期,每学期的时间长度和学分上限值均相等。每个专业开设的课程都是确定的,而且课程在开设时间的安排必须满足先修关系。每门课程有哪些先修课程是确定的,可以有任意多门,也可以没有。每门课恰好占一个学期。试在这样的前提下设计一个教学计划编制程序。

【实现提示】

输入参数应包括:学期总数,一学期的学分上限,每门课的课程号(可以是固定占3位的字母数字串)、学分和直接先修课的课程号。

应允许用户指定下列两种编排策略之一:一是使学生在各学期中的学习负担尽量均匀;二是使课程尽可能地集中在前几个学期中。

若根据给定的条件问题无解,则报告适当的信息;否则将教学计划输出到用户指定的文件中。计划的表格格式可以自己设计。

可设学期总数不超过8,课程总数不超过100。如果输入的先修课程号不在该专业开设的课程序列中,则作为错误处理。

3.简易银行卡管理系统

主要功能与要求:

(1)开户:创建一个新的账户,接受用户输入的身份证号,以及账户密码,判断用户输入的身份证号是否唯一且账户密码是否符合要求,如验证成功则为该用户生成一个唯一的帐号。

(2)存款:在用户输入正确的帐号和密码的情况下,接受用户输入的存款金额,并对该帐号的存款信息进行更新。

(3)取款:在用户输入正确的帐号和密码的情况下,接受用户输入的取款金额。取款金额不应该大于当前帐号存款金额,当取款金额不大于当前帐号存款金额时,执行取款操作,并对该帐户的存款信息进行更新。

(4)挂失:在用户输入正确的帐号和密码的情况下,接受用户挂失操作。当帐号挂失后,与该帐号相关的操作都将被禁止。

(5)销户:在用户输入正确的帐号和密码的情况下,接受用户销户。当用户销户后,该帐号将被永久删除。

(6)转帐:在用户输入正确的帐号和密码的情况下,接受用户转账操作,转帐金额不应该大于当前帐号存款金额,当转帐金额不大于当前帐号存款金额时,执行转帐操作,并对该帐户的存款信息及转帐的接受账户的存款信息进行更新。

(7)修改账户密码:在用户输入正确的帐号和密码的情况下,接受用户修改密码操作,用户输入的原密码,若用户输入的密码与原密码匹配,则接受用户输入的新密码,若用户两个输入的密码相同,则修改账户密码,并对数据文件进行更新操作。

(8)查看余额:在用户输入正确的帐号和密码的情况下,接受用户查看余额操作,该模块只涉及数据查询,并不涉及数据文件更新操作。

(9)查看用户交易历史:在用户输入正确的帐号和密码的情况下,接受用户查看用户交易历史操作,系统将显示当前账户的最近的存、取款操作记录,该模块只涉及数据查询,并不涉及数据文件更新操作。

4.校园导航

设计要求:设计华北水利水电大学的平面图,至少包括10个以上的场所,每两个场所间可以有不同的路,且路长也可能不同,找出从任意场所到达另一场所的最佳路径(最短路径)。

基本要求:

(1)设计校园平面图,在校园景点选10个左右景点。以图中顶点表示校园内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等有关信息。

(2)为来访客人提供图中任意景点相关信息的查询。

(3)为来访客人提供任意景点的问路查询,即查询任意两个景点之间的一条最短路径。

实现提示:一般情况下,校园的道路是双向通行的,可设计校园平面图是一个无向网。顶点和边均含有相关信息。

5.银行排队系统

【问题描述】

排队系统是利用现代网络通信技术和计算机信息管理技术来代替传统排队的系统,从本质上改善传统排队管理所存在的拥挤、嘈杂、混乱现象,避免各种不必要的纠纷。通过使用排队系统,由传统的客户站立排队变为取票进队、排队等待、叫号服务,由传统物理的多个队列变为一个逻辑队列,使“先来先服务”的思想得到更好地贯彻。

【实现提示】

假设某银行有n个窗口开展对外接待业务,从早晨银行开门起不断有客户进入。客户在

客户人数众多时需要选择窗口排队,约定规则如下:

(1)顾客到达银行时能拿到排队号码,并能知道需要等待的人数。如果是VP客户直接进入VIP窗口,无须加入普通客户的等待

(2)可以查看每个银行窗口正在给几号顾客办理业务。

(3)顾客离开银行时,有评价窗口银行职员服务的平台。

(4)查看排队情况。可以查看当前顾客前有多少个顾客在排队等待。

(5)系统查询。可以查询本系统的业务量,显示办理过业务的客户数。

(6)退出。退出整个银行排队系统。

6.职工管理系统

【问题描述】

对单位的职工进行管理,包括插入、删除、查找、排序等功能。

要求:职工对象包括姓名、性别、出生年月、工作年月、学历、职务、住址、电话等信息。

(1)新增一名职工:将新增职工对象存入职工数据文件中。

(2)删除一名职工:从职工数据文件中删除一名职工对象。

(3)查询:从职工数据文件中查询符合某些条件的职工。

(4)修改:检索某个职工对象,对其某些属性进行修改。

(5)排序:按某种需要对职工对象文件进行排序(任选两种方法实现)。

【实现提示】

(1)由键盘输入职工对象,以文件方式保存。程序执行时先将文件读入内存。

(2)对职工对象中的"姓名"按字典顺序进行排序。

(3)对排序后的职工对象进行增、删、查询、修改、排序等操作。

选做内容:将职工对象按散列法存储,并设计解决冲突的方法。在此基础上实现增、删、查询、修改、排序等操作。

7.全国交通资讯系统

【问题描述】

设计、实现一个全国大城市间的交通咨询程序,为旅客提供三种最优决策方案:

(1)时间最短

(2)费用最小

(3)中转次数最少。

【实现提示】

????? 该程序所做的工作的是模拟全国交通咨询,为旅客提供三种最优决策的交通咨询。

(1)在程序中输入城市名称时,需输入10个字母以内的字母串;输入列车或飞机编号时需输入一个整型数据;输入列车或飞机的费用时需输入一个实型数据;输入列车或飞机开始时间和到达时间时均需输入两个整型数据(以hh:mm的形式);在选择功能时,应输入与所选功能对应的一个整型数据。

(2)程序的输出信息主要是:最快需要多少时间才能到达,或最少需要多少旅费才能到达,或最少需要多少次中转到达,并详细说明依次于何时乘坐哪一趟列车或哪一次班机到何地。

(3)程序的功能包括:提供对城市信息的编辑,提供列车时刻表和飞机航班表的编辑,提供三种最优决策:最快到达、最省钱到达、最少中转次数到达。?

测试数据:

航班时刻表

机? 号

出 发 地

到 达 地

出发时间

到达时间

费? 用



6320

北京

上海

上海

北京

16:20

18:00

17:25

19:05

680元



2104

北京

乌鲁木齐

乌鲁木齐

北京

8:00

10:45

9:55

11:40

1150元



201

北京

西安

西安

北京

15:25

12:35

17:00

14:15

930元



2323

西安

广州

广州

西安

7:15

10:15

9:35

11:35

1320元



173

拉萨

昆明

昆明

拉萨

10:20

12:35

11:45

14:00

830元



3304

拉萨

武汉

武汉

拉萨

14:15

16:25

15:45

17:55

890元



82

乌鲁木齐

昆明

昆明

乌鲁木齐

9:30

13:05

12:15

15:50

1480元



4723

武汉

广州

广州

武汉

7:05

11:25

8:45

13 :05

810元





列车时刻表

车 次

出 发 地

到 达 地

出发时间

到达时间

车?? 费



27

北京

郑州

西安

郑州

郑州

西安

郑州

北京

13:15

21:24

05:41

13:42

21:12

05:13

13:30

21:39

78元

82元

82元

78元



41

北京

郑州

上海

郑州

郑州

上海

郑州

北京

7:11

15:20

00:35

09:40

15:08

00:13

09:28

17:37

90元

100元

100元

90元



59

上海

广州

广州

上海

08:20

03:39

03:16

22:53

182元



134

兰州

北京

北京

兰州

03:52

19:24

18:56

10:28

162元



323

广州

昆明

昆明

广州

06:18

16:31

16:14

02:27

102元



873

武汉

昆明

昆明

武汉

07:13

21:42

21:17

11:46

134元



116

武汉

长沙

长沙

武汉

9:36

18:54

18:32

03:48

98元



373

长沙

广州

广州

长沙

13:15

00:35

00:15

11:35

116元



747

兰州

武汉

武汉

兰州

17:41

15:13

14:47

12:19

210元



371

兰州

乌鲁木齐

乌鲁木齐

兰州

11:42

00:35

23:54

11:23

114元



218

武汉

西安

西安

武汉

18:50

01:34

11:51

18:35

178元





8.商品管理系统

模***的商品管理,商品信息包括:商品id、商品名称、价格、生产日期、产地、上架日期、库存。完成以下操作:

(1)添加商品信息;

(2)查询商品信息,可实现模糊匹配查询;

(3)修改商品信息,要求输出修改前的商品信息和修改后的商品信息;

(4)删除商品信息;

(5)按上架日期降序显示所有商品

9.航班信息的查询与检索

【问题描述】

该设计要求对飞机航班信息进行排序和查找。可按航班的航班号、起点站、到达站、起飞时间以及到达时间等信息进行查询。

【要求】

对于本设计,要求采用基数排序法对一组具有结构特点的飞机航班号进行排序,利用二分查找法对排好序的航班记录按航班号实现查找,按其他次关键字的查找可采用最简单的顺序查找方法进行。

每个航班记录包括八项,分别是:航班号、起点站、终点站、班期、起飞时间、到达时间、飞机型号以及票价等,假设航班信息表(8条记录)

航班号

起点站

终点站

班期

起飞时间

到达时间

机型

票价



CA1544

合肥

北京

1.2.4.5

1055

1240

733

960



MU5341

上海

广州

每日

1420

1615

M90

1280



CZ3869

重庆

深圳

2.4.6

0855

1035

733

1010



MU3682

桂林

南京

2.3.4.6.7

2050

2215

M90

1380



HU1836

上海

北京

每日

0940

1120

738

1250



CZ3528

成都

厦门

1.3.4.5.7

1510

1650

CRJ

1060



MU4594

昆明

西安

1.3.5.6

1015

1140

328

1160



SC7425

青岛

海口

1.3.6

1920

2120

DH4

1630



其中航班号一项的格式为:

K0 K1 K2 K3 K4 K5

C

Z

3

8

6

9



其中K0和K1的输入值是***的别称,用两个大写字母标示,后4位为航班号,这 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 



















3









































4









































5









































6









































7









































8









































9









































10









































11









































12









































13











































[文章尾部最后500字内容到此结束,中间部分内容请查看底下的图片预览]

以上为《数据结构课程设计指导书(-上)-级》的无排版文字预览,完整格式请下载

下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

图片预览