数据结构课设_教学计划编制问题

数据结构课设_教学计划编制问题

ID:44049438

大小:738.84 KB

页数:35页

时间:2019-10-18

数据结构课设_教学计划编制问题_第1页
数据结构课设_教学计划编制问题_第2页
数据结构课设_教学计划编制问题_第3页
数据结构课设_教学计划编制问题_第4页
数据结构课设_教学计划编制问题_第5页
资源描述:

《数据结构课设_教学计划编制问题》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、来)匚人嚟秦皇岛分校NorihEasternUniversityAtQmHuangDao数据结构课程设计教学计划编制问题班级学号2143201学生姓名提交日期成绩周子健2016年1月19日计算机与通信工程学院设计要求:针对计算机系木科课程,根据课程之间的依赖关系(如离散数学应在数据结构Z前开设)制定课程安排计划,并满足各淫期课程数目大致相同。1.1课程设计目的木课程设计主要是针对计算机系木科课程,根据课程Z间的依赖关系,制定课程安排计划,并满足各学期课程数目大致相同。教学计划编制系统是基于C++的软件系统,通过建

2、立AOV网,按学期对课程序号、课程代号、课程名称以及课程学分进行相应输出,并且保证用户实现自由选择专业选修课功能。1.2课程设计内容教淫计划编制系统主要是处理课程Z间的依赖关系。表1.1列出了若干门计算机系本科课程,其中有些课程不要求先修课程,例如,ci是独立于其他课程的基础课,而冇些课程却需要冇先修课程,比如,学完程序设计语言C++和离散数学后才能学习数据结构。具体情况如表1」所示。表1.1课程以及课程之间的依赖关系课程代号课程名称先修课程C1高等数学无C2计算机科学导论无C3离散数学C1C4程序设计语言C++

3、Cl、C2C5数据结构C3、C4C6计算机原理C2、C4C7数据库原理C4、C5、C6先修课程规定了课程Z间的依赖关系,这种关系可以用AOV网来表示,其中顶点表示课程,弧表示依赖关系,如图1.1所示。图1.1表1.1对应的AOV网程序的主耍功能是实现课程的排序,以满足同一学期所修的课程相互Z间无依赖关系,并11已修完其所冇先修课程。另外,设置学分变量,控制每个学期的课程量基木均匀。2概要设计2.1数据表示教学计划编制问题中,操作对象是课程。课程之间的依赖关系用AOV网表示,AOV网的构造采用邻接表实现。因此,木程

4、序设计定义了两个类:课程类和邻接表类。课程类(Lesson)添加了5个私冇成员变量用来定义课程的5个屈性:课程代号、课程名称、课程序号、课程学分以及是否被选择过的课程标记。同时还定义了8个成员函数,已实现相关的操作功能。邻接表类(ALGraph)定义了2个整型成员变量和1个结构体数组来存放顶点数、边数和顶点表。同吋述定义了4个成员函数实现用来实现AOV网的构造、删除、排序以及相关输出功能。2.2数据处理数据处理必须借助函数來实现。本程序设计通过调用类的各种成员函数实现各种需要操作。课程类(Lesson)的成员函数

5、如表2」所示。表2.1Lesson类的成员函数函数名称功能声明voidSetLes()对课程各种属性进行赋值stringGetNum()获得课程代号stringGetName()获得课程名称floatGetLesScore()获得课程学分intGetLesNo()获得课程序号boolGetSelect()获得是否选择过的标志变量voidSetSelect()设置选择控制标志变量,以避免重复选课voidSetName()单独定义设置课程名称的函数,以方便一些操作邻接表类(ALGraph)的成员函数如表2.2所示。表

6、2.2ALGraph类的成员函数函数名称功能声明ALGraph()构造函数〜ALGraph()析构函数voidTopSort()实现AOV网屮顶点的排序并进行相应的输出voidBalanScore()平衡每次输出的顶点的数目3详细设计3.1课程类的定义课程类(Lesson)添加了5个私有成员变量:LesNum(课程代号)、LesName(课程名称)、LesScore(课程学分)、LesNo(课程序号)以及Select(是否被选择过的课程标记),分别用来定义课程的5个属性;同时述定义了8个成员函数:SetLes(对

7、课程各种属性进行赋值)、GetNum(获得课程代号)、GetName(获得课程名称)、GetLesScore(获得课程学分)、GetLesNo(获得课程序号)、GetSelect(获得是否选择过的标志变量)、SetSelect(设置选择控制标志变量)和SetName(单独定义设置课程名称),用來实现相关的操作功能。计算机系一共有65门课程,其屮相互之间存在依赖关系的课程有56门,另外9门为独立课程,不存在依赖关系。LessonB[65]定义课程类的对彖数组,可以通过调用课程类的各种成员函数对65门课程的课程序号、

8、课程代号、课程名称以及课程学分等等进行操作。3.2邻接表类的定义邻接表是一种顺序存储与链接存储相结合的存储方法。在邻接表中存在两种结点结构:顶点表结点和边表结点,如图3.1所示。Indegreevertexfirstedgeadjlistnext顶点表结点边表结点图3.1邻接表表示的结点结构采用C++中的结构类型描述上述结点,用C++中的类实现基于邻接表存储结构下图的各种

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。