学生成绩管理系统(论文加源代码)
数据结构与算法课设(C语言)
   
引言                                                       
系统概述                                               
1.1 系统功能                                                         
1.2 系统作用和特点                                                   
需求分析 
2.1 功能要求
2.2 性能要求
2.3 数据需求 
2.4 开发环境 
详细设计
3.1 登陆界面与主界面的实现
3.2 详细设计思想
3.3 系统结构体的设计
3.3 各种模块的实现
所遇到的问题和分析
4.1系统存在的不足
4.2 制作过程中遇到的问题
4.4 问题分析
5系统特及关键技术
6结论及心得体会
参考文献
附录
   
随着计算机的普及,人们的生活和学习都离不开电脑,计算机是提高生产效率的主要工具及途径,所以教育也不例外。现在基本每个大学都有自己的学生管理系统。学生成绩管理系统不仅把广大教师从繁重的成绩管理工作中解脱出来、把学校从传统的成绩管理模式中解放出来,而且对学生成绩的判断和整理更合理、更公正,同时也给教师提供了一个准确、清晰、轻松的成绩管理环境。本系统依据开发要求主要应用于教育系统,学生成绩管理系统借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。学生成绩管理系统的开发运用,实现了学生成绩管理的自动化。主要完成对学生成绩的管理,包括添加、修改、删除,查询,查看信息以及保存入档等六个方面。每一个表的修改都将联动的影响其它的表,当完成添加或删除操作时系统会自动地完成学生成绩的修改。查询功能也是系统的核
心之一,在系统中主要根据学生姓名和学号进行查询,其目的都是为了方便用户使用。系统有完整的添加、删除和修改功能,并具备成绩表查询功能。
论文主要介绍了本课题的开发背景,所要完成的功能和开发的过程。本文主要介绍了本课题的开发背景,所要完成的功能和开发的过程。重点说明了系统的设计思路、总体设计、各个功能模块的设计与实现。
关键词:学生成绩;成绩管理信息系统;C语言
引言 
几年前,许多学校对于学生成绩的管理还是停留在运用手工操作,随着计算机的飞快发展以及各个学校的规模不断壮大,学生人数逐年增加。关于学生成绩管理工作所涉及的数据量越来越大,有的学校不得不靠增加人力、物力来进行学生成绩管理。但人工管理又有着许多缺陷,比如:效率底、易出错、检索信息慢、对学校的管理提供决策信息较为困难等。学校不能完全掌握每一个学生的学习情况,这样对学校的教学工作及其不利,使学校的教学质量一直停滞不前,所以我想借本次课程设计之际,开发一个适用于各校的通用高校学生成绩管理系统,使学校能够充分掌握学生的学习情况,便于学校教学工作的进行和改革。
开发的目标建立学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高办学效率和现代化水平。使学校对学生的成绩能够快速并准确的录入、修改和查询,
更好地掌握每个学生的各科成绩,便于教师的管理。使学生对个人的学习成绩进行快速的查询。让老师能够更好、更快的了解学生的学习情况,使学校的教学质量进一步的提高。本系统改变以往靠手工管理学生成绩的状况,可以树立良好的办学先锋,提高工作效率,节省人力和物力,在些高校建立了校园网,实现了办公自动化。
系统概述
1.1 系统功能
学生成绩管理系统主要以管理学生成绩信息为目的,。主要功能包括登录用户、成绩录入管理、查询管理、修改管理、删除管理、统计管理、成绩排名等。
登录用户:老师可以进行各种操作,学生只能进行查询操作。
成绩录入管理:每次考试结束,都可录入学生成绩信息。
查询管理:包括查询成绩和基本信息。可以显示单独一条记录,也可以显示所有信息。
修改管理:包括修改成绩和基本信息。
删除管理:包括删除成绩和基本信息。
统计管理:统计学生人数,优生率,不及格人数和平均成绩。
成绩排名:按成绩的高低顺序排列。
1.2 系统作用和特点
系统可以更快的使学生的成绩相加并且排名以及各种统计,这对老师来说是很好可以减少很多工作量,在多人多课考试时很有用,只要成绩出来,输入电脑就可以在几秒内是成绩相加,并知道了某学生在学校排名,对老师来说,考完试自由的时间就增加了许多。功能强大,实用性很强,并且有较好的交互界面,方便用户使用,具有易操作性,覆盖面广。
需求分析
2.1功能要求
使用中文菜单,界面设计和用户输入输出要人性化些;
将学生信息保存在文本文档中,
具有数据删除功能,能最终从文件中删除;
排序功能,根据自己设计的数据结构,设计排序算法
具有多种查询(如按学号查询、按姓名查询、按成绩查询等)及输出功能;
其它功能(如各种统计,统计每个学生所有课程的平均分,统计某门课程所有学生的平均分等)
学生信息的修改(修改学生姓名,修改学生某门课程的成绩)
2.2 性能需求
系统的高速性、稳定性、安全性。
系统的体系结构能够方便使用功能,适应业务、办公的发展。
系统人机界面友好,易学易用。
系统维护成本较低。
2.3 数据需求
基本数据维护功能
添加学生的信息。
修改学生的信息。
删除学生的信息。
查询学生的信息。
统计学生的信息。
存读的成绩信息。
结构
   
                             
 
                 
用户结构
         
       
主菜单
2.4 开发环境
    开发环境是用Visual C++ 6.0,简称VC或者VC6.0,是微软推出的一款C++编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序。Visual C++是一个功能强大的可视化软件开发工具。它是一种可视化的编程工具,它基于windows操作系统。它有两种方式来建立应用程序,一种是通过VC6.0的可视化编程工具,另一种是通过visual c++6.0的代码编辑器,手
工编写代码。本系统所用的语言是C语言,C语言是目前世界上流行、使用最广泛的高级程序设计语言。
C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它高级语言,许多大型应用软件都是用C语言编写的。C线上编程课排名语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画它是数值计算的高级语言
3 详细设计
3.1登陆界面与主界面的实现
系统登录界面用了C选择控制语言。用于对进入系统的用户进行安全检查,阻止非法用户的进入。验证账号及密码,通过判断账号及密码是否符合申请的账号和密码,如果符合则允许登录,否则提示用户账号或密码不正确。
本系统的登录界面:
主界面:
在主界面中包括“班级成绩添加班级成绩显示班级成绩统计班级成绩查询班级成绩修改班级成绩表班级成绩存档班级成绩读入退出”等全部的功能,之所以设计这麽一个主界面,一是因为能使用户对程序操作的流程更加清晰简明,二是保证了用户同时只能对一个文件进行操作系统的要求,保证了系统的正确性和易用性。
3.2  详细设计思想
3.2.1确定程序主要功能模块
    这个就比较简单了,主要是根据系统设计的说明及要求来设计,从而设计了九大功能模块,有文件操作,有系统维护功能,排序和统计功能,有输入输出等基本功能,比较人性化,添加了较多的提示语。这个程序的主要功能时输入学生的学号,姓名,学期和三科成绩来对其进行存储,在存储后可以对学生的成绩按学号及学期或姓名及学期来进行查询,同时输出此同学的平均分及总分,之后可以对某个同学的成绩进行各种操作,例如修改,删除等,同时还可以对学生们的成绩按照总分或单科成绩排序,在整个过程中所做的操作都会保存到""文件中并显示。
3.2.2确定语言算法
    由于之前都没有做过类似的设计,所以一时间不能够确定到底使用何种语言来设计本系统,所以在网上看了一些其他人设计的程序,链表的、数组的,各种各样的,也不知如何选择,但是仔细地看了其中的设计思想,最终还是用C和数组的来做,一是觉得本人对链表掌握的不是很熟练,那么在设计过程中容易产生不能理解的错误,耽误时间,二是想运用C,可以巩固一下所学的数据结构的知识,之前做实验的时候都没怎么用所学的知识,这时候想练练。就这样确定了整体的结构算法
3.3 系统结构体的设计
                 
   
struct Student //结构体
{
    int term;//学期
    int num;//学号
    char name[12];//姓名
    float mark1;//成绩
    float mark2;
    float mark3;
    float sum;//总分
    float average;//平均分
}
3.3 各种模块的实现
    Main()函数的设计用Mvoid main()来实现,主要是来显示主菜单,使用户选择操作。在main()函数中主要运用do-while循环语句和switch()-case选择判断语句来调用相关选择各种功能模块。系统的运行是在一个永真的循环里进行的,只有在主界面并选择“退出”时,才会跳出永真循环,并退出程序。
3.3.1录入学生记录模块
    用函数int add_text(struct Student stud[], int n)  来实现
      主要功能用来对学生的记录进行添加。选择"8",进入模块录入所需学生个数的学生信息,比如学号,姓名,成绩等。然后进入主菜单,根据主菜单来在此基础上进行操作。期间会有一些提示语,按此操作即可。本函数用到了文件操作的指针FILE *fp
3.3.2显示学生记录模块
    用函数void output_stu(struct Student stud[], int n, int i)来实现
      主要功能是用来显示学生的信息进行输出。在系统已经录入了的前提下,只用该功能可以显示学生的信息资料等等。同时也会自动跳出主菜单进行后续操作。主要的程序代码就是从文件的读操作和界面显示操作。
3.3.3添加模块
    用函数void input_num(struct Student stud[], int n, int i) 来实现。主要功能是用来添加,成绩。若有重号则提示重新输入,,就可以使用本模块来进行添加利用for循环进行输
入新学生记录,输入完后,最后会有一个提示语句:是否继续输入 (y\n),y是继续输入,n是返回主菜单否则将返回主菜单,本模块功能到此结束。在此期间会根据语句算出总分和平均分,并默认按学号排序保存到文件中去

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。