欢迎来到天天文库
浏览记录
ID:56921966
大小:231.00 KB
页数:28页
时间:2020-07-24
《教学计划编制问题课程设计.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、信息与电气工程学院课程设计说明书(2015/2016学年第一学期)课程名称:软件算法分析与设计题目:教学计划编制专业班级:计算机1401学生姓名:李丹丹学号:指导教师:陈丽设计周数:一周设计成绩:2016年1月13日目录一、课题的主要功能11.1程序的功能11.2.输入输出的要求11.3运行环境11.4开发工具1二、概要设计22.1程序的模块组成22.2模块的层次结构及调用关系22.3模块的主要功能32.4数据结构和数据库结构3三.主要功能的实现33.1采用C语言定义相关的数据类型。33.2主要函数的流程图43.3画出各函数的调用关系
2、图11四、程序调试124.1测试数据:124.2使用说明13五.心得体会14六、附录156.1参考书目156.2源程序清单(带注释)16一、课题的主要功能1.1程序的功能大学的每个专业都要制订教学计划。假设任何专业都有固定的学习年限,每学年含两学期,每学期的时间长度和学分上限均相等。每个专业开设的课程都是确定的,而且课程在开设时间的安排必须满足先修关系。每门课程有哪些先修课程是确定的,可以有任意多门,也可以没有。每门课恰好占一个学期。试在这样的前提下设计一个教学计划编制程序。本程序针对本科的学期内容,通过输入实际的课程及先后关系。结合
3、每学期的学分及课程数,制定好学习计划。在输入相关数据后,程序会安排好每学期的课程。1.2.输入输出的要求输入参数包括:学期总数,一学期的学分上限,每门课的课程号(固定占3位的字母数字串)、学分和直接先修课的课程号。输出要求输出各门课程所对应的学分,以及每学期各门课程的安排。1.3运行环境1.WINDOWS7系统2.Vc++6.0编译环境1.4开发工具C语言二、概要设计2.1所负责的程序的模块LocateVex():图的邻接表存储的基本操作CreateGraph():构造生成树Display():输出图的邻接矩阵FindInDegree
4、():求顶点的入度2.2模块的层次结构及调用关系Main()函数TopologicalSort()输出G顶点的拓扑排序结果Display()输出图的邻接矩阵CreateGraph()生成图2.3模块的主要功能见“详细设计”-“主要函数流程图”2.4数据结构和数据库结构储存的数据为结构体类型数组,以及结构体单链表结点类型。1typedefstructArcNode弧所指定点位置指向下一条弧的指针网的权值指针intstructInfoType2typedefstruct顶点信息第一个表结点的地址VertexTypeArcNode三.主要功
5、能的实现3.1采用C语言定义相关的数据类型。其中包括字符常量,整型,字符型,字符串型,typedef定义的类型,结构体型,单链表节点类型,结构体数组。3.2主要函数的流程图1.LocateVex():图的邻接表存储的基本操作。由初始条件:图G存在,u和G中顶点有相同特征转而进行判断,若G中存在顶点u,则返回该顶点在图中位置;否则返回-1。intii=0i6、=0i<(*G).vexnumscanf("%s",(*G).vertices[i].data);++iprintf("请输入%d个课程的学分值”)i=0i<(*G).vexnumscanf("%s",(*G).verticestwo[i].data);++imulti3.Display():输出图的邻接矩阵。采用循环设置输出图的邻接矩阵。inti;G.kind=DGprintf("%d个顶点:",G.vexnum);i=0i7、xnumi++i=0iadjvex]++;i++;所负责的部分程序:/*图的邻接表存储的基本操作*/intLocateVex(ALGraphG,VertexTypeu){/*初始条件:图G存在,u和G中顶点有相同特征*//*操作结果:若G中存在顶点u,则返回该顶点在图中位置;否则返回-1*/inti;for(i=0;i8、-1;}StatusCreateGraph(ALGraph*G){/*采用邻接表存储结构,构造没有相关信息的图G(用一个函数构造种图)*/inti,j,k;VertexTypeva,vb;ArcNode*p;printf
6、=0i<(*G).vexnumscanf("%s",(*G).vertices[i].data);++iprintf("请输入%d个课程的学分值”)i=0i<(*G).vexnumscanf("%s",(*G).verticestwo[i].data);++imulti3.Display():输出图的邻接矩阵。采用循环设置输出图的邻接矩阵。inti;G.kind=DGprintf("%d个顶点:",G.vexnum);i=0i7、xnumi++i=0iadjvex]++;i++;所负责的部分程序:/*图的邻接表存储的基本操作*/intLocateVex(ALGraphG,VertexTypeu){/*初始条件:图G存在,u和G中顶点有相同特征*//*操作结果:若G中存在顶点u,则返回该顶点在图中位置;否则返回-1*/inti;for(i=0;i8、-1;}StatusCreateGraph(ALGraph*G){/*采用邻接表存储结构,构造没有相关信息的图G(用一个函数构造种图)*/inti,j,k;VertexTypeva,vb;ArcNode*p;printf
7、xnumi++i=0iadjvex]++;i++;所负责的部分程序:/*图的邻接表存储的基本操作*/intLocateVex(ALGraphG,VertexTypeu){/*初始条件:图G存在,u和G中顶点有相同特征*//*操作结果:若G中存在顶点u,则返回该顶点在图中位置;否则返回-1*/inti;for(i=0;i8、-1;}StatusCreateGraph(ALGraph*G){/*采用邻接表存储结构,构造没有相关信息的图G(用一个函数构造种图)*/inti,j,k;VertexTypeva,vb;ArcNode*p;printf
8、-1;}StatusCreateGraph(ALGraph*G){/*采用邻接表存储结构,构造没有相关信息的图G(用一个函数构造种图)*/inti,j,k;VertexTypeva,vb;ArcNode*p;printf
此文档下载收益归作者所有