“学生管理系统c语言版”课程设计报告
1 概述    3
2 系统的分析与设计    3
3 系统的实现与测试    4
4 总 结    13
参 考 文 献    13

1 概述
学生成绩管理系统是学校不可或缺的一个组成部分。随着计算机的飞速发展,计算机在教育系统中的应用得到了巨大的发展。教务管理正在逐步迈向管理信息现代化。但我国的教育信息水平还处在初级阶段,主要表现在对学生的成绩管理、学生的课程管理还是采用原有的人工管理
方式。但由于学校规模的不断扩大,学生数量增加。面对庞大的信息量,这使得人工管理已无法实现。在这种情况下,使用计算机进行管理变得尤为重要。这时就需要学生成绩管理系统来进行对学生的成绩管理。该系统实现了对学生信息的基本存储和管理,不用手工处理,这样可以使效率提高,使数据信息化,更安全,节约更多时间,也更方便老师管理。
此学生管理系统采用C语言进行描述。保存在文本文件中,实现了读入学生信息,计算平均分,排序,查具有某项功能的学生信息,给学生分类,将保存学生信息,删除,插入学生信息,修改学生信息等诸多功能,能够便于学校对学生的成绩管理。减少老师的工作量。提高效率,使得数据信息化。
2 系统的分析与设计
2.1 系统设计目标
本系统主要是针对学生管理的一个系统。为了方便学校对学生成绩的统一管理。
fread和fwrite的区别提高教师的工作效率。采用c语言在Visual C++下实现的。
系统共需实现
1)读入,输出学生信息。
2)计算,排序,查学生信息。
3)学生信息的存储。
4)将学生信息分类。
5)删除,插入,修改学生信息。
等诸多功能。以上功能要在数组和链表中均实现。
2.2 系统的功能分析
本学生系统主要分为两大部分,第一部分主要用到的数据结构为数组,第二部分是在链表的基础上进行的。
功能图如图所示:
图 1功能模块图
                                     
               
学生信息使用结构体类型的变量保存。出生日期也为结构体。政治面貌为共用体。
在第一部分中:
利用数组需要实现的功能有:
1)读入,输出学生的基本信息。
2)按某门课计算平均分。排序(按成绩或姓名),按姓名查学生的基本信息。
3)学生信息的分类(分为优秀,良好,中等,及格,不及格)。
4)保存学生信息到文件中并可以从文件中读出。
第二部分中:
在链表的基础上主要实现的功能为:
1)创建链表,删除链表,将信息从链表中读出。
2)按学号排序,查成绩最高的学生,查某个年龄段的学生信息。
3)学生信息的插入与删除。并将信息保存到文件中。
2.3 系统的结构和工作原理(或流程)   
                             
      图 2 学生成绩管理系统流程图
学生管理系统分为两大部分,一部分为数组,一部分为链表,在数组中主要实现的功能为数据的输入输出。计算平均分,排序分为按成绩排序,按姓名排序。还有按姓名查,按成绩分类,保存信息等诸多功能。链表里包含创建链表,排序,查,按学号和姓名。插入,删除,保存。
整个系统采用的是循环菜单的形式给出的,这样可以让用户多次实现功能,每个功能对应一个选项,通过选项实现相应的功能。
简化流程:
(1)显示主菜单。
(2)选择要实现的功能。若所选功能为18,则直接退出程序。否则执行(3)。
(3)实现所要完成的功能。
(4)返回(1)
3 系统的实现与测试
3.1 实现方法和技术
本程序设计风格是清晰第一,效率第二。尽可能的让读者更了解系统的功能。
采用了自顶向下、逐步求精、模块化的结构化程序设计。适当的增加注释,增加了程序的可读性。未使用goto语句。使程序实现了只有一个入口一个出口的结构。运用了软件工程的思想方法。将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件。应用了宏的定义,采用了二进制文件。