- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《现代软件工程与实践》课程论文模版
课程论文
现代软件工程与实践
题 目:
学院(系): 信息工程学院
专业班级: ××专业××班
学生姓名: ×××
指导教师: 魏洪涛
年 月 日摘 要
简要介绍所选题的目的、意义、要求,说明主要的设计思路、功能、运行结果。×××××××××××××
目 录
摘 要 1
目 录 1
1 前言(或“绪论”) 1
1.1 设计任务 1
1.1.1 需求说明 1
1.2 设计内容 1
2 程序要求 1
3 算法分析 1
4 流程图(或框图、模块图) 3
5 程序源代码 3
6 调试及运行结果 4
7 体会 4
8 参考文献 4
1 前言(或“绪论”)
1.1 设计任务
1.1.1 需求说明
通过一个学期的学习,我认为要学好C语言程序这门课程,不仅要认真阅读课本知识,更重要的是要通过上机实践才能增强和巩固我的知识。特别是作为高职生,更要注重实践这一环节,只有这样我们才能成为合格的计算机人材。其目录为:
1.2 设计内容
(1)程序要求 (2)算法分析 (3)流程图 (4)源程序 (5)调试及运行结果(6)体会
2 程序要求
学生成绩管理是高等学校教务管理的重要组成部分,其内容较多,为了简化计论,要求设计的管理系统能够完成以下六种功能:
(1) 学生注册登记;
(2) 登记学生成绩;
(3) 修改学生成绩;
(4) 打印一个班级学生的单科成绩;
(5) 求出每个学生一学期中各科的平均成绩;
(6) 打印某一课程成绩处于指定分数段内的学生名单。
3 算法分析
1. 学生成绩管理软件的数据结构
学生成绩一般都是以班级为单位进行管理的,一个班级用一个结点来表示。考虑到插入和删除的方便,这些以班级为单位的结点用链表方式组成一个主目录。每个结点有四个域:
(1) 班级代号;
(2) 课程情况;
(3) 学生情况;
(4) 班级顺序链。
课程情况应能反映出大专生所学过的全部课程。因课程是逐年增多的,所以采用链表结构以便能不断插入新的课程。该班学过的课程构成一个课程链表,所以班级结点中的课程情况用课程链表表示。学生情况主要反映学生的学号,姓名,每学期学生的成绩情况。因为学号总是顺序排列的,所以选用一个结构体数组作为反映学生情况的登陆记表。该 数组的下标值接上班级结点中的班级号就是学号。例如,设每班学生数不超过40个人,班级号为9612,某学生在登记表中相应分量的下标值为26,则该学生的学号为961226。另外,学生成绩管理要分6个学期,所以在学生登记表中,开设6个指针域,每个指针指向该生某学期某门课程学成绩的结点。
各结点结构如下所示:
(1) 主目录中班级的结点为:
班级号 课程链 班级顺序链 学生登记表
(2) 程链表中的结点:
课程代号 学期号 二叉树链 课程顺序链
(3) 分数链表中的结点为:
左链 学号 课程代号 成绩分数顺序 右链
为了便于登记和查询学生的成绩,选择二叉排序来存放学生的成绩。
每个班级的每门课程对应一棵二叉树。通过主目录中班级结点的课程链找到指定的课程结点,再通过课程结点中的二叉树指针指向该门课程的成绩二叉排序树。另外通过主目录中班级结点的学生登记表中的学期指针,指向该学生本学期某门课程的分数结点,并以分数结点的分安数顺序链勾链该生各门课程的成绩。
在登记成绩和查询分数时,都要用到课程代号。课程 代和课程名称是一一对应的。为了简化程序,课程名称和代号对照表设计为一个向量,向量的下标值就作为课程代号,而向量中的元素就是课程名称,这样可以省去代号域。
1. 各函数的功能和实现
学生成绩管理的相关功能由对应的函数来实现。
(1) 学生注册登记
学生入学后,首先应是注册登记。注册时应先检查该学生所在班级是否已经登入主目录,未登入则若调用新结点后登陆入主目录。然后将新调入的班级结点中对应域赋初值,最后再读入学生的学号和姓名并一一填入学生登记表。这样就完成了一个班级的注册和登记工作。
(2)登记学生成绩
学生注册后才可以登记成绩,所以先要检查这个班级是否已经注册,班级中是否有这个学生。在确认有此学生后,登记该生成绩。这时需完成两个操作。一个查询课程代号,另一个是将成绩填入二叉树。这两个操作分别用两个函数来实现:
① 查询课程代号;
② 插入二叉排序树。
有了这两个函数,登记学生成绩的工作可以很方便地完成。首先查处课程代号,调用课程结点,填入课程代号和学期号;再在二叉树链域中置初值为NULL,将课程结点插入为课程链表的头结点。接着读入每个学生的学号和成绩,每个学生的每门课程都生成一分数
文档评论(0)