欢迎来到天天文库
浏览记录
ID:41303788
大小:340.00 KB
页数:35页
时间:2019-08-21
《教学计划编制系统课程设计文档》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、XX《教学计划编制问题》第35页共34页教学计划编制问题学生姓名:XX指导老师:XXX摘要本课程设计主要针对计算机系本科课程,根据课程之间的依赖关系,制定课程安排计划,并满足各学期课程数目大致相同。在课程设计中,系统开发平台为WindowsXP,程序设计设计语言采用C++,程序运行平台为WindowsXP,数据结构为邻接表。对于每个学期的课程数目采用了学分变量进行控制,以实现各学期课程数目大致相同。在程序设计中,采用了面向对象解决问题的方法。程序通过调试运行,初步实现了设计目标,并且经过适当完善后,将可以应用在教学
2、中解决教学计划编制问题。关键词程序设计;数据结构;AOV网;邻接表;C++;课程计划35XX《教学计划编制问题》第35页共34页1引言计算机系的学生必须要完成教学计划中规定的一系列课程,有些课程之间存在相互之间的依赖关系。比如说:《C++程序设计基础》应在《数据结构》之前开设,《大学物理(下)》必须要在《大学物理(上)》学完之后才可以学习。在教学计划编制的过程中,有一个层次的关系。因此,有一个有效、便捷的教学计划编制系统是十分重要的。1.1课程设计目的本课程设计主要是针对计算机系本科课程,根据课程之间的依赖关系,制
3、定课程安排计划,并满足各学期课程数目大致相同。教学计划编制系统是基于C++的软件系统,通过建立AOV网,按学期对课程序号、课程代号、课程名称以及课程学分进行相应输出,并且保证用户实现自由选择专业选修课功能。1.2课程设计内容教学计划编制系统主要是处理课程之间的依赖关系。表1.1列出了若干门计算机系本科课程,其中有些课程不要求先修课程,例如,C1是独立于其他课程的基础课,而有些课程却需要有先修课程,比如,学完程序设计语言C++和离散数学后才能学习数据结构。具体情况如表1.1所示。表1.1课程以及课程之间的依赖关系课程
4、代号课程名称先修课程C1高等数学无C2计算机科学导论无C3离散数学C1C4程序设计语言C++C1、C2C5数据结构C3、C4C6计算机原理C2、C4C7数据库原理C4、C5、C635XX《教学计划编制问题》第35页共34页先修课程规定了课程之间的依赖关系,这种关系可以用AOV网来表示,其中顶点表示课程,弧表示依赖关系,如图1.1所示。C1C7C6C4C5C3C2图1.1表1.1对应的AOV网程序的主要功能是实现课程的排序,以满足同一学期所修的课程相互之间无依赖关系,并且已修完其所有先修课程。另外,设置学分变量,控制
5、每个学期的课程量基本均匀。35XX《教学计划编制问题》第35页共34页2概要设计2.1设计思路数据结构课程主要讨论数据表示和数据处理的基本问题。数据要能被计算机处理,首先必须能够存储在计算机的内存中,这项任务称为数据表示,数据表示的核心任务是数据结构的设计;一个实际问题的求解必须满足各项处理要求,这项任务称为数据处理,数据处理的核心任务是算法设计。本课程设计是基于C++程序设计语言实现的。C++语言的主要特点表现在两个方面,一是全面兼容C,二是支持面向对象的方法。因此,C++既支持面向过程的程序设计,又支持面向对象
6、的程序设计。C++语言最有意义的方面是支持面向对象的特征,基于对象的程序是以类和对象为基础的,程序的操作是围绕对象进行的。在此基础上利用了继承机制和多态性,就成为面向对象的程序设计。数据结构中的数据表示和数据处理问题都可以通过C++类中数据和对数据进行操作的函数来实现。2.2数据表示教学计划编制问题中,操作对象是课程。课程之间的依赖关系用AOV网表示,AOV网的构造采用邻接表实现。因此,本程序设计定义了两个类:课程类和邻接表类。课程类(Lesson)添加了5个私有成员变量用来定义课程的5个属性:课程代号、课程名称、
7、课程序号、课程学分以及是否被选择过的课程标记。同时还定义了8个成员函数,已实现相关的操作功能。邻接表类(ALGraph)定义了2个整型成员变量和1个结构体数组来存放顶点数、边数和顶点表。同时还定义了4个成员函数实现用来实现AOV网的构造、删除、排序以及相关输出功能。2.3数据处理35XX《教学计划编制问题》第35页共34页数据处理必须借助函数来实现。本程序设计通过调用类的各种成员函数实现各种需要操作。课程类(Lesson)的成员函数如表2.1所示。表2.1Lesson类的成员函数函数名称功能声明voidSetLes
8、()对课程各种属性进行赋值stringGetNum()获得课程代号stringGetName()获得课程名称floatGetLesScore()获得课程学分intGetLesNo()获得课程序号boolGetSelect()获得是否选择过的标志变量voidSetSelect()设置选择控制标志变量,以避免重复选课voidSetName()单独定义设置课程名称
此文档下载收益归作者所有