- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程设计之课程表实现
软 件 学 院
课程设计报告书
课程名称 数据结构
设计题目 教学计划编制
专业班级 软件10-04班
学 号 1020010432
姓 名 张小龙
指导教师 刘玲玲
2012年月1 设计时间 1
2 设计目的 1
3设计任务 1
4 设计内容 1
4.1需求分析 1
4.2总体设计 2
4.3详细设计 6
4.4测试与分析 13
4.4.1测试 13
4.4.2分析 18
4.5 附录 19
5 总结与展望 30
参考文献 32
成绩评定 32
1 设计时间
2 设计目的 1)
(2)
(3)提高C程序调试能力,加强实践能力
(4)
(5)培养软件设计能力和开发能力
(6)加强个人程序设计能力
3设计任务
大学的每个专业都要制定教学计划。假设任何专业都有固定的学习年限,每学年含两学期,每学期的时间长度和学分上限值均相等。每个专业开设的课程都是确定的,而且课程在开设时间的安排必须满足先修关系。每门课程有哪些先修课程是确定的,可以有任意多门,也可以没有。每门课恰好占一个学期。试在这样的前提下设计一个教学计划编制程序。
4 设计内容
4.1需求分析
1、程序所能达到的功能
(1)数据结构使用有向图和栈。 (2)课程先修关系
(表4.1--01课程先修关系)
(3)如果输入的先修课程号不在该专业开设的课程序列内,则作为错误处理。
2、输入的形式和输入值的范围
输入参数包括:学期总数,一学期的学分上限,每门课的课程号(固定3位的字母数字串)、学分和直接先修课的课程号。
3、输出的形式
每学期课程安排
4、测试数据:
学期总数6,一学期的学分上限,该专业共开课程数目1,按照输入课程名,课程号,课程学分。输出正确的课程编排结果。
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)
操作结果:构造一个空栈Svoid StackEmpty(SqStack *S)
初始条件:栈S已存在
操作结果:若栈S为空栈,则返回TRUE,否则FALSE
void Push(SqStack *S,int e)
初始条件:栈S已存在
操作结果:插入元素e为新的栈顶元素
void Pop(SqStack *S,int *e)
初始条件:栈S已存在且非空
操作结果:删除S的栈顶元素,并用e返回其值
void FindInDegree(ALGraph G, int indegree[])
初始条件:拓扑排序完成
操作结果:构造关键路径的先修关系网
void TopologicalSort_1(ALGraph G,int numterm,int uplcredit)
初始条件:图G已存在
操作结构:进行拓扑排序,并完成关系网的构造,使课程尽可能集中在前几个学期
void TopologicalSort_2(ALGraph G,int numterm,int uplcredit)
初始条件:图G已存在
操作结果:进行拓扑排序,并完成关系网的构造,使课程尽量均匀分布
}ADT Graph
2、说明主程序的流程
3、说明各程序模块之间的层次(调用)关系(图4.2-3)
4.3详细设计
1、实现概要设计中定义的所有数据类型,对每个操作只需要写出伪码算法
1)采用邻接表存储结构,构造没有相关信息的图G,并储存键入的相关信息
void CreatGraph(ALGraph *G)
{ 通过循环语句完成对键入的课程名称,课程号,学分的存储,并课程先修关系建立邻接表
for (i = 1; i = G-arcnum; i++) /* 构造顶点向量 */
{
printf(\n请输入存在先修关系的两个课程的序号:);
scanf(n,m);
while (课程号不在编入范围)
{
printf(输入的顶点序号不正
您可能关注的文档
最近下载
- 一年级语文下册课件-口语交际:打电话-部编版(9)(共12张PPT)-语文一年级下册课件.ppt VIP
- Unit3LivingLegendsReadingandThinking教学设计高中英语人教版.docx VIP
- 一年级下册语文 口语交际 打电话 课件(共12张PPT).pptx VIP
- 党政领导干部选拔作用工作条例学习内容提纲.doc VIP
- DLT441-2004《火力发电厂高温高压蒸汽管道蠕变监督规程》.pdf VIP
- 五年级美术《为作文画插图》.ppt VIP
- 2026届新高考物理冲刺复习“配速法”解决带电粒子在复合场中的运动.pptx VIP
- 玉米期货分析报告.docx VIP
- 铁道工程技术论文-铁路路基边坡病害及处理措施.docx
- 2025年小学语文部编版五年级下册《选择题》专项练习题(共4组,附答案)(必考.pdf VIP
文档评论(0)