数据结构课程设计指导书文档格式.docx
《数据结构课程设计指导书文档格式.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计指导书文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
可退票,退票后修改相关数据文件;
客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。
修改航班信息:
当航班信息改变可以修改航班数据文件
要求:
根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能;
3.宿舍管理查询系统
1)任务:
为宿舍管理人员编写一个宿舍管理查询软件,程序设计要求:
A.采用交互工作方式
B.建立数据文件,数据文件按关键字(姓名、学号、房号)进行排序(冒泡、选择、插入排序等任选两种方法实现)
2)查询菜单:
(用二分查找实现以下操作)
A.按姓名查询
B.按学号查询
C.按房号查询
3)打印任一查询结果(可以连续操作)
4.简易银行卡管理系统
主要功能与要求:
(1)开户:
创建一个新的账户,接受用户输入的身份证号,以及账户密码,判断用户输入的身份证号是否唯一且账户密码是否符合要求,如验证成功则为该用户生成一个唯一的帐号。
(2)存款:
在用户输入正确的帐号和密码的情况下,接受用户输入的存款金额,并对该帐号的存款信息进行更新。
(3)取款:
在用户输入正确的帐号和密码的情况下,接受用户输入的取款金额。
取款金额不应该大于当前帐号存款金额,当取款金额不大于当前帐号存款金额时,执行取款操作,并对该帐户的存款信息进行更新。
(4)挂失:
在用户输入正确的帐号和密码的情况下,接受用户挂失操作。
当帐号挂失后,与该帐号相关的操作都将被禁止。
(5)销户:
在用户输入正确的帐号和密码的情况下,接受用户销户。
当用户销户后,该帐号将被永久删除。
(6)转帐:
在用户输入正确的帐号和密码的情况下,接受用户转账操作,转帐金额不应该大于当前帐号存款金额,当转帐金额不大于当前帐号存款金额时,执行转帐操作,并对该帐户的存款信息及转帐的接受账户的存款信息进行更新。
(7)修改账户密码:
在用户输入正确的帐号和密码的情况下,接受用户修改密码操作,用户输入的原密码,若用户输入的密码与原密码匹配,则接受用户输入的新密码,若用户两个输入的密码相同,则修改账户密码,并对数据文件进行更新操作。
(8)查看余额:
在用户输入正确的帐号和密码的情况下,接受用户查看余额操作,该模块只涉及数据查询,并不涉及数据文件更新操作。
(9)查看用户交易历史:
在用户输入正确的帐号和密码的情况下,接受用户查看用户交易历史操作,系统将显示当前账户的最近的存、取款操作记录,该模块只涉及数据查询,并不涉及数据文件更新操作。
5.校园导航
设计要求:
设计你的学校的平面图,至少包括10个以上的场所,每两个场所间可以有不同的路,且路长也可能不同,找出从任意场所到达另一场所的最佳路径(最短路径)。
基本要求:
1)设计校园平面图,在校园景点选10个左右景点。
以图中顶点表示校园内各景点,存放景点名称、代号、简介等信息;
以边表示路径,存放路径长度等有关信息。
2)为来访客人提供图中任意景点相关信息的查询。
3)为来访客人提供任意景点的问路查询,即查询任意两个景点之间的一条最短路径。
实现提示:
一般情况下,校园的道路是双向通行的,可设计校园平面图是一个无向网。
顶点和边均含有相关信息。
6.通讯录管理系统
模块要求:
第一个模块——主函数main()的功能是:
根据选单的选项调用各函数,并完成相应的功能。
第二个模块——Menu()的功能是:
显示英文提示选单。
第三个模块——Quit()的功能是:
退出选单。
第四个模块——Create()的功能是:
创建新的通讯录。
第五个模块——Add()的功能是:
在通讯录的末尾,写入新的信息,并返回选单。
第六个模块——Find()的功能是:
查询某人的信息,如果找到了,则显示该人的信息,如果未找到,则提示通讯录中没有此人的信息,并返回选单。
第七个模块——Alter()的功能是:
修改某人的信息,如果未找到要修改的人,则提示通讯录中没有此人的信息,并返回选单。
第八个模块——Delete()的功能是:
删除某人的信息,如果未找到要删除的人,则提示通讯录中没有此人的信息,并返回选单。
第九个模块——List()的功能是:
显示通讯录中的所有记录。
;
1)每条信息至包含:
姓名(NAME)、性别(GENDER)、电话(TEL)、城市(CITY)邮编(EIP)几项。
2)作为一个完整的系统,应具有友好的界面和较强的容错能力
7.职工管理系统
问题描述:
对单位的职工进行管理,包括插入、删除、查找、排序等功能。
职工对象包括姓名、性别、出生年月、工作年月、学历、职务、住址、电话等信息。
(1)新增一名职工:
将新增职工对象存入职工数据文件中。
(2)删除一名职工:
从职工数据文件中删除一名职工对象。
(3)查询:
从职工数据文件中查询符合某些条件的职工。
(4)修改:
检索某个职工对象,对其某些属性进行修改。
(5)排序:
按某种需要对职工对象文件进行排序(冒泡、选择、插入排序等任选两种方法实现)。
职工对象数不必很多,便于一次读入内存,所有操作不经过内外存交换。
(1)由键盘输入职工对象,以文件方式保存。
程序执行时先将文件读入内存。
(2)对职工对象中的"
姓名"
按字典顺序进行排序。
(3)对排序后的职工对象进行增、删、查询、修改、排序等操作。
选做内容:
将职工对象按散列法存储,并设计解决冲突的方法。
在此基础上实现增、删、查询、修改、排序等操作。
8.全国交通资讯系统
设计、实现一个全国大城市间的交通咨询程序,为旅客提供三种最优决策方案:
(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:
12:
35
14:
15
930元
2323
广州
广州
7:
1320元
173
拉萨
昆明
昆明
830元
3304
武汉
武汉
890元
82
乌鲁木齐
30
13:
50
1480元
4723
武汉
13:
810元
列车时刻表
车次
车
费
27
郑州
21:
24
05:
41
42
12
13
39
78元
82元
11
00:
09:
08
28
37
90元
100元
59
08:
03:
16
22:
53
182元
134
兰州
52
56
162元
323
06:
18
31
14
02:
102元
873
07:
17
46
134元
116
长沙
36
54
32
48
98元
373
116元
747
47
19
210元
371
兰州
23:
23
114元
218
01:
34
51
178元
9.停车场管理
有一个两层的停车场,
每层有6个车位,
当第一层车停满后才允许使用第二层.
(
停车场可用一个二维数组实现,
每个数组元素存放一个车牌号
)
每辆车的信息包括车牌号、
层号、
车位号、停车时间共4项,
其中停车时间按分钟计算。
假设停车场初始状态为第一层已经停有4辆车,
其车位号依次为1—4
停车时间依次为20,
15,
10
5
.
即先将这四辆车的信息存入文件”car.dat”中(
数组的对应元素也要进行赋值
)。
停车操作:
当一辆车进入停车场时,
先输入其车牌号,
再为它分配一个层号和一个车位号(分配前先查询车位的使用情况,
如果第一层有空则必须停在第一层),
停车时间设为5
最后将新停入的汽车的信息添加文件”car.dat”中,
并将在此之前的所有车的停车时间加5。
收费管理(取车):
当有车离开时,
输入其车牌号,
先按其停车时间计算费用,
每5分钟0.2元.
(停车费用可设置一个变量进行保存),
同时从文件”car.dat”中删除该车的信息,
并将该车对应的车位设置为可使用状态(即二维数组对应元素清零).
按用户的选择来判断是否要输出停车收费的总计。
输出停车场中全部车辆的信息。
10.商品销售统计系统
设计商品销售统计系统,实现定期对销售各商品的记录进行统计,可按商品的编号、单价、销售量或销售额做出排名并显示。
选择合适的存储结构,建立商品信息表并存放在数据文件中。
各商品的信息包括:
商品编号、名称、单价、销出数量、销售额。
对各商品的单价、销售量或销售额进行排序时,可采用多种排序方法,如直接插入排序、折半插入排序、冒泡排序,快速排序、选择排序等方法。
功能设计:
(1)实现建立商品信息表功能
(2)实现分别使用不同的排序方法按商品单价、销售量、销售额进行排序功能
(3)实现显示排序结果功能
11.图书管理系统
设计一个计算机管理系统完成图书管理基本业务。
(1)每种书的登记内容包括书号、书名、著作者、现存量和库存量;
(2)对书号建立索引表(线性表)以提高查找效率;
(3)系统主要功能如下:
①采编入库:
新购一种书,确定书号后,登记到图书帐目表中,如果表中已有,则只将库存量增加;
②借阅:
如果一种书的现存量大于0,则借出一本,登记借阅者的书证号和归还期限,改变现存量;
③归还:
注销对借阅者的登记,改变该书的现存量。
12.文章编辑系统
功能:
输入一页文字,程序可以统计出文字、数字、空格的个数。
静态存储一页文章,每行最多不超过80个字符,共N行。
(1)分别统计出其中英文字母数和空格数及整篇文章总字数;
(2)统计某一字符串在文章中出现的次数,并输出该次数;
(3)删除某一子串,并将后面的字符前移。
存储结构使用线性表,分别用几个子函数实现相应的功能。
输入数据的形式和范围:
可以输入大写、小写的英文字母、任何数字及标点符号。
(1)分行输出用户输入的各行字符;
(2)分4行输出“全部字母数”、“数字个数”、“空格个数”、“文章总字数”;
(3)输出删除某一字符串后的文章。
13.学生成绩管理系统
现有学生成绩信息文件1(1.txt),内容如下:
姓名
学号
语文
数学
英语
张明明
01
67
78
82
李成友
02
78
91
88
张辉灿
03
68
82
56
王露
04
56
45
77
陈东明
05
38
47
…………
学生成绩信息文件2(2.txt),内容如下:
陈果
31
57
68
李华明
32
88
90
68
张明东
33
48
42
李明国
34
50
87
陈道亮
35
47
58
试编写一个管理系统,要求如下:
1)要求使用链表或数组等实现上述要求
2)实现对两个文件数据进行合并,生成新文件3.txt
3)可实现学生成绩信息的输入、修改、删除功能
4)抽取出三科成绩中有补考的学生并保存在一个新文件4.txt
5)对合并后的文件3.txt中的数据按总分降序排序(至少采用两种排序方法实现)
6)输入一个学生姓名后,能查找到此学生的信息并输出结果(至少采用两种查找方法实现)
7)统计输出各门课程的平均分,最高分、最低分
8)统计各门课程优秀、良好、中等、及格、不及格的人数及百分比
14.客户消费积分管理系统
针对客户的消费情况进行客户管理,根据客户的消费积分对客户实行不同程度的打折优惠。
1)采用一定的存储结构进行客户信息的存储
2)对客户的信息可以进行添加、修改、删除
3)可根据消费情况进行客户积分的计算
4)根据积分情况实行不同程度的打折优惠
二、课程设计报告内容与要求
课程设计报告主要内容应包括:
1、需求分析:
根据题目要求,充分地分析和理解问题,描述系统的功能要求,明确问题要求做什么?
以及限制条件是什么?
(1)问题描述
(2)基本要求
①输入的形式和输入值的范围
②输出的形式
③程序所能达到的功能
2、概要设计
说明本系统中用到的所有数据类型的定义及存储结构,主程序的流程以及各程序模块之间的调用关系。
(1)数据结构
(2)程序模块
(3)各模块之间的调用关系以及算法设计
3、详细设计
实现概要设计中定义的所有数据类型,对主要操作写出实现算法,对主程序和其他模块写出算法,写出函数的调用关系。
4、测试与分析:
进行系统测试,输出测试结果。
测试数据应该全面、完整,并对测试结果进行分析。
5、用户使用说明
6、总结(收获与体会,不少于500汉字):
课程设计的收获、遇到的问题及解决手段、程序调试能力的思考、设计仍存在的问题、对《数据结构》课程的认识等内容。
参考文献
附件:
程序源代码(重点功能加上必要的注释)
三、设计报告的格式要求
一律打印(A4纸张),简易装订。
字体大小及格式可参照如下:
标题题目用小二号黑体字书写,居中放置,并且距下文双倍行距;
第一层次(章)题序和标题用小二号黑体字,第二层次(节)题序和标题用小三号黑体字,第三层次题序和标题用四号黑体字,第四层次及以下题序和标题用小四号黑体字,正文用小四号宋体字。
正文章节序号均以阿拉伯数字连续编号,最多为4级,(如:
1.1.1……1.1.1.1),章条编号一律左顶格,编号后空一个字距,再写章条题名;
之后先以括号为序(如
(1)、
(2)…),再以带圈字符为序(如1、2…),左空2个字距书写。
正文正文文字内容一律采用小四号宋体字,正文中英文用四号“TimesNewRoman”字体;
各级层次标题与上下文间均为1.5倍行距。
公式图表图表和公式要按章编号。
公式应另起一行书写,公式应尽量采用公式编辑器输入,选择默认格式,公式号右对齐;
图表应有相对应的名称,图表标题均居中,用五号宋体字书写,且置于文章中首次提到处附近。
参考文献凡引用本人或他人已公开或未公开发表文献中的学术思想、观点或研究方法、设计方案等,都应编入参考文献目录。
参考文献的编写格式为:
图书文献的格式:
[编号]作者.书名.出版单位,年份,版次,页码。
技术标准:
[编号]标准名称.标准代号.标准顺序号-发布年.
打印要求单面打印,上2.5cm,下2cm,左2.5cm,右2.0cm,页码用小五号宋体字下居中标明。
四、课程设计时间及地点
周次
日期
设计内容
具体要求
设计教室、指导时间段
6.25(周一)
安排分组,选择设计题目,查阅相关资料
熟悉课题的相关资料
8:
30-10:
6.26(周二)
熟悉课题的任务和要求;
系统分析、规划,划分功能模块,小组成员分配任务;
模块功能划分,任务分配
计算中心(10:
00-12:
00)
6.27(周三)
收集相关资料进行系统概要设计
给出程序设计框架图
计算中心(8:
00-10:
6.28(周四)
系统详细设计:
编写代码实现功能
代码编写
6.29(周五)
7.2(周一)
各个模块连接、调试
模块功能调试
7.3(周二)
7.4(周三)
完成整个程序
模块连接
7.5(周四)
检查系统完成情况
验收系统
7.6(周五)
撰写系统设计说明书,递交书面报告,上传程序
提交报告
1310(8:
五、课程设计结果提交方式
1、课程设计提交以下结果:
课程设计报告书纸质文档(A4纸打印结果装订成册);
程序全部源代码及设计报告电子文挡通过U盘提交,每人建立一个文件夹,文件夹名称格式:
姓名(汉字)+学号。
由各班学习委员统一提交给指导教师。
2、提交时间与地点:
第20周星期五上午午8:
00—10:
00。
3、凡发现雷同设计结果不论抄袭者与被抄袭者一律按不及格处理。
六、成绩评定
考勤(20%)+课程设计报告(50%)+现场演示(30%)。
附:
课程设计报告书标准格式(封面字体、日期不得更改)
分类号编号
华北水利水电学院
NorthChinaInstituteofWaterConservancyandHydroelectricPower
课程设计
题目
院系
专业
姓名
学号
指导教师杨彬
2012年7月6日
目录
1需求分析……………………………………………………………………(页码)
2概要设计……………………………………………………………………(页码)
3详细设计……………………………………………………………………(页码)
4测试与分析………………………………………………………………………(页码)
5用户使用说明……………………………………………………………………(页码)
6总结…………………………………………………………………………………(页码)
参考文献……………………………………………………………………………(页码)
程序源代码…………………………………………………………………(页码)