C源代码分析与新设计所要完成的任务.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C源代码分析与新设计所要完成的任务

C源代码分析与创新设计所要完成的任务 在本53班通过自由组合的方式进行两两分组。其中…一个人一组。 选择任课老师所给源代码中的一个案例进行源代码的详细分析。要求理解程序中的每一个函数的功能、实现算法、执行流程;各个函数或各个模块之间的调用关系;整个源程序的框架结构。(分数比例30%) 对源代码进行改造或创新(最好是创新),编写你的课程设计题目的源程序和设计报告书。(分数比例70%) 要求第3周将分组名单和选择分析源代码的题目上交,第4周将设计题目上交,第10周完成创新作业。 没有机器的同学空余时间在计算中心进行分析、调试和编程(这部分同学登记名单给教员)。 完成课程设计的捷径:让我们要高举程序主义、软件工程思想的伟大旗帜,紧密团结在以Microsoft为核心的软件公司周围,沿着比尔·盖茨的生财之道,不分白天黑夜地编程,把建设有本53班特色的C语言源代码分析和学好数据结构的伟大事业全面推向21世纪。 信息工程大学测绘学院 二○○九 ~二○一○学年第 一 学期 七系本53班 C源代码分析与创新设计报告书 课程名称: C源代码分析与创新设计 班 级: 七系 2007级 本53 班 学 号: 姓 名: 二○○九 年 九 月 C源代码分析与创新设计报告(样例) 1前言 通过一段时间的C复习与创新设计,我认为要学好C语言程序这门课程,不仅要认真阅读课本知识,更重要的是要通过上机实践才能增强和巩固我的知识。特别是作为计算机专业的大学生,更要注重实践这一环节,只有这样我们才能成为合格的计算机人材。我们小组设计的案例目录为: 1. 程序要求 2. 算法分析 3. 流 程 图 4. 源 程 序(不用写在报告里) 5. 调试结果 6. 工作分工(写明详细的人员分工或模块分工),以及实际完成的情况) 7. 实习体会(个人填写,一定要是自己的真实体会) 2 程序要求 学生成绩管理是高等学校教务管理的重要组成部分,其内容较多,为了简化计论,要求设计的管理系统能够完成以下六种功能: (1) 学生注册登记; (2) 登记学生成绩; (3) 修改学生成绩; (4) 打印一个班级学生的单科成绩; (5) 求出每个学生一学期中各科的平均成绩; (6) 打印某一课程成绩处于指定分数段内的学生名单。 3 算法分析 1. 学生成绩管理软件的数据结构 学生成绩一般都是以班级为单位进行管理的,一个班级用一个结点来表示。考虑到插入和删除的方便,这些以班级为单位的结点用链表方式组成一个主目录。每个结点有四个域: (1) 班级代号; (2) 课程情况; (3) 学生情况; (4) 班级顺序链。 课程情况应能反映出大专生所学过的全部课程。因课程是逐年增多的,所以采用链表结构以便能不断插入新的课程。该班学过的课程构成一个课程链表,所以班级结点中的课程情况用课程链表表示。学生情况主要反映学生的学号,姓名,每学期学生的成绩情况。因为学号总是顺序排列的,所以选用一个结构体数组作为反映学生情况的登陆记表。该 数组的下标值接上班级结点中的班级号就是学号。例如,设每班学生数不超过40个人,班级号为9612,某学生在登记表中相应分量的下标值为26,则该学生的学号为961226。另外,学生成绩管理要分6个学期,所以在学生登记表中,开设6个指针域,每个指针指向该生某学期某门课程学成绩的结点。 各结点结构如下所示: (1) 主目录中班级的结点为: 班级号 课程链 班级顺序链 学生登记表 (2) 程链表中的结点: 课程代号 学期号 二叉树链 课程顺序链 (3) 分数链表中的结点为: 左链 学号 课程代号 成绩分数顺序 右链 为了便于登记和查询学生的成绩,选择二叉排序来存放学生的成绩。 每个班级的每门课程对应一棵二叉树。通过主目录中班级结点的课程链找到指定的课程结点,再通过课程结点中的二叉树指针指向该门课程的成绩二叉排序树。另外通过主目录中班级结点的学生登记表中的学期指针,指向该学生本学期某门课程的分数结点,并以分数结点的分安数顺序链勾链该生各门课程的成绩。 在登记成绩和查询分数时,都要用到课程代号。课程 代和课程名称是一一对应的。为了简化程序,课程名称和代号对照表设计为一个向量,向量的下标值就作为课程代号,而向量中的元素就是课程名称,这样可以省去代号域。 1. 各函数的功能和实现 学生成绩管理的相关功能由对应的函数来实现。 (1) 学生注册登记 学生入学后,首先应是注册登记。注册时应先检查该学生所在班级是否已经登入主目录,未登入则若调用新结点后登陆入主目录。然后将新调入的班级结点中对应域赋初值,最后再读入学生的学号和姓名并一一填入

文档评论(0)

yuerang3062 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档