数据结构与算法课程设计任务书Word文档下载推荐.docx
- 文档编号:18508767
- 上传时间:2022-12-18
- 格式:DOCX
- 页数:11
- 大小:22.49KB
数据结构与算法课程设计任务书Word文档下载推荐.docx
《数据结构与算法课程设计任务书Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数据结构与算法课程设计任务书Word文档下载推荐.docx(11页珍藏版)》请在冰豆网上搜索。
C、把一个算法变为用C语言编写的结构化程序。
D、用合适的测试方法检查程序是否符合最初的要求,为不合适数据设计错误陷阱,并提供错误信息来帮助用户。
E、写出清晰的用户文档,确保用户或者通过遵循程序中的指示或者使用程序设计者编写的文档能成功地运行程序。
F、写出技术文档,对程序中主要标示符的含义或作用加以说明,并提供一个完整的程序流程图。
G、调试程序、测试数据过程成功。
3、实训内容及安排
3.1设计环境
硬件:
PC机,目前机房都已具备开发C语言程序的条件
软件:
操作系统为Windows系列,设计语言为VisualC++或TurboC。
3.2基本要求
◆课程设计可采取每人一题,可任选一题进行设计,至少包含五个功能模块。
或者每组(2人)完成一个课题,每组成员分工合作完成一个课程设计,每个人的任务不同;
◆可以选择老师提供的参考选题,也可以自选,如果自选,需要将自选题目的详细内容以及实现要求提供给老师,老师批准后方可采用。
◆要求利用结构化程序设计方法以及C的编程思想来完成系统的设计;
◆要求有欢迎界面、菜单、文件操作,数据使用数组、结构体、链表等均可,键盘操作或鼠标操作均可;
◆模块化程序设计:
要求在设计的过程中,按功能定义函数或书写多个文件,进行模块化设计,各个功能模块用函数的形式来实现;
◆学生所选课题必须上机通过,并获得满意的结果;
◆程序书写风格:
锯齿型书写格式。
3.3实现步骤
问题分析和任务定义:
根据设计题目的要求,充分地分析和理解问题,明确问题要求做什么?
(而不是怎么做?
)限制条件是什么?
◆逻辑设计:
对问题描述中涉及的操作对象定义相应的数据类型,并按照以数据结构为中心的原则划分模块,定义主程序模块和各抽象数据类型。
逻辑设计的结果应写出每个抽象数据类型的定义(包括数据结构的描述和每个基本操作的功能说明),各个主要模块的算法,并画出模块之间的调用关系图;
◆详细设计:
定义相应的存储结构并写出各函数的伪码算法。
在这个过程中,要综合考虑系统功能,使得系统结构清晰、合理、简单和易于调试,抽象数据类型的实现尽可能做到数据封装,基本操作的规格说明尽可能明确具体。
详细设计的结果是对数据结构和基本操作作出进一步的求精,写出数据存储结构的类型定义,写出函数形式的算法框架;
◆程序编码:
把详细设计的结果进一步求精为程序设计语言程序。
同时加入一些注解和断言,使程序中逻辑概念清楚;
◆程序调试与测试:
采用自底向上,分模块进行,即先调试低层函数。
调试正确后,认真整理源程序及其注释,形成格式和风格良好的源程序清单和结果;
◆编写实训设计报告.
3.4实训题目
见附录
4、实训报告应具有的内容
1)、需求分析
描述问题。
简述课题要解决的问题是什么,有什么要求和限制条件。
2)、总体设计(程序设计组成框图、流程图)
3)、详细设计(模块功能说明(如函数功能、入口及出口参数说明,函数调用关系描述等))
4)、调试与测试:
调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施
5)、测试结果,用几组测试数据进行测试算法设计的正确性。
6)、用户手册:
即使用说明。
7)、附录。
源程序清单和结果(注:
不需要所有代码):
源程序要加注释。
结果要包括测试数据和运行结果。
完成课程设计应提交如下文档:
1程序的总体设计和算法分析。
2技术文档
3用户文档
4源程序代码清单。
5测试数据和测试过程记录。
6遇到的问题及解决方法分析。
6、提交内容与形式
每位同学按格式提交以下内容
1论文(大作业打印稿15页到20页)
2代码(电子版不要打印)
3程序使用说明(简单的描述文字以及截图,电子稿)
提交形式:
先建立目录:
目录命名为:
学号+姓名目录下再创建三个子目录
如:
20051002张三----目录
论文----子目录放大作业电子稿
代码-----子目录放代码
使用说明-----子目录程序使用说明电子稿
7、时间以及进度安排
1)技术讲解与系统设计与分析2课时
◆系统需求(总体概述)
◆功能需求
◆系统需求详述
2)系统设计2课时
◆系统组织结构设计
◆系统数据流程图
◆系统功能模块设计
◆详细设计(如流程图等)
3)系统编码22课时
4)提交报告以及其他4课时
8、评阅意见
软件实训评阅意见
项目
等 级
优秀
良好
中等
及格
不及格
软件态度评价
出勤情况评价
任务难度评价
工作量饱满评价
设计中创新性评价
论文书写规范化评价
综合应用能力评价
综合评定等级
9、附录
附录1:
报告封面
福建工程学院软件学院
数据结构课程设计报告
题 目:
专业:
姓名:
学号:
同组其他学生(学号):
2015年 月 日
附录、C语言项目(供参考)
(一)、学生成绩管理系统
【问题描述】
学期考试结束,统计有N个班某班每个人的平均成绩,每门课的平均成绩,并按个人平均成绩从高到低的顺序输出成绩,输出不及格人名单。
输入、输出格式自定。
【实现提示】
假设某班有:
30人(姓名自定)
考试课程有:
高等数学、物理、外语、C语言、德育5门课程。
将所有同学的成绩保留在文件中,对文件中的数据处理,输出所要求的内容,程序的功能主要包括3方面:
①输入成绩到文件中
②输出成绩
③输出不及格学生名单
④成绩排序
⑤修改记录
⑥删除记录
⑦插入记录等
主函数中对3个功能选择(菜单),调用对应的函数完成。
(2)、设计一个航空客运定票系统。
基本要求如下:
1、每条航线所涉及的信息有:
终点站名、航班号、飞机号、飞机周日(星期几)、乘员定额、余票量、订定票的客户名单(包括姓名、订票量、舱位等级1,2或3)以及等候替补的客户名单(包括姓名、所需数量)。
2、系统能实现的操作和功能如下:
1)查询航线:
根据客户提出的终点站名输出如下信息:
航班号、飞机号、星期几飞行,最近一天航班的日期和余票额;
2)承办订票业务:
根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若有余票,则为客户办理订票手续,输出座位号;
若已满员或余票少余订票额,则需重新询问客户要求。
若需要,可登记排队候补;
3)承办退票业务:
根据客户提出的情况(日期、航班号),为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其它排队候补的客户。
3、实现提示:
两个客户名单可分别由线性表和队列实现。
为查找方便,已订票客户的线性表应按客户姓名有序,并且,为了插入和删除方便,应以链表作为存储结构。
由于预约人数无法预计,队列也应以链表作为存储结构。
(三)、校园导游咨询(为来访的客人提供各种信息服务)
1、基本要求:
1)设计下沙校园平面图,在校园景点选10个左右景点。
以图中顶点表示校园内各景点,存放景点名称、代号、简介等信息;
以边表示路径,存放路径长度等有关信息。
2)为来访客人提供图中任意景点相关信息的查询。
3)为来访客人提供任意景点的问路查询,即查询任意两个景点之间的一条最短路径。
2、实现提示:
一般情况下,校园的道路是双向通行的,可设计校园平面图是一个无向网。
顶点和边均含有相关信息。
(四)、学生信息管理
(1)问题描述
学生信息包括:
学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。
试设计一学生信息管理系统,使之能提供以下功能:
⏹系统以菜单方式工作
⏹学生信息录入功能---输入
⏹学生信息浏览功能---输出
⏹查询、排序功能---算法
按学号查询、按姓名查询、学生信息的删除与修改(可选项)
(2)功能要求
界面比较美观;
有一定的容错能力,比如输入的成绩不在0~100之间,就提示不合法,要求重新输入;
最好用链表的方式实现。
(3)算法分析
首先,一个学生包括这么多的属性,应该考虑定义一个结构,其次,我们应该考虑数据的存储形式:
是定义一个数组来存储,还是定义一个链表呢?
在这里假如我们以数组的方式来存储,当然可以,但是我们知道,假如我们定义一个数组的话,我们首先必须知道学生人数大概是多少,以便我们确定数组的大小,但是题目中没有给出,而且题目要求中有大量的删除、插入操作,所以用链表的方式比较方便。
对于菜单的实现,其实也比较简单,首先我们用printf语句把程序的功能列出来,然后等待用户输入而执行不同的函数,执行完了一个功能后又回到菜单。
文件的读写操作大家参照书中的有关文件的章节。
(五)、学生运动会成绩数据库
学生运动会成绩数据库系统记录某校运动会上全部运动项目,各系获得的分数及排名的情况,包括50、100、200,400,1500米,跳高,跳远,标枪,铅球铁饼等。
进入系统后可以输入和修改某个项目的结果情况,可以按各系院编号输出总分;
按总分排序;
按男团体总分排序;
按系院编号查询;
按项目编号查询;
按女团体总分排序。
分步实施:
1)初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;
2)完成最低要求:
建立一个文件,包括某个系,5个项目的得分情况,能对文件中的信息进行扩充(追加),修改和删除;
3)进一步要求:
完成对多个系,多个项目的得分排序,以及完成系统查询功能。
有兴趣的同学可以自己扩充系统功能。
键盘输入:
系院数目,男子项目数女子项目数,(每项目取前三名,分别为10,5,2分)
要求:
1)界面友好,函数功能要划分好
2)总体设计应画一流程图
3)程序要加必要的注释
4)要提供程序测试方案
5)程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。
(六)、仓库管理系统
1.【功能需求】
程序启动后显示主菜单,包括下面的选项:
1.显示货物类型列表
2.新增货物类型
3.删除货物类型
4.货物入库
5.货物出库
6.库存显示
7.仓库信息存盘
8.仓库信息文件调入
9.退出
按下相应的按键后进入各自的子功能
2.每个子功能执行完毕后,返回并显示主菜单
3.【功能说明】
1.显示货物类型列表:
在屏幕显示已登记的货物类型。
2.新增货物类型:
输入货物种类信息,包括货物种类编号,货物名称。
3.删除货物类型:
输入要删除的货物种类编号,删除该货物信息。
4.货物入库:
输入货物种类编号,入库数量,增加该货物的库存。
5.货物出库:
输入货物种类编号,出库数量,减小该货物的库存。
6.库存显示:
显示各货物的编号,名称,库存。
7.仓库信息存盘:
输入文件名,将仓库信息存入文件。
8.仓库信息文件调入:
输入文件名,读取文件将数据调入,重新生成仓库信息
9.退出:
退出程序,返回操作系统
(七)、订票系统
问题描述:
通过此系统可以实现如下功能:
1)录入:
可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)
2)查询:
可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);
可以输入起飞抵达城市,查询飞机航班情况;
3)订票:
(订票情况可以存在一个数据文件中,结构自己设定)
可以订票,如果该航班已经无票,可以提供相关可选择航班;
4)退票:
可退票,退票后修改相关数据文件;
客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。
5)修改航班信息:
当航班信息改变可以修改航班数据文件
根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能;
(八)、个人帐簿管理系统设计
个人帐簿管理系统记录某人每月的全部收入及各项开支情况,包括食品消费,房租,子女教育费用,水电费,医疗费,储蓄等。
进入系统后可以输入和修改某月的收支情况,可以对每月的开支从小到大进行排序,可以根据输入的月份查询每月的收支情况。
(九)、简单的职工管理系统
1.问题描述
对单位的职工进行管理,包括插入、删除、查找、排序等功能。
2.要求
职工对象包括姓名、性别、出生年月、工作年月、学历、职务、住址、电话等信息。
(1)新增一名职工:
将新增职工对象按姓名以字典方式职工管理文件中。
(2)删除一名职工:
从职工管理文件中删除一名职工对象。
(3)查询:
从职工管理文件中查询符合某些条件的职工。
(4)修改:
检索某个职工对象,对其某些属性进行修改。
(5)排序:
按某种需要对职工对象文件进行排序。
3.实现提示
职工对象数不必很多,便于一次读入内存,所有操作不经过内外存交换。
(1)由键盘输入职工对象,以文件方式保存。
程序执行时先将文件读入内存。
(2)对职工对象中的"
姓名"
按字典顺序进行排序。
(3)对排序后的职工对象进行增加、删除、查询、修改、排序等操作。
4.选做内容
将职工对象按散列法存储,并设计解决冲突的方法。
在此基础上实现增加、删除、查询、修改、排序等操作。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 算法 课程设计 任务书