课 程 设 计 报 告
]
课程名称 数据结构
课题名称 学生成绩管理系统
专 业 通信工程 班 级 1301 学 号 201303020102 姓 名 momom 指导教师 张鏖烽 彭帧 黄哲
2015年 7月 2日
1
湖南工程学院 课 程 设 计 任 务 书
课程名称 数据结构 课 题 学生成绩管理系统
专业班级 通信工程1301 学生姓名 momom 学 号 201303020102 指导老师 张鏖烽 彭帧 黄哲 审 批 张鏖烽
任务书下达日期 2015年 6月 29日 任 务 完成日期 2015年 7月 5日
2
目 录
一、课程设计的分析 ................................................................................ 4 1.课程设计目的: .............................................................................. 4 2.课程设计题目 .................................................................................. 4 3.需求分析 .......................................................................................... 5 二、概要设计 ............................................................................................ 5 三、详细设计 ............................................................................................ 6 四、调试分析 .......................................................................................... 11 (1)调试过程中遇到的问题 ................................................................ 11 (2)经验和体会 .................................................................................... 11 五、用户使用说明 .................................................................................. 12 六、测试结果 .......................................................................................... 13 七、附录 .................................................................................................. 18 八、课程设计评分表 ................................................. 37
3
一、课程设计的分析
1.课程设计目的:
课程设计是对学生的一种全面综合训练,是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。通常,实习题中的问题比平时的习题复杂得多,也更接近实际。实习着眼于原理与应用的结合点,使读者学会如何把书上学到的知识用于解决实际问题,培养软件工作所需要的动手能力;另一方面,能使书上的知识变“活”,起到深化理解和灵活掌握教学内容的目的。平时的练习较偏重于如何编写功能单一的“小”算法,而实习题是软件设计的综合训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧,多人合作,以至一整套软件工作规范的训练和科学作风的培养。
2.课程设计题目
【课题】
学生成绩管理系统 【问题描述】
根据自己这个学期的课程表,设计一个成绩管理系统管理自己班的成绩;每个学生记录包含学号、姓名、每门课程成绩、总分以及加权平均分。
【基本要求】
一个完整的成绩管理系统应具有以下功能: (1)输入:成绩录入; (2)输出:输出成绩表;
(3)插入:在成绩表中适当位置插入某个学生成绩; (4)删除:在成绩表中删除某个学生成绩; (5)查找:根据某个关键字查找某个学生成绩; (6)排序:根据某一个或某几个关键字进行排序; (7)筛选:根据某个关键字筛选出符合某些条件的数据; 【测试数据】
用本班的成绩总表作为测试数据。
4
3.需求分析
本次课程设计的题目是学生成绩管理系统,要求可以存入学生,学生信息包括学生学号、姓名、每科成绩和平均成绩以及加权平均成绩等。该系统主要有以下七个功能,即对学生信息进行:输入、输出、插入、删除、查找、排序、筛选等功能。
对学生进行操作可以有很多思路,而我选用的是单链表村学生信息那一条思路,即设置一个单链表,其中节点数据域保存学生基本信息。由于我们学号比较长,用整型数据无法保存,所以我定义char型的字符串来保存学号和姓名。用一个数组来保存学生每一科的成绩,此外在定义一个总分和平均分变量。定义学生如下:typedef struct Student
{
char mun[12]; //学号 char name[20]; //姓名 float score[8]; //成绩 float all_score; //总分 float ave_score; //加权平均分 struct Student *next;
}LinkList;
二、概要设计
本程序采用链表的方法将每一个学生设置成为一个链表中的数据节点,节点中有字符型mun[12](学号)、name[20](姓名)、浮点型数据score[8](放置每一科成绩的数组)、all_score(总分)和ave_score(加权平均分)。
主函数中在执行成绩管理系统之前会先创建一个链表,并调用void InitList (LinkList *&L)函数来初始化链表;而后进入菜单选择项选择功能进行操作,主程序流程图如下:
5
数据结构课程设计 学生成绩管理系统



