我的课程表c语言设计程序,数据结构(课程设计)之课程表实现.doc

本课程设计报告旨在实现一个教学计划编制程序,利用数据结构中的有向图和栈,根据课程的先修关系进行课程安排。设计目标包括提升学生的分析和编程能力,理解数据结构和C语言的应用。程序要求能处理课程的先修关系,如果输入的先修课程不存在则进行错误处理,并输出每学期的课程安排。测试数据为6个学期,每学期学分上限16,14门课程,按照预设的课程先修关系进行安排。
摘要由CSDN通过智能技术生成

数据结构(课程设计)之课程表实现

PAGE

PAGE 1

软 件 学 院

课程设计报告书

课程名称 数据结构

设计题目 教学计划编制

专业班级 软件10-04班

学 号

姓 名 张小龙

指导教师 刘玲玲

2012年 1 月

目 录

TOC \o "1-3" \h \z \u HYPERLINK \l "_Toc" 1 设计时间 PAGEREF _Toc \h 1

HYPERLINK \l "_Toc" 2 设计目的 PAGEREF _Toc \h 1

HYPERLINK \l "_Toc" 3设计任务 PAGEREF _Toc \h 1

HYPERLINK \l "_Toc" 4 设计内容 PAGEREF _Toc \h 1

HYPERLINK \l "_Toc" 4.1需求分析 PAGEREF _Toc \h 1

HYPERLINK \l "_Toc" 4.2总体设计 PAGEREF _Toc \h 2

HYPERLINK \l "_Toc" 4.3详细设计 PAGEREF _Toc \h 6

HYPERLINK \l "_Toc" 4.4测试与分析 PAGEREF _Toc \h 13

HYPERLINK \l "_Toc" 4.4.1测试 PAGEREF _Toc \h 13

HYPERLINK \l "_Toc" 4.4.2分析 PAGEREF _Toc \h 18

HYPERLINK \l "_Toc" 4.5 附录 PAGEREF _Toc \h 19

HYPERLINK \l "_Toc" 5 总结与展望 PAGEREF _Toc \h 30

HYPERLINK \l "_Toc" 参考文献 PAGEREF _Toc \h 32

HYPERLINK \l "_Toc" 成绩评定 PAGEREF _Toc \h 32

1 设计时间

2012年1月3日

2 设计目的

(1)加强学生分析问题能力和应用所学知识解决问题的能力;

(2)使学生对所学内容更深入的了解和应用;

(3)提高C程序调试能力,加强程序设计和实践能力;

(4)加深学生对《数据结构》和《C语言》等相关课程的认识;

(5)培养学生自主软件设计能力和开发能力;

(6)加强个人程序设计能力和学生与学生之间的交流和研讨。

3设计任务

大学的每个专业都要制定教学计划。假设任何专业都有固定的学习年限,每学年含两学期,每学期的时间长度和学分上限值均相等。每个专业开设的课程都是确定的,而且课程在开设时间的安排必须满足先修关系。每门课程有哪些先修课程是确定的,可以有任意多门,也可以没有。每门课恰好占一个学期。试在这样的前提下设计一个教学计划编制程序。

任选软件专业几门课程作为顶点,通过这几门课程的先修关系来构建一个有向图,用邻接表来储存,通过栈和有向图来完成课程教学计划安排。

4 设计内容

4.1需求分析

1、程序所能达到的功能

(1)数据结构使用有向图和栈。

(2)课程先修关系(表4.1--01)

(表4.1--01课程先修关系)

(3)如果输入的先修课程号不在该专业开设的课程序列内,则作为错误处理。

2、输入的形式和输入值的范围

输入参数包括:学期总数,一学期的学分上限,每门课的课程号(固定占3位的字母数字串)、学分和直接先修课的课程号。

3、输出的形式

每学期课程安排

4、测试数据:

学期总数6,一学期的学分上限16,该专业共开课程数目14,按照表4.1--01输入课程名,课程号,课程学分。输出正确的课程编排结果。

4.2总体设计

1、说明本程序中用到的所有抽象数据类型的定义

ADT Graph{

数据对象V:V是具有相同特性的数据元素的集合,称为顶点集.

数据关系R:?R={VR}

VR={(v,w)|v,w∈V,(v,w)表示v和w之间存在直接先修关系}

基本操作P:

void CreatGraph(ALGraph *G)

操作结果:创造图G

void InitStack(SqSttack *S)

操作结果:构造一个空栈S

void StackEmpty(SqStack *S)

初始条件:栈S已存在

操作结果:若栈S为空栈,则返回TRUE,否则FALSE

void Push(SqStack *S,in

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值