《数据结构课程设计》指导书

上传人:xzh****18 文档编号:35602644 上传时间:2018-03-18 格式:DOC 页数:12 大小:96.50KB
返回 下载 相关 举报
《数据结构课程设计》指导书_第1页
第1页 / 共12页
《数据结构课程设计》指导书_第2页
第2页 / 共12页
《数据结构课程设计》指导书_第3页
第3页 / 共12页
《数据结构课程设计》指导书_第4页
第4页 / 共12页
《数据结构课程设计》指导书_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《《数据结构课程设计》指导书》由会员分享,可在线阅读,更多相关《《数据结构课程设计》指导书(12页珍藏版)》请在金锄头文库上搜索。

1、数据结构课程设计数据结构课程设计指导书指导书一、实习目的一、实习目的数据结构课程设计是一项综合性设计活动,要求在教师的指导下,利用本课程内的以及到目前为止所学到的有关知识和技术解决一些不太复杂但却是综合性的问题。从规模来说,课程设计是在平时作业的基础上进一步扩大的大作业。在设计中,要求学生要全面考虑相互联系的各个方面及问题。通过课程设计,使学生对整个课程的知识体系有较深入的理解,在运用本课程的知识解决实际问题方面得到锻炼,对锻炼学生的实践能力以及运用本课程的知识、方法解决更为复杂的实际问题有较好的启发和指导作用,从而为后续课程的学习、毕业设计环节以及将来的实际工作打好坚实的基础。通过对给定问题

2、的求解,使学生在运用数据结构、程序设计以及迄今为止所学课程中的各种基本技术和理论,在建立问题模型、构造求解算法、设计数据结构、编程及上机调试等方面得到全面的锻炼,从而能更深刻地理解数据结构的精髓,为后续软件课程的学习及软件设计能力的提高奠定良好的基础。二、数据结构课程设计要求二、数据结构课程设计要求1.学生必须仔细阅读数据结构课程设计方案,认真主动完成课设的要求。有问题及时主动通过各种方式与教师联系沟通。2.学生要发挥自主学习的能力,充分利用时间,安排好课设的时间计划,并在课设过程中不断检测自己的计划完成情况,及时向教师汇报。3.课程设计按照教学要求需要两周时间完成(2 周共十天)。数据结构课

3、程设计时间:数据结构课程设计时间:17 周周一下午周周一下午 5-8 节,节,17 周周二下午周周二下午 5-8 节,节,17周周五下午周周五下午 5-8 节,节,18 周周一全天周周一全天 1-8 节,节,18 周周二上午周周二上午 1-4 节,节,18 周周周周四下午四下午 5-8 节,节,18 周周五上午周周五上午 1-4 节节三、实习基本内容三、实习基本内容本次课程设计完成如下模块(共本次课程设计完成如下模块(共2020个模块,学生可以在其中至少挑选个模块,学生可以在其中至少挑选4-54-5个功能块完个功能块完 成)成) 1 1 校园校园导游程序导游程序 问题描述:用无向网表示你所在学

4、校的校园景点平面图,图中顶点表示主要景点, 存放景点的编号、名称、简介等信息,图中的边表示景点间的道路,存放路径长度等信 息。要求能够回答有关景点介绍、游览路径等问题。 基本要求:查询各景点的相关信息;查询图中任意两个景点间的最短路径;查询图 中任意两个景点间的所有路径;增加、删除、更新有关景点和道路的信息。选作内容:求多个景点的最佳(最短)游览路径。 区分机动车道和人行道。 实现导游图的仿真界面。 数据结构:数据结构: typedef struct message int num;/景点代码 char name100;/景点名称 char pro500;/简介 Ciceroni; Cicer

5、oni school10=1,“行政楼n“,2,“食堂n“,3,“赛博楼,信息分院办公室所 在地n“,4,“求是楼,实验楼计算机中心n“,5,“格致楼,法学管理学院“, 6,“工程实习中心,金工实习n“,7,“仰仪楼,机电计测分院n“,8,“体育馆,旁边有篮 球场足球场还有网球场n“,9,“一号教学楼,主要以阶梯教室为主n“,10,“二号教 学楼,小教室为多n“; /*景点名称和简介*/ 操作: /*给景点之间的路径赋最大值*/ /*最短路径的C语言函数*/ /*输出最短路径和最短距离函数*/ /*输入景点代码查景点名称和简介*/ /*输入景点代码查到其它景点的最短距离*/2 2 员工管理系统

6、员工管理系统 问题描述:每个员工的信息包括:编号、姓名、性别、出生年月、学历、职务、电 话、住址等。系统能够完成员工信息的查询、更新、插入、删除、排序等功能。 基本要求:排序:按不同关键字,对所有员工的信息进行排序;查询:按特定条件 查找员工;更新,按编号对某个员工的某项信息进行修改;插入,加入新员工的信息; 删除,按编号删除已离职的员工的信息。 选作内容:实现图形用户界面。通过链表实现通过链表实现数据结构: struct workers char name15;/姓名 char department18;/单位 char gender;/性别unsigned int age;/年龄unsig

7、ned long telephone;/电话 unsigned long wage;/工资 unsigned long num;/职工号 struct workers *next; ; 操作实现:/*插入职工信息,通过链表实现 */ /*具体实现职工信息的插入*/ /*对职工信息的删除操作*/ /*修改操作*/ /*实现对员工信息的查找*/ /*排序*/ /* 输出员工信息 */ /* 显示职工工资情况 计算平均工资 */3 3 算术表达式求值算术表达式求值 问题描述:问题描述:一个算术表达式是由操作数(operand)、运算符(operator)和界限符 (delimiter)组成的。假设操

8、作数是正整数,运算符只含加减乘除等四种运算符,界限符 有左右括号和表达式起始、结束符“#” ,如:#(7+15)*(23-28/4)#。引入表达式起 始、结束符是为了方便。编程利用“算符优先法”求算术表达式的值。 基本要求:基本要求:从键盘读入一个合法的算术表达式,输出正确的结果;显示输入序列和 栈的变化过程。 “(3.14159/2+sqrt(1/32+4)+1/22*ln(1/1.1*(2+sqrt(1/32+4)*23.45“; 选作内容:选作内容:扩充运算符集合;引入变量操作数;操作数类型扩充到实数。4 4 运动会分数统计运动会分数统计 任务:参加运动会有 n 个学校,学校编号为 1n

9、。比赛分成 m 个男子项目,和 w 个女子项目。项目编号为男子 1m,女子 m+1m+w。不同的项目取前五名或前三名 积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些 取前五名或前三名由学生自己设定。 (m=2,请输男生项目总数m=20,请输女生项目总数k=20) /项目资料: 请输入男生项目信息:项目名称;项目编号;该项目的参与人数 请输入女生项目信息:项目名称;项目编号;该项目的参与人数 /添加学生数据int SchoolCount=0;/学校总数 int boyCount=0;/男生项目 总数 int girlCount=0;/女生项目 总数 int

10、xm_Count=0; /项目 总数 XM_TABLE xm_T41;/项目表 主要实现:主要实现: “ “参数设置参数设置“;“; “ “添加学生添加学生“;“; “ “统计统计 “;“; “ “学校查询学校查询“;“; “ “项目查询项目查询“;“;等功能。等功能。5 5 一元多项式计算一元多项式计算 任务:能够按照指数降序排列建立并输出多项式;能够完成两个多项式的相加、相减,并将结果 输入; 在上交资料中请写明:存储结构、多项式相加的基本过程的算法(可以使用程序流程图) 、源程 序、测试数据和结果、算法的时间复杂度、另外可以提出算法的改进方法;设有一元多项式 Am(x)和 Bn(x).A

11、m(x)=A0+A1x1+A2x2+A3x3+ +AmxmBn(x)=B0+B1x1+B2x2+B3x3+ +Bnxn请实现求 M(x)= Am(x)+Bn(x)、M(x)= Am(x)-Bn(x)和 M(x)= Am(x)Bn(x)。要求: 1) 首先判定多项式是否稀疏2) 分别采用顺序和动态存储结构实现;3) 结果 M(x)中无重复阶项和无零系数项;4) 要求输出结果的升幂和降幂两种排列情况6 6 订票系统订票系统 任务:通过此系统可以实现如下功能: 录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据 自定) 查询:可以查询某个航线的情况(如,输入航班号,查询起降时间

12、,起飞抵达城市, 航班票价,票价折扣,确定航班是否满仓) 可以输入起飞抵达城市,查询飞机航班情况; 订票:(订票情况可以存在一个数据文件中,结构自己设定) 可以订票,如果该航班已经无票,可以提供相关可选择航班; 退票:可退票,退票后修改相关数据文件; 客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。 修改航班信息:当航班信息改变可以修改航班数据文件 要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功 能;航班信息数据结构 typedef char keytype; /航班信息结构 typedef struct char start6;/起点站 char end6

13、;/终点站 char sche10;/航班期 char time15;/起飞时间 char time25;/到达时间 char model4;/机型 int price; /票价 infotype; /定义航班节点 typedef struct keytype keyskeylen;/航班号infotype others;/航班信息 int next; /下一航班 slnode; /航班表 typedef struct slnode slmaxspace; int keynum; int length; sllist; 操作实现:操作实现: (1)录入航班信息: (2)查询航班信息: 可以查询

14、某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班 票价,票价折扣,确定航班是否满仓) ; 可以输入起飞抵达城市,查询飞机航班情况; 航班信息查询系统:航班信息查询系统: 可以按: 1.航班号;2.起点站;3.终点站;4.起飞时间;5.到达时间;以下选作:以下选作:(3)航班订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;(4)航班退票:可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。(5)修改航班信息:当航班信息改变可以修改航班数据文件注:因为航班号为两位字母后跟数字,所以在排

15、序时应该使用多关键字的基数排序对 航班号进行排序。7 7 迷宫问题求解迷宫问题求解 任务:可以输入一个任意大小的迷宫数据,用非递归的方法求出一条走出迷宫的路 径,并将路径输出; 要求:在上交资料中请写明:存储结构、基本算法(可以使用程序流程图) 、源程序、 测试数据和结果、算法的时间复杂度、另外可以提出算法的改进方法;8 8 文章编辑文章编辑 功能:输入一页文字,程序可以统计出文字、数字、空格的个数。 静态存储一页文章,每行最多不超过 80 个字符,共 N 行;要求分别统计出其中英 文字母数和空格数及整篇文章总字数;统计某一字符串在文章中出现的次数,并输出 该次数;删除某一子串,并将后面的字符

16、前移。存储结构使用线性表,分别用几个子函数实现相应的功能; 输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。 输出形式:分行输出用户输入的各行字符;分 4 行输出“全部字母数“、“数字个 数“、“空格个数“、“文章总字数“;输出删除某一字符串后的文章;9 9 josephjoseph环环 任务:编号是 1,2,n 的 n 个人按照顺时针方向围坐一圈,每个人只有一个 密码(正整数) 。一开始任选一个正整数作为报数上限值 m,从第一个人开始顺时针方向 自 1 开始顺序报数,报到 m 时停止报数。报 m 的人出列,将他的密码作为新的 m 值, 从他在顺时针方向的下一个人开始重新从 1 报数,如此

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号