教学计划编制系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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( "请输入各个课程的先修课程的总和(弧总数): ");