数据结构(1)

上传人:豆浆 文档编号:92282468 上传时间:2019-07-08 格式:DOC 页数:34 大小:1.48MB
返回 下载 相关 举报
数据结构(1)_第1页
第1页 / 共34页
数据结构(1)_第2页
第2页 / 共34页
数据结构(1)_第3页
第3页 / 共34页
数据结构(1)_第4页
第4页 / 共34页
数据结构(1)_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《数据结构(1)》由会员分享,可在线阅读,更多相关《数据结构(1)(34页珍藏版)》请在金锄头文库上搜索。

1、课 程 设 计 报 告课程名称 数据结构课程设计 课题名称 教学计划编制问题 专 业 应用物理 班 级 1201 学 号 201210040128 姓 名 张大帅 指导教师 刘长松黄哲 2014年 12月13日湖南工程学院课 程 设 计 任 务 书课程名称 数据结构课程设计 课 题 教学计划编制问题 专业班级 应用物理1201 学生姓名 张大帅 学 号 201210040128 指导老师 刘长松 黄哲 审 批 任务书下达日期: 2014 年 12 月 13 日任务完成日期: 2014 年 12 月 20 日一、设计内容与设计要求1设计内容:1)问题描述大学的每个专业都要制订教学计划。假设任何专

2、业都有固定的学习年限,每学年含两学期,每学期的时间长度和学分上限均相等。每个专业开设的课程都是确定的,而且课程在开设时间的安排必须满足先修关系。每门课程有哪些先修课程是确定的,可以有任意多门,也可以没有。每门课恰好占一个学期。试在这样的前提下设计一个教学计划编制程序。2)基本要求a.输入参数包括:学期总数,一学期的学分上限,每门课的课程号(固定占3位的字母数字串)、学分和直接先修课的课程号。b.允许用户指定下列两种编排策略之一:一是使学生在各学期中的学习负担尽量均匀;二是使课程尽可能地集中在前几个学期中。c.若根据给定的条件问题无解,则报告适当的信息;否则,将教学计划输出到用户指定的文件中。计

3、划的表格格式自行设计。3)测试数据学期总数:6;学分上限:10;该专业共开设课数:12课程号:从C01到C12;学分顺序:2,3,4,3,2,3,4,4,7,5,2,3。先修关系如下图:1942121011365784)实现提示可设学期总数不超过12,课程总数不超过100。如果输入的先修课程号不在该专业开设的课程序列中,则作为错误处理。应建立内部课程号与课程号之间的对应关系。2设计要求:l 课程设计报告规范1)需求分析a.程序的功能。b.输入输出的要求。2)概要设计a. 程序由哪些模块组成以及模块之间的层次结构、各模块的调用关系;每个模块的功能。b. 课题涉及的数据结构和数据库结构;即要存储什

4、么数据,这些数据是什么样的结构,它们之间有什么关系等。3)详细设计a.采用C语言定义相关的数据类型。b.写出各模块的类C码算法。c.画出各函数的调用关系图、主要函数的流程图。4)调试分析以及设计体会a.测试数据:准备典型的测试数据和测试方案,包括正确的输入及输出结果和含有错误的输入及输出结果。b.程序调试中遇到的问题以及解决问题的方法。c.课程设计过程经验教训、心得体会。5)使用说明用户使用手册:说明如何使用你编写的程序,详细列出每一步的操作步骤。6)书写格式见附带说明。7)附录a.参考书目b.源程序清单(带注释)l 考核方式指导老师负责验收程序的运行结果,并结合学生的工作态度、实际动手能力、

5、创新精神和设计报告等进行综合考评,并按优秀、良好、中等、及格和不及格五个等级给出每位同学的课程设计成绩。具体考核标准包含以下几个部分: 平时出勤 (占10%) 系统需求分析、功能设计、数据结构设计及程序总体结构合理与否(占10%) 程序能否完整、准确地运行,个人能否独立、熟练地调试程序(占40%) 设计报告(占30%)注意:不得抄袭他人的报告(或给他人抄袭),一旦发现,成绩为零分。 独立完成情况(占10%)。l 课程验收要求 运行所设计的系统。 回答有关问题。 提交课程设计报告。 提交电子文档(源程序、设计报告文档)。 依内容的创新程度,完善程序情况及对程序讲解情况打分。二、进度安排16周:星

6、期一下午14:00-18:0016周:星期二下午14:00-18:0016周:星期三下午14:00-18:00附:课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。 正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要有一个主要模块的流程图);四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释)。正文总字数要求在5000字以上(不含程序原代码)。目 录1、需求分析11.1程序的功能:11.2输入输

7、出的要求:12、概要设计12.1程序模块功能图12.2数据结构23、详细设计33.1采用C语言定义相关的数据类型33.2各模块的类C码算法33.3各函数的调用关系图、主要函数的流程图94、调试分析以及设计体会114.1测试数据:114.2程序调试中遇到的问题以及解决问题的方法:124.3课程设计过程经验教训、心得体会:125、使用说明136.参考书目197、附录207.1.源程序清单(带注释)191、需求分析1.1程序的功能:编制教学计划。大学的每个专业都要制订教学计划。假设任何专业都有固定的学习年限,每学年含两学期,每学期的时间长度和学分上限均相等。每个专业开设的课程都是确定的,而且课程在开

8、设时间的安排必须满足先修关系。每门课程有哪些先修课程是确定的,可以有任意多门,也可以没有。每门课恰好占一个学期。1.2输入输出的要求:a.输入参数包括:学期总数,一学期的学分上限,每门课的课程号(固定占3位的字母数字串)、学分和直接先修课的课程号。b.允许用户指定下列两种编排策略之一:一是使学生在各学期中的学习负担尽量均匀;二是使课程尽可能地集中在前几个学期中。c.若根据给定的条件问题无解,则报告适当的信息;否则,将教学计划输出到用户指定的文件中。计划的表格格式自行设计。2、概要设计2.1程序模块功能图main()主函数initialNode()初始化课程节点createNode()建立课程顺

9、序sortNode()课程inputBasicInformation()输入基本信息cls()清空信息menu()主菜单图2.1-1 功能模块图2.2数据结构int termtime=0;/学期总数int limitgrade=0;/学分上线char str1004;/课程号int score100=0;/课程学分int totalcourse=0;/课程总数struct node/课程节点 int variable;/标志属不属于同一个学期所修 int previous;/前修课程 int next;/后学课程 struct node * courselink100;/后修课程的指针* co

10、ursenode100=NULL;/课程数目节点3、详细设计3.1采用C语言定义相关的数据类型FILE *fp /保存到文件int termtime=0;/学期总数int limitgrade=0;/学分上线char str1004;/课程号int score100=0;/课程学分int totalcourse=0;/课程总数struct node/课程节点int variable;/标志属不属于同一个学期所修int previous;/前修课程int next;/后学课程struct node * courselink100;/后修课程的指针* coursenode100=NULL;/课程数

11、目节点3.2各模块的类C码算法 A. 初始化课程节点void initialNode()/初始化课程节点int i;int j;printf(n正在初始化。n);for(i=0;i100;i+)后修课程的指针置零;同学期学习的课程置零;前修课程置零;后修课程置零;for(j=0;jcourselinkj=NULL;printf(n初始化完毕。n);B. 建立课程顺序void createNode()/建立课程顺序int i;int temp;int flag;for(i=0;inext);printf(n请输入%d的深入课程课程代号分别是什么(用空格分开):,i+1);for(temp=0;t

12、empnext;temp+)scanf(%d,&flag);coursenodei-courselinktemp=coursenodeflag-1;coursenodeflag-1-previous+;printf(n课程代号t前修课程数t深入课程数n);for(temp=0;tempprevious,coursenodetemp-next); C排课程void sortNode()/排课程int i,j,flag=0,session=1;FILE *fp;if(fp=fopen(d:course.txt,a)=NULL) /如果文件已经存在,可以追加学生信息 if(fp=fopen(d:course.txt,w)=NULL) / 文件不存在时,创建新文件,输入学生信息 printf

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号