教学计划编制系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

6

*******************

实践教学

*******************

兰州理工大学

计算机与通信学院

2011年春季学期

数据结构课程设计

题目:教学计划编制问题

专业班级:软件一班

姓名:

学号:

指导教师:

成绩:_____________________

前言

本学期开设了算法与数据结构,通过学习算法与数据结构,大家对编程有了更多的了解,为了让大家将自己所学的知识应用到实际当中,学校开设了算法与数据结构课设,通过这次课设大家可以更好地将c语言应用到实际当中,而且可以更好的掌握算法与数据结构,将数据结构和c语言有效的结合起来,使大家的编程能力得到更大的提高。

目录

摘要------------------------------------------------------------------------------------1 关键字----------------------------------------------------------------------------1 正文------------------------------------------------------------------------------------2

1. 采用类c语言定义相关的数据类型-----------------------------------------2

2.各模块的伪码算法-------------------------------------------------------------3

3 函数调用关系图-----------------------------------------------------------------6

4 试调分析--------------------------------------------------------------------------7

5 测试结果--------------------------------------------------------------------------8

总结--------------------------------------------------------------------------------9

参考文献------------------------------------------------------------------------------9 致谢---------------------------------------------------------------------------------10 附件Ⅰ 1.源程序[带注释](结构体文件)---------------------------------------------------------10

2.运行结果----------------------------------------------------------------------------28

摘要

大学的每个专业都要制定教学计划。假设任何专业都有固定的学习年限,每学年含两学期,每学期的时间长度和学分上限值均相等。每个专业开设的课程都是确定的,而且课程在开设时间的安排必须满足先修关系。每门课程有哪些先修课程是确定的,可以有任意多门,也可以没有。每门课恰好占一个学期。此程序就可以满足这些要求,输出正确的结果,帮助我们实现教学计划编制

关键字:数据结构,计划,编制

正文

1采用类c语言定义相关的数据类型

typedef char VertexType[MAX_NAME];

int TotalTerms ; //学期总数

int MaxScores; //学分上限typedef struct ArcNode

{

int adjvex; // 该弧所指向的顶点的位置弧的节点结构struct ArcNode *nextarc; //指向下一条弧的指针

}ArcNode;

/* 查找图中某个顶点位置*/

int LocateVex(ALGraph G, VertexType u)

/* 输出图G的信息*/

void Display(ALGraph G)

*求顶点的入度*/

void FindInDegree(ALGraph G, int indegree[])

struct Name

{ char c[20];

}name;

void puanduan(VertexType str,struct Name name[],int n)

/*栈定义*/

typedef int SElemType; // 栈类型

#define Stack_NUM 20 //存储空间初始分配量

#define Stack_MoreNUM 5 // 存储空间分配增量typedef struct SqStack

*拓扑排序*/

int TopoSort(ALGraph G,AdjList Temp,struct Name name[]) 2.各模块的伪码算法

(1)-图的邻接表存储表示-

int adjvex; 该弧所指向的顶点的位置弧的节点结构struct ArcNode *nextarc; 指向下一条弧的指针

}ArcNode; 链表结点

typedef struct 链接表

{ VertexType data; 顶点信息

int grades; 存储学分信息

ArcNode *firstarc; 指向第一条依附该顶点的弧的指针}VNode, AdjList[MAX_VERTEX_NUM]; 头结点

typedef struct

{ AdjList vertices; vertices 存储课程名

int vexnum, arcnum; 图的当前顶点数和弧数

}ALGraph;

void OUTPUT()

输出菜单

(2)采用邻接表存储结构

输出提示,按提示操作程序

printf("请输入教学计划的课程数: " );

printf( "请输入各个课程的先修课程的总和(弧总数): ");

相关文档
最新文档