课程设计报告
题目:学生成绩管理系统
姓名:
学院:
专业:
班级: 3班
学号: 1562510301
指导教师:周小芹
2016年3月4日
目录
一设计目的 (1)
二问题分析及需求定义 (1)
三概要设计 (1)
四总体设计(功能模块图) (2)
五详细设计(各功能模块的具体实现算法) (10)
六调试分析(包含各模块的测试用例,测试结果) (16)
七总结 (20)
八答辩记录 (21)
一设计目的
1.进一步强化上机动手能力,在理论和实践的基础上巩固《C语言程序设计》
课程学习的内容,掌握工程化软件设计的基本方法。
2.学会将知识应用于实践,提高分析和解决问题的能力,增强分析和解决
问题的能力,为后续的各门信息技术课程学习打下坚实的基础。
二课程设计的问题分析及需求定义
1.功能需求
1.密码登录;
2.通过键盘输入学生信息,包括学生信息及各门成绩;
3.将输入的信息保存到指定文件中;
4.从文件中读取学生信息;
5.显示全部学生信息;
6.删除及添加学生信息;
7.按成绩总分进行降序排序;
8.通过学号或者姓名查找学生信息;
9.统计学生信息,统计最高分及其学生人数;
10.退出系统;
3.数据需求
准备若干关于学生成绩的数据,包括学号、姓名、数学、英语、c语言三
门课的成绩,例如:
1562510301 王雨晴 90 85 95
……
1562510335 周勇 80 88 95
三概要设计
1.各个模块详细的功能描述。
1.密码登录:进入系统前需输入密码口令,管理员密码为“abcde”,学生密码为
“12345”;
2.输入信息:输入学生信息,包括:学号、姓名、成绩;
3.显示信息:显示输入的信息或者是经过处理的信息;
4.查找信息:查找学生信息,可以按照学号查找或是按姓名查找;
5.修改信息:修改学生的任何信息;
6.删除信息:删除学生的任何信息;
7.排序信息:将输入的学生信息排序,按照总分成绩排序;
8.统计信息:统计出所有信息中的最高分成绩的学生信息及学生人数。四总体设计
2、键盘键入模块:
5、成绩删除程序
6、各门成绩总分统计程序
7、平均分排序程序
8、C语言成绩分段程序
9、成绩保存程序
10、成绩显示程序
五详细设计
学生数据以链表方式储存
(1)函数Lnode *input(Lnode *head)
函数功能:从键盘中键入学生信息,并以该信息作为结点建立单链表。
(2)函数Lnode *Read(Lnode *head)
函数功能:从文件中录入学生信息。
(3)函数void Query(Lnode *head)
函数功能:查找学生信息,可分别以学号或者姓名查找。
(4)函数Lnode *Editinfor(Lnode *head) 函数功能:修改学生信息。
(5)函数void Delet(Lnode *head)
函数功能:根据学号删除该学生信息。
(6)函数void Scoreone(Lnode *head) 函数功能:统计各门成绩以及总分最高分
(7)函数Lnode *sort1(Lnode *head)
函数功能:按照平均分降序排序。
(8) 函数void Save(Lnode *head)
函数功能:保存信息至文件information.txt 中,并计算出平均分。
(9) 函数Lnode *output(Lnode *head)
函数功能:显示所有学生信息。
六调试分析
主页面
1、键入学生信息
2、文件录入学生信息
3、查找学生信息
5、删除学生信息
6、统计学生信息