级软件工程数据结构课程设计任务与要求_软件工程课程设计任务
级软件工程数据结构课程设计任务与要求由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“软件工程课程设计任务”。
数据结构课程设计任务书
一、选题
选题原则是数据结构算法实现及在具体问题中的应用。可选择下列与实际应用紧密结合的较综合性的题目,也可自选(自选题必须通过任课教师认可)。要求通过课程设计的实践,在数据结构的表示、数据结构的选择及应用、算法设计与实现等方面加深对数据结构课程基本内容的理解和综合运用能力的提高。对下列题目每个同学的课设任务按下式确定:
每个同学完成两个题目,其中题1(哈夫曼树应用)每个同学必做,其它任选一题。
1.哈夫曼树应用
功能:
(1)从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树并将它存于文件hfmTree中.将已在内存中的哈夫曼树以直观的方式(比如树)显示在终端上;
(2)利用已经建好的哈夫曼树(如不在内存,则从文件htmTree中读入),对文件ToBeTran中的正文进行编码,然后将结果存入文件CodeFile中,并输出结果,将文件CodeFile以紧凑格式先是在终端上,每行50个代码。同时将此字符形式的编码文件写入文件CodePrint中。
(3)利用已建好的哈夫曼树将文件CodeFile中的代码进行译码,结果存入文件TextFile中,并输出结果。分步实施:
1)初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;
2)完成最低要求:完成功能1;
3)进一步要求:完成功能2和3。有兴趣的同学可以自己扩充系统功能。
要求:1)界面友好,函数功能要划分好
2)总体设计应画一流程图
3)程序要加必要的注释
4)要提供程序测试方案
5)程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。
2.运动会分数统计
任务:参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m
1)可以输入各个项目的前三名或前五名的成绩;
2)能统计各学校总分,3)可以按学校编号或名称、学校总分、男女团体总分排序输出;
4)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。
5)数据存入文件并能随时查询
6)规定:输入数据形式和范围:可以输入学校的名称,运动项目的名称
输出形式:有合理的提示,各学校分数为整形
界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。
存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。(数据文件的数据读写方法等相关内容在c语言程序设计的书上,请自学解决)请在最后的上交资料中指
明你用到的存储结构;
测试数据:要求使用
1、全部合法数据;
2、整体非法数据;
3、局部非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明;
3.飞机订票系统
任务:通过此系统可以实现如下功能:
录入:
可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)
查询:
可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);
可以输入起飞抵达城市,查询飞机航班情况;
订票:(订票情况可以存在一个数据文件中,结构自己设定)
可以订票,如果该航班已经无票,可以提供相关可选择航班;
退票: 可退票,退票后修改相关数据文件;
客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。
修改航班信息:
当航班信息改变可以修改航班数据文件
要求:
根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能;
4.宿舍管理查询软件
1)任务:为宿舍管理人员编写一个宿舍管理查询软件, 程序设计要求:
A.采用交互工作方式
B.建立数据文件,数据文件按关键字(姓名、学号、房号)进行排序(冒泡、选择、插入排序等任选一种)
2)查询菜单:(用二分查找实现以下操作)
A.按姓名查询
B.按学号查询
C.按房号查询
3)打印任一查询结果(可以连续操作)
5.校园导航问题
设计要求:设计你的学校的平面图,至少包括10个以上的场所,每两个场所间可以有不同的路,且路长也可能不同,找出从任意场所到达另一场所的最佳路径(最短路径)。
6.教学计划编制问题
设计要求:针对计算机系本科课程,根据课程之间的依赖关系(如离散数学应在数据结构之前开设)制定课程安排计划,并满足各学期课程数目大致相同。
7.图书借阅管理系统
主要分为两大功能:
1)图书管理(增加图书、查询图书、删除图书、图书借阅、还书);
2)会员管理(增加会员、查询会员、删除会员、借书信息);
8.学生成绩管理
实现功能:输入、输出、插入、删除、查找、追加、读入、显示、保存、拷贝、排序、索引、分类合计、退出。
9.散列表的设计与实现
【问题描述】
设计散列表实现电话号码查找系统。
【基本要求】
1)设每个记录有下列数据项:电话号码、用户名、地址;
2)从键盘输入各记录,分别以电话号码和用户名为关键字建立散列表;
3)采用一定的方法解决冲突;
4)查找并显示给定电话号码的记录;
5)查找并显示给定用户名的记录。
【进一步完成内容】
1)系统功能的完善;
2)设计不同的散列函数,比较冲突率;
3)在散列函数确定的前提下,尝试各种不同类型处理冲突的方法,考察平均查找长度的变化。
10.简易文本编辑器
要求:
1)具有图形菜单界面;
2)查找,替换(等长,不等长),插入(插串,文本块的插入)、块移动(行块,列块移动),删除
3)可正确存盘、取盘;
4)正确显示总行数。
11.二叉树的中序、前序、后序的递归、非递归遍历算法,层次序的非递归遍历算法的实现,应包含建树的实现。
要求:遍历的内容应是千姿百态的。
树与二叉树的转换的实现。以及树的前序、后序的递归、非递归遍历算法,层次序的非递归遍历算法的实现,应包含建树的实现。
要求:遍历的内容应是千姿百态的。
12.排序综合利用随机函数产生N个随机整数(20000以上),对这些数进行多种方法进行排序。
要求:
1)至少采用三种方法实现上述问题求解(提示,可采用的方法有插入排序、希尔排序、起泡排序、快速排序、选择排序、堆排序、归并排序)。并把排序后的结果保存在不同的文件中。
2)统计每一种排序方法的性能(以上机运行程序所花费的时间为准进行对比),找出其中两种较快的方法。
3)如果采用4种或4种以上的方法者,可适当加分。
13.学生成绩管理系统
现有学生成绩信息文件1(1.txt),内容如下
姓名学号语文数学英语
张明明01677882
李成友02789188
张辉灿03688256
王露04564577
陈东明05673847
….......…
学生成绩信息文件2(2.txt),内容如下:
姓名学号语文数学英语
陈果31576882
李华明32889068
张明东33484256
李明国34504587
陈道亮35475877
….......…
试编写一管理系统,要求如下:
1)实现对两个文件数据进行合并,生成新文件3.txt
2)抽取出三科成绩中有补考的学生并保存在一个新文件4.txt
3)合并后的文件3.txt中的数据按总分降序排序(至少采用两种排序方法实现)
4)输入一个学生姓名后,能查找到此学生的信息并输出结果(至少采用两种查找方法实现)
5)要求使用结构体,链或数组等实现上述要求.6)采用多种方法且算法正确者,可适当加分.14.图的遍历的实现
要求:
1)先任意创建一个图;
2)图的DFS,BFS的递归和非递归算法的实现
3)要求用有向图和无向图分别实现
4)要求用邻接矩阵、邻接表多种结构存储实现
15.树的应用
要求:实现树与二叉树的转换的实现。以及树的前序、后序的递归、非递归算法,层次序的非递归算法的实现,应包含建树的实现。
16.文本文件单词的检索与计数
设计要求与分析:
要求编程建立一个文本文件,每个单词不包含空格且不跨行,单词由字符序列构成且区分大小写;统计给定单词在文本文件中出现的总次数;检索输出某个单词出现在文本中的行号、在该行中出现的次数以及位置。该设计要求可分为三个部分实现:其一,建立文本文件,文件名由用户用键盘输入;其二,给定单词的计数,输入一个不含空格的单词,统计输出该单词在文本中的出现次数;其三,检索给定单词,输入一个单词,检索并输出该单词所在的行号、该行中出现的次数以及在该行中的相应位置。
(1).建立文本文件
(2)给定单词的计数
(3)检索单词出现在文本文件中的行号、次数及其位置
(4)主控菜单程序的结构
① 头文件包含
② 菜单选项包含建立文件、单词定位、单词计数、退出程序
③ 选择1-4执行相应的操作,其他字符为非法。
17.任意长的整数加法
问题描述:设计一个程序实现两个任意长的整数的求和运算。
基本要求:利用双向循环链表,设计一个实现任意长的整数进行加法运算的演示程序。要求输入和输出每四位一组,组间用逗号隔开。如:1,0000,0000,0000,0000。
18.串的查找和替换
问题描述:打开一篇英文文章,在该文章中找出所有给定的单词,然后对所有给定的单词替换为另外一个单词,再存盘。
19.客户消费积分管理系统
问题描述:针对客户的消费情况,进行客户管理,根据客户的消费积分对客户实行不同程度的打折优惠。基本要求:
1.采用一定的存储结构进行客户信息的存储;
2.对客户的信息可以进行修改、删除、添加;
3.能够根据消费情况进行客户积分的计算;
4.根据积分情况实行不同程度的打折优惠;
20.产品进销存管理系统
问题描述:针对某一种行业的库房的产品进销存情况进行管理。
基本要求:
1.采用一定的存储结构对库房的货品及其数量进行分类管理;
2.可以进行产品类的添加、产品的添加、产品数量的添加;
3.能够查询库房每种产品的总量、进货日期、销出数量、销售时间等;
二、课程设计的基本要求
每人必须独立规定的任务。
课余时间完成源程序和课程设计报告等文档书写工作,上机时间只能做调试工作。
上机时带上源程序、数据结构教材、C语言教材或C++教材。
最后一天收集课程设计报告等文档资料,并进行面试。发现课程设计基本雷同,一律不及格。学生应提交的资料:
纸质的课程设计报告1份;
课程设计心得1份纸质文档(1~2页);
源程序(电子文档)
将源程序、课程设计报告、课程设计心得的电子文档按规定的文件名称和格式放在自己学号所建的文件夹下,并拷贝到指导教师指定的文件夹中。
三、课程设计成绩的评定
通过程序实现、总结报告和学习态度进行综合考评,并结合学生的动手能力、独立分析解决问题的能力和创新精神。成绩分优、良、中、及格和不及格五等。考核标准包括:
答辩情况:把握问题、分析问题以及解决问题等诸多方面的表达能力。(20%)
程序实现的正确性,包括程序整体结构是否合理、编程风格是否规范等。(30%)
学生的工作态度、独立工作能力。(30%)
课程设计报告(含课程设计心得)。
四、课程设计报告封面见模板。
2012级数据结构课程设计题目及要求一、要求本次课程设计可以从以下的题目中任选其一,每个题目基本实现的要求是:1、有菜单功能2、有读写数据存盘功能3、有数据图形显示或动画......
光盘内容说明本光盘有8个目录,对应于课程设计教材中第2至5章的8个案例。每个目录以ch0x0y命名,代表第x章第y节的案例,内容包含该案例的源程序及教材中描述的测试数据。 除“文......
《数据结构》课程设计要求一、课程设计的目的及要求1.课程设计目的课程设计是《数据结构》课程教学必不可缺的一个重要环节,它可加深学生对该课程所学内容的进一步的理解与巩......
《软件工程》课程设计要求一、课程设计目的《软件工程》是一门实践性极强的课程。课程设计通过一个实际的项目,培养学生分析问题和解决实际问题的能力,培养学生综合应用软件工......
《软件工程》课程设计一、目的、要求通过该课程设计使学生树立起强烈的工程化意识,用工程化思想和方法开发软件,切实体会用软件工程的方法开发系统与一般程序设计方法的不同之......
