用C语言实现一个简单的学生成绩管理系统

上传人:M****1 文档编号:469588574 上传时间:2023-06-04 格式:DOC 页数:11 大小:89KB
返回 下载 相关 举报
用C语言实现一个简单的学生成绩管理系统_第1页
第1页 / 共11页
用C语言实现一个简单的学生成绩管理系统_第2页
第2页 / 共11页
用C语言实现一个简单的学生成绩管理系统_第3页
第3页 / 共11页
用C语言实现一个简单的学生成绩管理系统_第4页
第4页 / 共11页
用C语言实现一个简单的学生成绩管理系统_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《用C语言实现一个简单的学生成绩管理系统》由会员分享,可在线阅读,更多相关《用C语言实现一个简单的学生成绩管理系统(11页珍藏版)》请在金锄头文库上搜索。

1、目 录1 引言12 系统需求分析12.1工程背景分析12.2 系统开发的目标与意义12.3 工程需求分析13 系统总体设计13.1 功能模块分析13.2 系统功能模块初始化准备33.2.1 编译预处理33.2.2 数据构造定义33.3 具体模块处理函数的实现43.3.1 菜单函数界面的设计43.3.2 功能函数设计44 系统测试与分析94.1 运行工具介绍94.2 系统操作9完毕语10参考文献10z用C语言实现一个简单的学生成绩管理系统摘要:伴随着现代社会的开展,网络技术的不断进步,越来越多的管理工作都从传统的现实社会中开展到了网络上。高校是使用计算机技术最早的单位,学校的各项管理工作也从现实

2、生活走上了网络空间。本文对学校的需求进展分析,通过使用C语言设计并实现学生成绩的管理,力求尽量简洁实用地解决学校对学生成绩的管理和学生对成绩的查询问题。关键字:C语言 成绩管理系统 程序设计1 引言在信息时代,计算机以其极高的运算速度、巨大的数据存储容量,以及能准确地进展各种算术运算和逻辑运算的能力而成为现代化计算工具,并被广泛应用于社会各个领域。计算机技术的高速开展已被认为是人类进入信息时代的标志。成绩管理系统是计算机技术和信息时代的产物,是信息处理或数据处理的核心。该系统开发的总体任务是实现学生成绩管理的系统化、规化、自动化,以到达提高学生成绩管理效率的目的。通过运用程序设计软件实现学生成

3、绩管理中的多种功能,如学生成绩信息的添加、删除、查询、修改、显示、排序等。该系统的设计充分利用计算机作为辅助工具,来实现学生考试成绩从传统的手工管理到计算机管理,并对提高管理效率和节约大量的人力、物力有一定的推动作用。因此,开发这种管理软件很必要,本文将在分析系统的应用价值以及开发工具的根底上,用C语言来开发成绩管理系统。2 系统需求分析2.1工程背景分析在我国,各大中小学校的各类信息管理系统并非一个新的课题,但也有的学校根本就没有任何信息管理系统,特别是在西部贫困地区,学校的各类管理依然由手工操作来完成,这十分落后,效率极低,本钱很大,而且极异出错。随着社会的开展,信息化是社会进程的必然趋势

4、,学校管理只有快,准,精才能发挥其价值。2.2 系统开发的目标与意义1系统开发目标:本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。为了使系统在学院的管理中发挥充分发挥其作用,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下的系统开发目标:系统应具有实用性、可靠性和适用性。对系统中数据库的信息进展有效处理,防止数据错乱。能够按照用户选择的不同的条件进展简单查询。方便用户的操作,尽量减少用户的操作。2系统开发的意义:在各大中小学校,用计算机管理学校的信息已经越来越普遍了。用计算机不但可以提高工作效率,而且还节省了许多人力物力财力。提高了学校的管理

5、能力,为此,用计算机来管理学校的信息,是非常必要的。2.3 工程需求分析学校工作流程分析:学校工作总体规划由教务人员在学生成绩管理系统中输入学生的根本信息并对其进展维护管理,包括对信息的增加、修改及对信息的各项处理操作等。新的学年,教务人员首先编排班级,再对在校学生进展根本的信息录入,新生入学后由教务人员在管理系统中完成新学生信息的维护。在每个学期开场,教务处根据班级的情况,以班为单位,为每个班级安排一个班主任,并对各科教师进展安排。每举行一次考试后由任课教师对成绩进展录入。班主任对本班的成绩汇总。并进展排名,并对本年级各科成绩及总成绩进展排名。教务处、班主任及任课教师跟据实际情况对录入的成绩

6、进展维护管理,各位同学对以上录入的信息可以跟据自己的需要进展适当的查询。3 系统总体设计3.1 功能模块分析学生成绩管理系统是对学生根本信息及成绩的管理。开发工具主要采用TurboC2.0,主要用于对学生的*、*等自然信息以及各项学科成绩进展增加、删除、修改、查询及保存到文件等操作。系统给用户提供了一个简单的人机界面,使用户可以根据提示输入操作项,调用系统提供的管理功能。学生成绩管理系统处理流程如图1。0主菜单界面欢送界面1输入0退出2查询3修改4删除5插入6平均分7排序8显示继续输入10返回主菜单1*查询2*查询3总分查询结 束9初始化10保存返回图1 系统处理流程图主要功能设计描述如下:1

7、系统主控平台允许用户选择想要的操作,包括输入学生信息、显示学生信息、查询学生信息、修改学生信息、删除学生信息、计算成绩以及成绩的排序等。通过输入相应的序号选择相应的操作。2学生成绩信息用户根据提示输入学生的*、*、以及三门课的成绩,如语文成绩、英语成绩、数学成绩等。输入完成一条学生记录,可根据提示信息继续输入下一条学生记录或者继续其他的操作。允许输入多条学生的成绩信息记录。输入完的学生记录暂时保持在单链表中,等待下一步的操作。3查询学生信息可以根据*,*,总分从单链表中对学生所有的信息进展查询,如果没有查询到任何信息,系统会给出提示信息。4修改学生信息首先提示用户输入要进展修改的操作的*,如果

8、单链表中有该学生的信息存在,则提示用户输入要修改的学生的根本信息、各科成绩等,并将修改结果重新存储在单链表中。如果用户没有找到要修改的学生信息,系统将给出提示。5插入学生信息对已经建立好的信息假设还需增加,则对信息进展插入。首先提示用户输入要进展插入的*,然后在根据提示对用户信息进展完整输入。输入完成后系统将对其进展保存。6删除学生信息首先提示用户输入要删除学生的*,系统根据用户输入的信息在单链表中查找,如果找到,直接删除该学生全部信息,如果没有找到,系统给出提示信息。7计算各科成绩平均分该模块主要进展学生成绩的平均分计算,进入计算界面,系统自动对各科进展平均分计算。8显示学生信息在选择了显示

9、学生信息后,将刚输入的学生信息从单链表中调出来显示,如果没有数据,则提示无学生记录。9学生成绩排序成绩信息输入完整后,根据学生的总分对学生从小到大进展排序,在显示学生信息的时候可以看到学生在班级或校的排列名次。10操作完成后对操作结果进展保存。运行完毕,退出系统。3.2 系统功能模块初始化准备3.2.1 编译预处理“编译预处理是C编译系统的一个组成局部。在C编译系统对程序进展通常的编译包括词法和语法分析、代码生成、优化等之前,先对程序中这些特殊命令进展“预处理,然后将预处理的结果和源程序一起再进展通常的编译处理,以得到目标代码。C语言提供的预处理功能主要有:1宏定义;2文件包含;3条件编译。而

10、本程序使用文件包含的预处理方式进展编译预处理:*include/*标准库函数*/*include/*标准输入、输出函数库*/*include/*屏幕操作函数*/*include/*字符串函数*/3.2.2 数据构造定义学生成绩管理系统中的变量有*,*,成绩等,这些数据类型各不一样,无法用简单数据类型来描述,显然要定义构造体类型。由于学生人数很多,还需要定义数组或者链表。数组的特点是数据在存中顺序存放,长度必须事先指定,而学生的人数很难估计。如果数组长度定的过大,会找出存储空间浪费,如果过小,又无法满足需求。特别是进展插入,删除等操作时,代价较大而又容易出错。用链表来管理学生成绩就显得比拟妥当,

11、它无需估计学生人数,进展插入删除等操作时代价较小。C语言中,说明和使用“构造体之前必须先定义,在编写程序之前应该对学生根本信息进展定义,在这个程序中,使用struct来定义构造体的类型为struct list,然后用它来定义变量,在定义构造体类型的时候定义一个ne*t成员,该成员可以把学生结点进展。并且通过类型定义typedef将已有的各种类型名定义成为新的类型标识符link,经类型定义后,link即可当做原类型名使用。具体定义如下:struct listint ID; /*/charname256; /*/int china; /*语文成绩*/int english; /*英语成绩*/int

12、 math; /*数学成绩*/float sum; /*总分*/int order; /*排序*/struct list *ne*t; /*指向下一个学生的指针*/;typedef struct list node; /*自定义一个数据构造的结点*/typedef node *link; /*定义结点为link构造*/3.3 具体模块处理函数的实现3.3.1 菜单函数界面的设计系统与用户交换的界面是通过菜单实现的,菜单按预定义格式显示主菜单界面,等待用户输入0-8中的任一数据,系统会根据用户的输入调用相应的功能模块,实现用户所要求的操作。1本程序的菜单界面主要使用屏幕操作函数编写,欢送界面设置

13、为白底红字,菜单界面设置为绿底蓝字,在欢送界面中单击任意键进入菜单操作界面。整个系统都以光标定位函数goto*y*,y固定光标的位置,在对其进展输出,从而可以使显示的文字都出现在设定的窗口,窗口的界面设置使用画图工具制作周围的边框,边框的设置具体如下:goto*y(8,2);putch(0*c9); /*输入左上角边框*/for(i=1;i46;i+)putch(0*cd); /*输出上边框水平线*/putch(0*bb); /*输出右上角边框*/for(i=3;i23;i+) goto*y(8,i); putch(0*ba); /*输出左垂直线*/goto*y(56,i); putch(0*

14、ba); /*输出右垂直线*/goto*y(8,23); putch(0*c8); /*输出左下角边框*/for(i=1;i46;i+) putch(0*cd); /*输出下边框水平线*/putch(0*bc); /*输出右下角边框*/window(9,3,55,22);/*制作显示菜单的窗口*/2菜单是由menu函数实现,主要通过printf函数显示一些文本选项如:printf(e*it the program.n);构建一个简单的字符界面,系统设置11个模块,用户通过输入关键字key从0-10之间选择相应的操作,函数通过switch调用各功能模块:switch(key)case0:e*it

15、(0);case1:head=init();break;case2:head=creat_list()break;case3:search_chengji(head);break;case4:head=modify_chengji(head,key);break;case5:head=delete_chengji(head,key);break;case6:head=insert_chengji(head,key);break;case7:average(head);break;case8:sort(head);break;case9:printf_list(head);break;case10:save(head);break;3.3.2 功能函数设计1初始化链表学生成绩管理系统使用前要先将系统进展初始化操作,初始化函数init()就是将函数置空。2创立学生信息函数创立学

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号