1、数据结构课程设计方案指导书数据结构课程设计指导书一、实习目的数据结构课程设计是一项综合性设计活动,要求在教师的指导下,利用本课程内的以及到目前为止所学到的有关知识和技术解决一些不太复杂但却是综合性的问题。从规模来说,课程设计是在平时作业的基础上进一步扩大的大作业。在设计中,要求学生要全面考虑相互联系的各个方面及问题。通过课程设计,使学生对整个课程的知识体系有较深入的理解,在运用本课程的知识解决实际问题方面得到锻炼,对锻炼学生的实践能力以及运用本课程的知识、方法解决更为复杂的实际问题有较好的启发和指导作用,从而为后续课程的学习、毕业设计环节以及将来的实际工作打好坚实的基础。通过对给定问题的求解,
2、使学生在运用数据结构、程序设计以及迄今为止所学课程中的各种基本技术和理论,在建立问题模型、构造求解算法、设计数据结构、编程及上机调试等方面得到全面的锻炼,从而能更深刻地理解数据结构的精髓,为后续软件课程的学习及软件设计能力的提高奠定良好的基础。二、数据结构课程设计要求1.学生必须仔细阅读数据结构课程设计方案,认真主动完成课设的要求。有问题及时主动通过各种方式与教师联系沟通。2.学生要发挥自主学习的能力,充分利用时间,安排好课设的时间计划,并在课设过程中不断检测自己的计划完成情况,及时向教师汇报。3.课程设计按照教案要求需要两周时间完成(2周共十天)。三、实习基本内容本次课程设计完成如下模块(共
3、23个模块,学生可以在其中至少挑选5-6个功能块完成,其中8、9、10、13在做5个以下不算数但已经做了5个以上算数)1 【校园导游程序】问题描述:用无向网表示你所在学校的校园景点平面图,图中顶点表示主要景点,存放景点的编号、名称、简介等信息,图中的边表示景点间的道路,存放路径长度等信息。要求能够回答有关景点介绍、游览路径等问题。基本要求:查询各景点的相关信息;查询图中任意两个景点间的最短路径;查询图中任意两个景点间的所有路径;增加、删除、更新有关景点和道路的信息。选作内容:求多个景点的最佳(最短)游览路径。区分机动车道和人行道。实现导游图的仿真界面。数据结构:typedef struct m
4、essage int num。/景点代码 char name100。/景点名称 char pro500。/简介Ciceroni。Ciceronischool10=1,行政楼n,2,食堂n,3,赛博楼,信息分院办公室所在地n,4,求是楼,实验楼计算机中心n,5,格致楼,法学管理学院,6,工程实习中心,金工实习n,7,仰仪楼,机电计测分院n,8,体育馆,旁边有篮球场足球场还有网球场n,9,一号教案楼,主要以阶梯教室为主n,10,二号教案楼,小教室为多n。 /*景点名称和简介*/操作:/*给景点之间的路径赋最大值*/*最短路径的C语言函数*/*输出最短路径和最短距离函数*/*输入景点代码查景点名称和
5、简介*/*输入景点代码查到其它景点的最短距离*/2【员工管理系统】问题描述:每个员工的信息包括:编号、姓名、性别、出生年月、学历、职务、电话、住址等。系统能够完成员工信息的查询、更新、插入、删除、排序等功能。基本要求:排序:按不同关键字,对所有员工的信息进行排序;查询:按特定条件查找员工;更新,按编号对某个员工的某项信息进行修改;插入,加入新员工的信息;删除,按编号删除已离职的员工的信息。选作内容:实现图形用户界面。通过链表实现数据结构:struct workerschar name15。/姓名char department18。/单位char gender。/性别unsigned int a
6、ge。/年龄unsigned long telephone。/电话unsigned long wage。/工资unsigned long num。/职工号struct workers *next。操作实现:/*插入职工信息,通过链表实现 */*具体实现职工信息的插入*/*对职工信息的删除操作*/*修改操作*/*实现对员工信息的查找*/*排序*/* 输出员工信息 */* 显示职工工资情况 计算平均工资 */3【算术表达式求值】问题描述:一个算术表达式是由操作数(operand)、运算符(operator)和界限符(delimiter)组成的。假设操作数是正整数,运算符只含加减乘除等四种运算符,界
7、限符有左右括号和表达式起始、结束符“#”,如:#(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 【运动会分数统计】任务:参加运动会有n个学校,学校编号为1n。比赛分成m个男子工程,和w个女子工程。工程编号为男子1m,女子m+1m+w。不同的工程取前五名或前三名积分
8、;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m=20,n=2,请输男生工程总数m=20,请输女生工程总数k=20)/工程资料:请输入男生工程信息:工程名称。工程编号。该工程的参与人数请输入女生工程信息:工程名称。工程编号。该工程的参与人数/添加学生数据int SchoolCount=0。/学校总数int boyCount=0。/男生工程 总数int girlCount=0。/女生工程 总数int xm_Count=0。 /工程 总数XM_TABLE xm_T41。/工程表主要实现:参数设置、 添加学生、 统计 、学校查询、工
9、程查询等功能。5 一元多项式计算任务:能够按照指数降序排列建立并输出多项式;能够完成两个多项式的相加、相减和相乘,并将结果输出;在上交资料中请写明:存储结构、多项式相加的基本过程的算法(可以使用程序流程图)、源程序、测试数据和结果、算法的时间复杂度、另外可以提出算法的改进方法;设有一元多项式Am(x)和Bn(x).Am(x)=A0+A1x1+A2x2+A3x3+ +Amxm Bn(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)分别采用顺序
10、和动态存储结构实现;3)结果M(x)中无重复阶项和无零系数项;4)要求输出结果的升幂和降幂两种排列情况6 订票系统任务:通过此系统可以实现如下功能:录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓)可以输入起飞抵达城市,查询飞机航班情况;订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;退票:可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。修改航班信息:当航
11、班信息改变可以修改航班数据文件要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能;航班信息数据结构typedef char keytype。/航班信息结构typedef struct char start6。/起点站 char end6。/终点站 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)查询航班信息:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;航班信息查询系统:可以按:1.航班号。2.起点站;3
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1