班级成绩管理系统

合集下载

学生成绩管理系统数据流程图及数据字典

学生成绩管理系统数据流程图及数据字典

学生成绩管理系统数据流程图及数据字典引言概述:学生成绩管理系统是一种用于管理学生各科成绩的软件系统。

通过数据流程图和数据字典,可以清晰地了解学生成绩管理系统的工作流程和数据定义。

本文将详细介绍学生成绩管理系统的数据流程图和数据字典,以便更好地理解该系统的功能和数据结构。

一、数据流程图1.1 学生信息录入流程1.2 成绩录入流程1.3 成绩查询流程1.1 学生信息录入流程学生信息录入是学生成绩管理系统的第一步,其流程如下:1.1.1 教师登录系统1.1.2 选择学生信息录入功能1.1.3 输入学生基本信息,如学号、姓名、性别、班级等1.1.4 系统保存学生信息1.2 成绩录入流程成绩录入是学生成绩管理系统的核心功能,其流程如下:1.2.1 教师登录系统1.2.2 选择成绩录入功能1.2.3 选择要录入成绩的科目和班级1.2.4 输入学生学号和对应科目的成绩1.2.5 系统保存成绩信息1.3 成绩查询流程成绩查询是学生成绩管理系统的常用功能,其流程如下:1.3.1 教师登录系统1.3.2 选择成绩查询功能1.3.3 输入要查询的学生学号或姓名1.3.4 系统显示该学生的各科成绩信息二、数据字典2.1 学生信息数据字典2.1.1 学号:学生的唯一标识符,通常由系统自动生成2.1.2 姓名:学生的姓名,由教师或管理员输入2.1.3 性别:学生的性别,可选项为男或女2.1.4 班级:学生所在的班级,由教师或管理员输入2.2 成绩信息数据字典2.2.1 学号:学生的唯一标识符,用于关联学生信息2.2.2 科目:学生所修科目的名称,如数学、语文、英语等2.2.3 成绩:学生在对应科目的成绩,由教师输入2.2.4 班级:学生所在的班级,用于关联班级信息2.3 教师信息数据字典2.3.1 教师编号:教师的唯一标识符,通常由系统自动生成2.3.2 姓名:教师的姓名,由管理员输入2.3.3 职称:教师的职称,如讲师、副教授、教授等2.3.4 所在学院:教师所在的学院,由管理员输入三、系统功能说明3.1 学生信息管理功能3.1.1 学生信息录入:教师或管理员可以录入学生的基本信息3.1.2 学生信息查询:教师或管理员可以查询学生的基本信息3.2 成绩管理功能3.2.1 成绩录入:教师可以录入学生的各科成绩3.2.2 成绩查询:教师或学生可以查询学生的各科成绩3.3 教师信息管理功能3.3.1 教师信息录入:管理员可以录入教师的基本信息3.3.2 教师信息查询:管理员可以查询教师的基本信息四、系统数据流说明4.1 输入流4.1.1 学生基本信息:由教师或管理员输入4.1.2 成绩信息:由教师输入4.2 输出流4.2.1 学生基本信息:显示学生的基本信息4.2.2 成绩信息:显示学生的各科成绩信息五、数据存储说明5.1 学生信息存储:包含学生的学号、姓名、性别、班级等信息5.2 成绩信息存储:包含学生的学号、科目、成绩、班级等信息5.3 教师信息存储:包含教师的教师编号、姓名、职称、所在学院等信息通过以上的数据流程图和数据字典,我们可以清晰地了解学生成绩管理系统的工作流程和数据结构。

C语言课程设计---班级成绩管理系统

C语言课程设计---班级成绩管理系统

课程设计报告课程名称C语言程序设计课题名称班级成绩管理系统专业班级学号姓名指导教师年月日湖南工程学院课程设计任务书课程名称C语言程序设计课题班级成绩管理系统专业班级学生姓名学号指导老师审批任务书下达日期年月日任务完成日期年月日目录一、引言 (1)二、总体设计 (2)三、详细设计 (4)四、问题分析及总结 (13)五、参考文献 (15)六、附件 (15)一、设计内容与设计要求1. 设计内容:班级成绩管理系统设计涉及的知识点:①掌握并熟练运用C语言的基本数据类型与各种表达式,程序的流程控制语句;②掌握数组的基本概念。

熟练掌握一维数组、二维数组的应用、掌握字符数组与字符串的关系以及字符串的简单处理。

③掌握函数的定义,函数的返回值,函数的调用,函数的形式参数和实际参数之间的关系;掌握变量的作用域与生存期,了解函数的作用域。

④掌握结构体的概念,结构体类型的定义,结构体变量的定义和初始化,结构体成员的表示,结构体变量的赋值含义,结构体与指针、函数的关系。

⑤掌握文件、文件类型指针的基本概念,熟练掌握文件的打开与关闭以及文件的建立、读写等有关操作。

2.设计要求:1)用C语言实现系统;利用结构体数组实现班级成绩的数据结构设计;系统的各个功能模块要求用函数的形式实现;应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观;各项显示数据均要求以表格的形式输出;在各功能子模块中应设计相应的二级菜单。

2) 建立一个班级学生成绩数据库,文件名为bjcjk.txt,并从该文件中读取数据;3) 班级成绩管理系统应能提供以下功能:(1)主菜单界面设计。

通过提示用户输入一个数字选项,调用相应的功能函数。

(2)学生成绩显示:完成班级全部学生成绩的显示,显示时按表格的形式,且应有表头;(3)学生成绩追加:完成新增一个(或多个)学生的成绩记录,要求在追加过程中有相应的提示信息,完成追加后能重新计算学生平均成绩并显示;(4)学生成绩修改:要求能按学号和按姓名两种定位方式,且可以按用户要求修改记录中除学号和姓名以外的指定内容,并重新计算学生的平均成绩;(5)学生成绩信息的查询;要示系统能按学号、按姓名查询以及能查总分在某一指定范围内的学生信息,且能显示符合条件的所的记录,若所需查询的信息不存在时应有相应的提示信息。

班级成绩管理系统

班级成绩管理系统

#include <stdio.h>#include<string.h>#include<stdlib.h>/*定义学生结构体*/struct Student{char ID[20];char Name[20];float yuwen;float shuxue;float yingyu;float Average;};/*声明学生数组及学生数量*/struct Student students[1000];int num=0;/*求平均值*/float Avg(struct Student stu){return (stu.yuwen+stu.shuxue+stu.yingyu)/3; }/*通过学号返回数组下标*/int Student_SearchByIndex(char id[]){int i;for (i=0;i<num;i++){if (strcmp(students[i].ID,id)==0){return i;}}return-1;}/*显示单条学生记录*/void Student_DisplaySingle(int index){printf("%10s%10s%8s%8s%8s%10s\n","学号","姓名","成绩","成绩","成绩","平均成绩");printf("-------------------------------------------------------------\n");printf("%10s%10s%8.2f%8.2f%8.2f%10.2f\n",students[index].ID,students[ index].Name,students[index].yuwen,students[index].shuxue,students[index].yingyu,s tudents[index].Average);}/*学生成绩录入*/void Student_add(){while(1){printf("请输入学号:");scanf("%s",&students[num].ID);printf("请输入姓名:");scanf("%s",&students[num].Name);printf("请输入语文成绩:");scanf("%f",&students[num].yuwen);printf("请输入数学成绩:");scanf("%f",&students[num].shuxue);printf("请输入英语成绩:");scanf("%f",&students[num].yingyu);students[num].Average=Avg(students[num]);num++;getchar();printf("是否继续?(y/n)");if (getchar()=='n'){break;}}}/*显示学生信息*/void Student_Display(){int i;printf("%10s%10s%8s%8s%8s%10s\n","学号","姓名","成绩","成绩","成绩","平均成绩");printf("-------------------------------------------------------------\n");for (i=0;i<num;i++){printf("%10s%10s%8.2f%8.2f%8.2f%10.2f\n",students[i].ID,students[i].N ame,students[i].yuwen,students[i].shuxue,students[i].yingyu,students[i].A verage);}}/*按平均值排序*/void Student_SortByAverage(){int i,j;struct Student tmp;for (i=0;i<num;i++){for (j=1;j<num-i;j++){if (students[j-1].Average<students[j].Average){tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}}/*修改学生信息*/void Student_Modify(){int i;char str1[15],str2[15];printf("\t\t\t 管理员登陆\n");for (i=0;i<100000000;i++){printf("\t\t\t请输入用户名:");gets(str1);printf("\t\t\t请输入密码:");gets(str2);if ((strcmp(str1,"123")==0&&strcmp(str2,"123")==0)) {printf("\t\t\t正确!\n");break;}elseprintf("\t\t\t用户名密码错误,请重试!\n");continue;}while(1){char id[20];int index;printf("请输入要修改的学生的学号:");scanf("%s",&id);getchar();index=Student_SearchByIndex(id);if (index==-1){printf("学生不存在!\n");}else{printf("你要修改的学生信息为:\n");Student_DisplaySingle(index);printf("-- 请输入新值--\n");printf("请输入学号:");scanf("%s",&students[index].ID);getchar();printf("请输入姓名:");scanf("%s",&students[index].Name);getchar();printf("请输入语文成绩:");scanf("%f",&students[index].yuwen);getchar();printf("请输入数学成绩:");scanf("%f",&students[index].shuxue);getchar();printf("请输入英语成绩:");scanf("%f",&students[index].yingyu);getchar();students[index].Average=Avg(students[index]); }printf("是否继续?(y/n)");if (getchar()=='n'){break;}}}/*成绩统计*/void student_statistics(){int i;struct Student tmp;for (i=1;i<num;i++){if (students[i-1].yuwen>students[i].yuwen){tmp=students[i-1];students[i-1]=students[i];students[i]=tmp;}}printf("语文成绩最高的是:\n");printf("%10s%10s%10s%10s%10s%10s\n","学号","姓名","语文成绩","数学成绩","英语成绩","平均成绩");printf("-------------------------------------------------------------\n");printf("%10s%10s%10.2f%10.2f%10.2f%10.2f\n",students[num-1].ID,studen ts[num-1].Name,students[num-1].yuwen,students[num-1].shuxue,students[num-1].yingyu,s tudents[num-1].Average);printf("-------------------------------------------------------------\n");for (i=1;i<num;i++){if (students[i-1].shuxue>students[i].shuxue){tmp=students[i-1];students[i-1]=students[i];students[i]=tmp;}}printf("数学成绩最高的是:\n");printf("%10s%10s%10s%10s%10s%10s\n","学号","姓名","语文成绩","数学成绩","英语成绩","平均成绩");printf("-------------------------------------------------------------\n");printf("%10s%10s%10.2f%10.2f%10.2f%10.2f\n",students[num-1].ID,studen ts[num-1].Name,students[num-1].yuwen,students[num-1].shuxue,students[num-1].yingyu,s tudents[num-1].Average);printf("-------------------------------------------------------------\n");for (i=1;i<num;i++){if (students[i-1].yingyu>students[i].yingyu){tmp=students[i-1];students[i-1]=students[i];students[i]=tmp;}}printf("英语成绩最高的是:\n");printf("%10s%10s%10s%10s%10s%10s\n","学号","姓名","语文成绩","数学成绩","英语成绩","平均成绩");printf("-------------------------------------------------------------\n");printf("%10s%10s%10.2f%10.2f%10.2f%10.2f\n",students[num-1].ID,studen ts[num-1].Name,students[num-1].yuwen,students[num-1].shuxue,students[num-1].yingyu,s tudents[num-1].Average);printf("-------------------------------------------------------------\n");}/*主程序*/main(){int choice;while(1){/*主菜单*/printf("\n\t\t\t------ 班级成绩管理系统------\t\t\t\n"); printf("\t\t\t1. 学生成绩录入\t\t\t\n");printf("\t\t\t2. 学生成绩显示\t\t\t\n");printf("\t\t\t3. 按学生平均成绩排序\t\t\t\n");printf("\t\t\t4. 学生成绩修改\t\t\t\n");printf("\t\t\t5. 学生成绩统计\t\t\t\n");printf("\t\t\t6.退出系统\t\t\t\n");printf("\t\t\t请选择(1-6):");scanf("%d",&choice);getchar();switch(choice){case 1:Student_add();break;case 2:Student_Display();break;case 3:Student_SortByAverage();Student_Display();break;case 4:Student_Modify(); break;case 5:student_statistics();break;case 6:exit(0);break;}}}。

班级成绩管理系统

班级成绩管理系统

班级成绩管理系统班级成绩管理系统文档⒈引言⑴目的在教育领域,班级成绩管理是一个重要的任务。

它可以帮助教师和学校管理学生的成绩情况,提供数据分析和报告,监控学绩并进行干预措施。

本文档旨在向开发人员、教师和学校管理者提供一个详细的班级成绩管理系统文档。

⑵范围本文档涵盖了班级成绩管理系统的各个方面,包括系统的功能、用户角色、数据结构、界面设计和安全策略等。

⑶参考文献[参考文献1] 班级成绩管理系统需求文档[参考文献2] 班级成绩管理系统设计文档⒉系统概述⑴目标班级成绩管理系统的目标是提供一个方便、高效和安全的方式来管理班级的学绩信息。

⑵系统功能班级成绩管理系统将包括以下功能:●学生管理:包括学生信息录入、查询和统计功能。

●成绩录入:教师可以录入学绩,并计算出总分和平均分。

●成绩查询:教师和学生可以根据不同的条件查询学绩。

●数据报告:系统将各种学绩的报告,供教师和学校管理者参考。

●安全管理:系统将保证学绩信息的安全性,只有授权人员可以访问和修改数据。

⒊用户角色⑴教师教师是系统的主要用户,他们可以使用系统进行学生管理、成绩录入、成绩查询和报告等操作。

⑵学生学生可以使用系统查询和查看自己的成绩。

⑶管理员管理员拥有最高权限,可以管理用户角色、系统设置和安全策略等。

⒋数据结构⑴学生信息表学生信息表包含了学生的基本信息,如学生ID、姓名、性别、年级等。

⑵成绩表成绩表包含了学生的各个科目的成绩信息,包括科目、成绩、考试时间等。

⒌界面设计⑴登录界面登录界面提供用户名和密码输入框,用于用户验证身份。

⑵学生管理界面学生管理界面提供学生信息录入、查询和统计功能。

⑶成绩录入界面成绩录入界面提供成绩录入表格,教师可以根据学生和科目输入成绩。

⑷成绩查询界面成绩查询界面提供根据学生、科目和时间等条件进行查询的功能。

⒍安全策略⑴用户身份验证用户在登录时需要提供正确的用户名和密码进行身份验证。

⑵数据加密系统将使用加密算法对用户的密码和敏感数据进行加密保存,提高数据的安全性。

学生成绩管理系统

学生成绩管理系统

学生成绩管理系统简介学生成绩管理系统是一种用于管理学生的学业成绩和相关信息的软件系统。

它可以帮助学校、教师和学生有效地管理和查询学生的成绩,提供全面的成绩分析和统计功能,促进教学质量的提高。

功能学生成绩管理系统通常具有以下核心功能:1.学生信息管理:包括学生的基本信息、课程注册、班级信息等。

2.成绩录入:教师可以登录系统,录入学生成绩,并进行相应的成绩审核和修改。

3.成绩查询:学生、教师和学校管理者均可通过系统查询学生成绩,可以按照学生、班级、课程等维度进行灵活查询。

4.成绩统计与分析:系统可以对成绩数据进行统计和分析,生成各类成绩报告和分析图表,为教师和学校提供决策依据。

5.成绩排名:系统可以根据学生成绩进行排名,可以按照总分、班级、课程等维度进行排名。

6.数据导入导出:系统可以支持将学生成绩数据导入导出到Excel、CSV等格式,方便学校的数据管理。

优势学生成绩管理系统的应用带来诸多优势:1.提高工作效率:通过系统自动化处理和统计成绩数据,节省了大量的人力和时间成本。

2.提供准确的数据:系统可以准确地计算和记录学生成绩,避免了人工计算和录入带来的错误。

3.提供个性化服务:学生成绩管理系统可以根据学生的不同需求提供个性化的信息查询和分析功能,满足学生个性化的学习需求。

4.提供全面的分析和决策支持:系统可以生成各类成绩报告和分析图表,帮助教师和学校进行成绩分析和决策。

5.提高教学质量:通过系统对学生成绩进行全方位的管理和分析,有助于教师了解学生的学习状况,及时调整教学方法,提高教学质量。

使用场景学生成绩管理系统适用于各类学校、教育机构以及在线教育平台的学生成绩管理需求。

以下是几个典型的使用场景:1.学校管理者可以通过系统了解学校整体的学生成绩情况,进行综合分析和决策。

2.教师可以通过系统录入学生成绩、排名、查询历史成绩等,方便管理学生成绩和进行个性化教学。

3.学生可以通过系统查询自己的成绩、查看排名等,及时了解自己的学习状况。

成绩管理系统流程图

成绩管理系统流程图

成绩管理系统流程图成绩管理系统是学校教务管理中非常重要的一部分,它涉及到学生成绩的录入、查询、统计等多个环节。

下面我们将通过流程图的方式来展示成绩管理系统的运行流程。

首先,整个系统的核心是成绩录入。

教师在系统中输入学生成绩时,首先需要登录系统,验证身份。

然后,进入成绩录入界面,选择对应的班级和科目,输入学生的成绩,确认无误后保存。

接着,系统会自动进行成绩的存储和更新。

其次,学生和家长可以通过系统进行成绩查询。

他们需要登录系统,选择对应的班级和科目,然后系统会显示相应学生的成绩信息。

如果有需要,还可以打印成绩单或者导出成绩报告。

另外,系统还可以进行成绩统计和分析。

教师可以根据需要,选择不同的统计方式,比如按班级、按科目、按学期等,系统会自动生成相应的统计图表和报告。

这些统计数据可以帮助学校和教师更好地了解学生的学习情况,及时进行教学调整和干预。

此外,成绩管理系统还具有权限管理功能。

不同的用户拥有不同的权限,比如教师可以录入成绩、家长和学生可以查询成绩,管理员可以对系统进行维护和管理。

系统会根据用户的权限进行相应的操作限制,确保信息安全和管理的有效性。

最后,系统还会定期进行数据备份和维护。

这样可以保证学生成绩数据的安全性和完整性,一旦系统出现故障或者数据丢失,可以及时进行恢复。

通过以上流程图的展示,我们可以清晰地了解成绩管理系统的运行流程,从成绩录入到查询统计再到权限管理和数据备份,每个环节都有着清晰的逻辑和操作步骤。

这样的系统设计可以有效地提高学校的教务管理效率,保障学生成绩数据的准确性和安全性,为学校的教学工作提供有力的支持。

学生成绩管理系统数据流程图及数据字典

学生成绩管理系统数据流程图及数据字典

学生成绩管理系统数据流程图及数据字典随着教育信息化的发展,学生成绩管理系统在学校中得到了广泛应用。

学生成绩管理系统是一种利用计算机技术对学生成绩进行管理和分析的系统。

本文将介绍学生成绩管理系统的数据流程图及数据字典,以帮助读者更好地理解该系统的数据处理流程和数据结构。

一、数据流程图1.1 学生成绩录入流程- 学生成绩管理员登录系统- 选择录入成绩功能- 输入学生学号和成绩信息- 确认提交1.2 学生成绩查询流程- 学生/教师登录系统- 选择查询成绩功能- 输入学生学号或姓名- 系统显示学生成绩信息1.3 学生成绩统计流程- 教师登录系统- 选择统计功能- 选择统计范围(班级/科目等)- 系统生成成绩统计报表二、数据字典2.1 学生信息表(Student)- 字段:学号(ID)、姓名(Name)、性别(Gender)、班级(Class)- 主键:学号(ID)2.2 成绩信息表(Score)- 字段:学号(ID)、科目(Subject)、成绩(Grade)- 主键:学号(ID)、科目(Subject)- 外键:学号(ID)参考学生信息表2.3 教师信息表(Teacher)- 字段:工号(ID)、姓名(Name)、科目(Subject)- 主键:工号(ID)三、数据处理流程3.1 学生成绩录入流程- 学生成绩管理员登录系统后,通过录入成绩功能将学生成绩信息存储到成绩信息表中。

- 系统会进行数据验证,确保输入的学号和科目存在且成绩符合规定范围。

- 成绩信息成功录入后,系统会生成相应的操作日志记录。

3.2 学生成绩查询流程- 学生/教师登录系统后,通过查询成绩功能可以根据学号或姓名查看学生成绩信息。

- 系统会根据输入的条件在成绩信息表中进行查询,并将查询结果显示给用户。

- 查询结果包括学号、姓名、科目、成绩等信息,方便用户了解学生成绩情况。

3.3 学生成绩统计流程- 教师登录系统后,通过统计功能可以选择不同的统计范围进行成绩统计。

学生成绩管理系统

学生成绩管理系统
3 可以开发移动端应用:方便用户随时随 地进行学生成绩的管理和查询
4 可以引入更多的教学和管理功能:如在 线学习、教学评估等,更好地服务于教 育教学
-
THANK YOU
ENGLISH
可爱/简约/卡通
学生成绩管理系统
-
1
系统功能2系统流程来自3系统要求4
系统实现
5
系统未来发展
学生成绩管理系统
1
学生成绩管理系统是一个用于管理学生成绩的 计算机程序,通常用于学校或教育机构
2
这个系统可以记录每个学生的个人信息和成绩,
包括学生姓名、学号、班级、各科成绩等
3
以下是一个简单的学生成绩管理系统的示例
系统功能
系统流程
系统流程
2.1 学生信息流程
打开系统:进入学生信息管理界面
系统流程
选择添加学生信息:输入学生姓名、学 号、班级等信息
选择编辑学生信息:输入要修改的学生 学号,修改相关信息
选择删除学生信息:输入要删除的学生 学号,删除该学生信息
退出系统
系统流程
2.2 成绩管理流程
打开系统:进入成绩管理界面 选择添加成绩:输入学生学号及各科成 绩 选择编辑成绩:输入要修改的学生学号 及要修改的科目和成绩 选择删除成绩:输入要删除的学生学号 及科目,删除该科目成绩 退出系统

系统实现
系统实现
系统实现
为了实现学生成绩管理系统的各项功能,以下步骤需要被完成 确定系统的需求和功能:制定详细的需求说明书 设计系统的数据库结构和数据模型:包括学生信息、成绩信息等 开发系统的各项功能模块:包括学生信息管理、成绩管理、查询和统计等 进行系统的测试和调试:确保系统的稳定性和正确性 进行系统的用户培训和文档编写:确保用户能够正确使用系统

成绩管理系统

成绩管理系统

J A V A程序设计学院:班级:学号:姓名:目录1 项目研究开发的背景及意义.................................1.1 本课题设计学术价值、理论意义和实践意义.............1.2 本课题设计拟研究的主要问题.............................1.3重点和难点 .........................................1.4 研究方法、预期效益.................................1.5 本项目创新点和特色.................................2 需求分析.................................................2.1 开发背景...........................................2.2 项目目标...........................................2.3 运行环境...........................................3 技术路线及关键技术.......................................3.1系统总体功能图 .....................................3.2学生成绩管理系统的功能模块简介:...................3.3 系统运用的主要技术:...............................3.4数据库设计 .............................................3.5连接数据库 .............................................4 测试报告及系统评价......................................4.1 系统简介:.........................................4.2 系统特色及缺点:...................................5 个人感受及收获........................................... 6大作业总结 ...............................................1 项目研究开发的背景及意义1.1 本课题设计学术价值、理论意义和实践意义现在的社会知识经济在世界经济发展的地位越来越高,国家综合国力和国际竞争能力越来越取决于教育发展,科学技术和知识创新的水平,教育在经济和社会发展过程中将呈现出越来越突出的重要作用。

学生成绩管理系统设计方案

学生成绩管理系统设计方案

学生成绩管理系统设计方案1. 简介学生成绩管理系统是一种用于学校或教育机构管理学生考试成绩的软件系统。

本文将着重介绍学生成绩管理系统的设计方案,包括系统架构、功能模块、数据管理、用户权限以及报表生成等方面。

2. 系统架构学生成绩管理系统采用分层架构设计,包括表现层、应用层和数据层。

表现层负责用户交互和界面展示,应用层处理业务逻辑,数据层负责数据的存储和管理。

通过这样的架构,可以实现系统的松耦合,方便后续的功能扩展和维护。

3. 功能模块(1)学生信息管理:包括学生的基本信息、班级信息、父母联系方式等。

(2)科目管理:用于设置学生所修科目的信息,包括科目名称、教师信息等。

(3)成绩录入:教师可以录入学生的考试成绩,并支持批量导入功能。

(4)成绩查询:学生、家长和教师都可以通过系统查询学生的考试成绩。

(5)成绩统计:系统可以对学生成绩进行统计,并生成相应的报表。

(6)班级管理:用于管理学生所在的班级信息,包括班级名称、班主任信息等。

4. 数据管理为了保证系统数据的完整性和安全性,需要设计合理的数据管理方案。

可以通过数据库进行数据存储,并利用数据库的事务处理机制来保证数据的一致性。

此外,还可以设置数据备份和恢复机制,以防止数据丢失。

5. 用户权限为了保护学生成绩的安全性,系统需要设置不同的用户权限。

管理员可以对系统进行配置和管理,教师可以录入和查询学生成绩,学生和家长仅能查询学生成绩。

通过权限管理,可以确保只有授权人员能够访问敏感数据。

6. 报表生成学生成绩管理系统应该具备生成各类报表的功能,如班级成绩排名报表、学生个人成绩单等。

通过报表生成功能,可以方便地提供统计分析的数据支持,并为教师、学生和家长提供参考依据。

7. 总结学生成绩管理系统是一种提高学校管理效率,方便教学和家校沟通的重要工具。

本文介绍了学生成绩管理系统的设计方案,包括系统架构、功能模块、数据管理、用户权限以及报表生成等方面。

通过合理的设计和开发,可以实现学生成绩的高效管理和信息化服务。

学生成绩管理系统数据流程图及数据字典

学生成绩管理系统数据流程图及数据字典

学生成绩管理系统数据流程图及数据字典一、数据流程图学生成绩管理系统是一套用于管理学生课程成绩的系统。

下面是该系统的数据流程图:1. 学生信息录入流程:学生信息录入流程开始于学生填写个人信息的表单。

学生在表单中输入姓名、性别、年龄、班级等信息。

填写完成后,表单中的数据被发送至学生信息录入模块。

学生信息录入模块接收到学生信息后,将信息存储至学生信息数据库中。

2. 课程信息录入流程:课程信息录入流程开始于教师填写课程信息的表单。

教师在表单中输入课程名称、课程编号、学分等信息。

填写完成后,表单中的数据被发送至课程信息录入模块。

课程信息录入模块接收到课程信息后,将信息存储至课程信息数据库中。

3. 成绩录入流程:成绩录入流程开始于教师填写学生课程成绩的表单。

教师在表单中输入学生姓名、课程名称、成绩等信息。

填写完成后,表单中的数据被发送至成绩录入模块。

成绩录入模块接收到成绩信息后,通过学生信息数据库和课程信息数据库进行验证。

验证通过后,将成绩信息存储至成绩信息数据库中。

4. 成绩查询流程:成绩查询流程开始于学生或教师发起查询请求。

查询请求包含学生或教师的身份信息和查询条件。

查询请求被发送至成绩查询模块。

成绩查询模块接收到查询请求后,通过学生信息数据库、课程信息数据库和成绩信息数据库进行查询。

查询结果被返回给发起查询请求的学生或教师。

二、数据字典以下是学生成绩管理系统的数据字典,包含了系统中使用的各种数据及其属性:1. 学生信息表(Student):- 学生ID(StudentID):学生的唯一标识符,数据类型为整数。

- 姓名(Name):学生的姓名,数据类型为字符串。

- 性别(Gender):学生的性别,数据类型为字符串。

- 年龄(Age):学生的年龄,数据类型为整数。

- 班级(Class):学生所在的班级,数据类型为字符串。

2. 课程信息表(Course):- 课程ID(CourseID):课程的唯一标识符,数据类型为整数。

学生成绩管理系统专业术语

学生成绩管理系统专业术语

学生成绩管理系统专业术语
学生成绩管理系统是一个用于管理学生成绩的工具,包括以下专业术语:
1、学生信息:包括学生姓名、学号、班级、课程信息等。

2、课程信息:包括课程名称、课程代码、任课教师、学分等信息。

3、成绩录入:将学生参加的考试成绩进行录入,系统会自动计算总分、平均分、及格率等成绩指标。

4、成绩查询:可以按照学生姓名、学号、班级、课程名称等条件查询学生的成绩信息。

5、成绩分析:系统可以根据录入的学生成绩信息,进行分析和统计,生成各种图表和报表,帮助教师和学生更好地了解学生的学习情况。

6、成绩排名:系统可以根据学生的成绩信息,进行排名,让学生和教师了解学生的成绩在班级或全校中的排名情况。

7、成绩预警:系统可以根据学生的成绩情况,自动生成预警信息,提醒学生及时自己的学习成绩,以及时采取措施提高学习水平。

8、成绩导出:可以将录入的成绩信息导出为Excel等格式,方便学生进行备份和处理。

9、系统设置:包括学生信息管理、课程信息管理、成绩录入方式、查询条件、分析指标、预警规则等设置。

10、权限管理:可以对不同用户的权限进行管理,确保系统的安全性和稳定性。

这些术语是学生成绩管理系统中的常见词汇,对于使用和维护该系统具有重要意义。

学生成绩管理系统

学生成绩管理系统

摘要学生成绩管理系统是为了实现学校对学生成绩管理的系统化、规范化和自动化,从而提高学校管理效率而设计的。

它完全取代了原来一直用人工管理的工作方式,避免了由于管理人员的工作疏忽以及管理质量问题所造成的各种错误,为及时、准确、高效的完成学生成绩管理提供了强有力的工具和管理手段。

学生成绩管理系统应该是一个中小型数据库管理系统,它界面美观、操作简单、安全性高,基本满足了学生成绩管理的要求。

本文中只是运用结构化方法学对这一系统的简单分析与建模,没有具体的实现过程,通过这阶段的学习与思考,能够对软件开发过程进行简单分析和判断。

关键字:成绩管理系统建模目录摘要 (1)目录 (1)1绪论 (1)1.1 设计任务 (1)1.1.1 需求说明 (1)1.1.2系统设计目标 (1)1.2 设计内容 (2)2 需求分析 (2)2.1 系统功能需求 (2)2.2 系统的性能需求 (2)2.3 系统数据要求 (3)2.4 系统业务流程分析 (3)2.4.1 班级管理业务流程图: (4)2.4.2学籍管理业务流程图: (4)2.4.3成绩管理业务流程图: (5)2.4.4课程管理业务流程图: (5)2.5数据模型的实体——联系图表示 (5)2.6 功能模型的数据流图表示 (7)2.7本章小结 (7)3 概要设计 (8)3.1 系统功能设计 (8)3.2系统模块具体划分 (9)4 详细设计 (11)5体会 (14)6参考文献 (15)1绪论1.1 设计任务1.1.1 需求说明学生成绩管理系统提供了强大的学生成绩管理管理功能,方便系统管理员对学生成绩等信息的添加、修改,打印等操作,同时一样的方面学生对自己各科成绩查询,学习的交流。

学生信息管理系统在管理学生中占有重要的地位,它关系着学生信息的基本信息,其中包括学生信息,班级信息、课程信息等。

对于学校来讲,学生信息管理系统是不可缺少的组成部分,它有效地管理学生档案,对学校学生的变动和统计起着重要的管理作用。

学生成绩管理系统数据流程图及数据字典

学生成绩管理系统数据流程图及数据字典

学生成绩管理系统数据流程图及数据字典一、数据流程图数据流程图是一种图形化的表示方式,用于描述系统中数据的流动和处理过程。

以下是学生成绩管理系统的数据流程图:1. 整体数据流程图学生成绩管理系统的整体数据流程图如下所示:[插入整体数据流程图]2. 学生信息管理流程图学生信息管理是学生成绩管理系统的核心功能之一。

以下是学生信息管理的数据流程图:[插入学生信息管理流程图]3. 成绩录入流程图成绩录入是学生成绩管理系统的重要功能之一。

以下是成绩录入的数据流程图:[插入成绩录入流程图]4. 成绩查询流程图成绩查询是学生成绩管理系统的常用功能之一。

以下是成绩查询的数据流程图:[插入成绩查询流程图]二、数据字典数据字典是对系统中所使用的数据项进行定义和说明的文档。

以下是学生成绩管理系统的数据字典:1. 学生信息表(Student Information)数据项:- 学生ID(Student ID):学生的唯一标识符,由系统自动生成。

- 姓名(Name):学生的姓名。

- 年级(Grade):学生所在的年级。

- 班级(Class):学生所在的班级。

- 性别(Gender):学生的性别。

- 出生日期(Date of Birth):学生的出生日期。

- 联系方式(Contact Information):学生的联系方式。

2. 课程信息表(Course Information)数据项:- 课程ID(Course ID):课程的唯一标识符,由系统自动生成。

- 课程名称(Course Name):课程的名称。

- 课程学分(Course Credit):课程的学分。

3. 成绩信息表(Grade Information)数据项:- 成绩ID(Grade ID):成绩的唯一标识符,由系统自动生成。

- 学生ID(Student ID):学生的唯一标识符。

- 课程ID(Course ID):课程的唯一标识符。

- 成绩(Grade):学生在该门课程中的成绩。

班级成绩管理系统

班级成绩管理系统

班级成绩管理系统
一、引言
班级成绩管理系统旨在帮助班级管理者更高效地管理学生的成绩信息,提供便捷的查询、分析和报告功能,以促进教学质量的提升。

本文档旨在详细介绍班级成绩管理系统的功能和使用方法,以便管理员和教师能够快速上手并充分利用系统的各项功能。

二、系统概述
⒈系统目标
⒉主要功能
⑴学生信息管理
⑵成绩录入和统计
⑶成绩查询和分析
⑷报告和导出
⑸班级排名
⑹数据备份和恢复
三、系统安装与配置
⒈硬件环境要求
⒉软件环境要求
⒊安装指南
⒋配置指南
四、用户手册
⒈登录和注销
⒉学生信息管理
⑴添加学生信息
⑵修改学生信息
⑶删除学生信息
⑷批量导入和导出学生信息⒊成绩录入和统计
⑴单科成绩录入
⑵批量成绩录入
⑶成绩统计与分析
⒋成绩查询和分析
⑴学生个人成绩查询
⑵班级成绩查询
⑶成绩趋势分析
⒌报告和导出
⑴学生个人成绩报告
⑵班级成绩报告
⑶导出报告为PDF文件⒍班级排名
⑴单科排名
⑵综合排名
⒎数据备份和恢复
⑴数据备份
⑵数据恢复
五、系统维护与更新
⒈系统维护
⑴数据库备份
⑵系统更新
⑶故障排除
⒉系统更新说明
六、附件
附件1:数据库备份文件
附件2:系统更新文件
七、法律名词及注释
⒈《著作权法》:指中华人民共和国现行的著作权法律法规,规定了著作权的获取、保护和维权等相关内容。

⒉《个人信息保护法》:指中华人民共和国正在进行立法的相关法律法规,旨在保护个人信息的安全和合法使用。

学生成绩管理系统系统使用说明书

学生成绩管理系统系统使用说明书

系统使用说明1.本系统只允许管理员进行相关的操作。

运行本程序后,首先进入登陆界面,学生选择学生登录,老师选择教师登录,教务选择教务登录,输入相应登录账号、密码。

2.账号和密码输入正确后,将进入菜单选项界面,你可以根据所需要的服务选择对应的操作。

3.教务可进行学生信息、课程信息、专业信息的增加、删除、修改、查询等功能,教师可进行学生成绩的增加和查询功能,学生只能进行成绩和信息的查询。

4.在选定所需要的操作后,系统会有相应的操作提示,可以根据提示进行自己所需要的服务。

出现错误,系统也会自动提醒,用户根据系统的提醒,即可完成操作。

5.在教务功能模块中选择增加-增开学生信息即可进入增加学生信息界面,按照提示输入学生的学号、姓名、性别、班级、专业,点击确定,即可成功添加学生信息。

在教务功能模块中选择增加-增开课程信息即可进入增加课程界面,按照提示输入课程号、课程名、学分、任课老师、职工编号,点击确定,即可成功添加课程。

在增加专业信息界面中输入班级、专业,点击确定,即可成功添加专业信息。

6.查询学生信息可按学号查询和姓名查询,在查询学生信息界面中按照提示在对应位置输入需查询的学号或姓名,点击确定,下面白色框中便会显示学生信息。

以类似方式查询课程信息和专业信息。

7.选择删除-删除课程信息即可进入删除课程信息界面,在对应位置输入课程号与课程名,点击确定,弹出询问是否继续删除小窗口,点击“是”即可删除课程信息,点击“否”可取消删除课程信息,以类似方式删除学生信息和成绩信息。

8.在修改专业信息界面对应位置输入需修改的专业和班级,点击确定,即可进行专业信息修改,以类似方式修改课程信息和学生信息。

9.学生登录成功后进入学生查询界面,点击成绩查询选项,进入学生成绩查询界面,在对应位置输入学号,点击确定,学生成绩便会显示在下面的表格中,点击右下方退出查询即可退出学生成绩查询界面。

学生成绩管理系统

学生成绩管理系统

学生成绩管理系统简介学生成绩管理系统是一个用于方便管理和统计学生成绩的工具。

该系统旨在为教师和学生提供一个集中管理和查询学习成绩的平台,同时也提供教师统计和分析学生成绩的功能。

通过学生成绩管理系统,教师可以更好地了解学生的学习情况,以便更好地指导学生;学生可以方便地查询和了解自己的学习成绩和班级排名。

功能学生成绩管理系统主要包括以下几个功能:1. 学生成绩录入教师可以通过学生成绩管理系统录入学生的成绩信息。

每个学生包含学号、姓名和各个科目的成绩信息。

教师可以根据需要添加、修改或删除学生的成绩。

2. 学生成绩查询学生可以通过学生成绩管理系统查询自己的成绩。

系统会根据学生的学号自动获取对应的成绩信息,并显示学生的各个科目的成绩以及总成绩。

3. 班级成绩统计教师可以通过学生成绩管理系统进行班级成绩统计。

系统可以根据教师选择的班级,自动计算出该班级所有学生的平均成绩、最高成绩、最低成绩和班级排名等统计信息。

4. 学生个人排名查询学生可以通过学生成绩管理系统查询自己在班级中的排名情况。

系统会根据学生的总成绩进行排序,并显示学生在班级中的排名以及与前后几名的差距。

5. 数据导出与导入学生成绩管理系统支持将数据导出为Excel或CSV文件,以便教师进行更深入的分析和统计。

同时,系统也支持将外部数据导入到系统中,方便教师快速录入学生的成绩信息。

技术实现学生成绩管理系统主要使用以下技术实现:•前端页面使用HTML、CSS和JavaScript等技术进行开发,以提供用户友好的界面和交互功能。

•后端使用Python语言进行开发,通过使用Flask等Web框架搭建后端服务器,并与前端页面进行交互和数据传递。

•数据库采用关系型数据库,如MySQL或SQLite,用于存储学生的成绩信息和其他相关数据。

使用方法学生成绩管理系统的使用方法如下:1.教师或管理员登录系统,输入用户名和密码进行身份验证。

2.进入系统后,教师可以选择录入学生成绩、查询学生成绩、进行班级成绩统计等操作。

成绩管理系统

成绩管理系统

成绩管理系统一、引言成绩管理系统是针对教育管理工作中衍生的需求而开发出来的一种信息化管理系统,它可以管理学生的个人资料、学习成绩、课堂表现等相关信息,为学校和教师提供科学、准确、便利的管理手段。

二、需求分析在管理教学过程中,教师经常需要管理学生的成绩和表现,但传统的管理模式只有手写成绩单或使用Excel表单进行管理,效率较低、易出错,无法及时提供详细的学生数据分析,对应用技术也有很大的限制,同时在数据更新、存储及查询方面也不便于实现。

因此,我们需要一个完善的成绩管理系统,该系统需要具备如下一些基本功能:1、系统管理模块:管理员可以进行用户管理、角色管理、权限管理等。

2、学生管理模块:学生的基本信息录入、更新、查询等管理功能,并且建立教育档案,包括学生基本信息、成绩信息、日常表现等。

3、课程管理模块:教师可以输入课程信息及成绩评定标准,系统可自动计算学生的平均成绩及考试成绩等综合成绩内容,老师可细分每个环节进行考核。

4、班级管理模块:教师可录入每个班级的基本信息、班级成员及班级平时表现等。

5、成绩查询模块:学生可以通过此功能查询自己的成绩,并可以查看排名和各科目的成绩趋势图表等,并且可以在系统中给自己的学习进行自我评价。

6、数据统计分析模块:系统可以对学生成绩情况进行数据分析和统计,提供对学生分数分析、对教学水平的测评、对教学效果和师资力量等的评估。

7、安全/权限控制模块:该模块包括用户登录、权限配置等,保障系统安全。

8、邮件通知模块:该模块用于邮件通知,能够通过邮件通知学生和家长相关学习信息和成绩情况,加强学生与教师家长的信息沟通。

三、技术选用1、前端技术:前端采用 HTML、CSS、JS等,采用Vue框架进行构建。

2、后端技术:后端采用 Java Spring Boot,采用MyBatis作为持久层框架,使用Spring security作为权限管理框架。

3、数据库技术:数据库采用MySQL数据库存储。

学生成绩管理系统数据流程图及数据字典

学生成绩管理系统数据流程图及数据字典

学生成绩管理系统数据流程图及数据字典标题:学生成绩管理系统数据流程图及数据字典引言概述:学生成绩管理系统是一种用于管理学生的成绩信息的系统。

通过数据流程图和数据字典的设计,可以清晰地描述系统的数据流动和数据元素的定义。

本文将详细介绍学生成绩管理系统的数据流程图以及数据字典,以匡助读者更好地理解该系统的数据管理流程。

一、数据流程图1.1 学生信息录入流程- 学生信息录入:管理员或者教师通过系统界面录入学生的基本信息,包括学号、姓名、性别、班级等。

- 数据验证:系统对录入的学生信息进行验证,确保数据的准确性和完整性。

- 学生信息存储:经过验证的学生信息被存储在学生信息数据库中。

1.2 成绩录入流程- 成绩录入:教师通过系统界面录入学生的成绩信息,包括科目、分数等。

- 数据验证:系统对录入的成绩信息进行验证,确保数据的准确性和合法性。

- 成绩信息存储:经过验证的成绩信息被存储在成绩信息数据库中。

1.3 成绩查询流程- 学生查询:学生通过系统界面查询自己的成绩信息。

- 数据检索:系统根据学生提供的学号进行数据检索,找到对应的成绩信息。

- 成绩信息展示:系统将查询到的成绩信息展示给学生。

二、数据字典2.1 学生信息数据字典- 学号:学生的惟一标识符,用于区分不同学生。

- 姓名:学生的姓名。

- 性别:学生的性别,可以是男或者女。

- 班级:学生所在的班级信息。

2.2 成绩信息数据字典- 学号:学生的惟一标识符,用于关联学生的成绩信息。

- 科目:学生所修科目的名称。

- 分数:学生在该科目中获得的成绩。

2.3 数据库数据字典- 学生信息数据库:用于存储学生的基本信息。

- 成绩信息数据库:用于存储学生的成绩信息。

三、数据流程图与数据字典的关系数据流程图是通过图形化的方式展示数据在系统中的流动过程,而数据字典则是对数据元素进行定义和描述的工具。

数据流程图和数据字典相互配合,可以匡助我们更好地理解和管理学生成绩管理系统中的数据流动和数据元素。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

武汉轻工大学数计学院C语言课程设计报告班级:计算机类1307班学号: **********姓名:**指导教师:***日期:2014年6月18日一、实验目的1.在编辑应用程序过程中,逐步加深对C语言编程的理解;2.加强实践的能力,动手能力,同时进一步对所学的知识进行巩固;3.培养初步编程的能力,为以后的学习奠定基础。

二、实验内容运用所学的C语言知识编辑应用程序:班级成绩管理系统以及运动的时钟三.系统软件环境:本程序主要运行在: Visual C++ 6.0Turbo C/C++ 3.0四.课程设计题目:1.必做题:班级成绩管理系统对一个有N个学生的班级,每个学生有M门课程。

该系统实现对班级成绩的录入、显示、修改、排序、保存、查询等操作的管理。

功能要求:(1)本系统采用一个结构体数组,每个数据的结构应当包括:学号、姓名、M门课程名称。

(2)本系统显示这样的菜单:请选择系统功能项:a、成绩录入b、成绩显示c、成绩保存d、成绩排序e、成绩修改(要求先输入密码)f、成绩统计1)显示每门课程成绩最高的学生的基本信息。

2)显示每门课程的平均成绩,柱状图显示。

3)显示超过某门课程平均成绩的学生人数。

4)显示某门课程每个分数段区间的人数,用饼状图显示。

g、退出系统(3)执行一个具体的功能之后,程序将重新显示菜单。

(4)将学生成绩保存到文件中。

五.数据结构设计描述:(一)班级成绩管理系统↓↓六.源程序(一)班级成绩管理系统#include <string.h>#include <stdio.h>#include <stdlib.h>#include<graphics.h>#include<conio.h>#define _COURSES 3//定义科目数#define _LEN sizeof(student)//定义结构体大小//枚举返回值情况enum status{OVERFLOW = -1, //内存(溢出)问题DONE = 0, //成功NOFOUND = 1, //不存在OPENFAIL = 2, //打开(文件)失败BACK = 3 //返回};//end//定义学生信息结构体typedefstructStudentInfo{//数据域unsigned intnum;//学号char name[11];//姓名float scores[_COURSES];//各科成绩//指针域structStudentInfo *next;//存放下一节点的地址}student;//endstudent *head=NULL;//声明链表头结点student *curr=NULL;//声明指向当前节点的指针int total = 0;//声明当前节点个数intinit();//初始化链表intadd_stu();//添加新节点intshow_all();//显示所有学生信息intfind_stu();//查找指定信息节点intmodify_stu();//修改指定信息节点intremove_stu();//删除指定信息节点intsort_list();//对链表排序intsave_to_file();//将所有信息保存至文件intread_from_file();//从文件中读取信息int picture();//画分布图int quit();//释放所有节点空间int entering(student *input);//录入学生信息void menu();void show_stu(student *show, int serial);//显示指定学生信息void start();//程序开始界面void change(student *former, student *latter, student *temp);//交换两个节点的数据域void main(){int h,flag1,flag2;char name[20]="hyw",password[10]="hyw";char person[20],password1[10];printf ("\t\t ******** 欢迎进入学生成绩管理系统!********\n\n");printf ("\t\t\t 用户登录\n\n");for(h=0;h!=5;){printf("\t\t\t\t 用户名:");gets(person);flag1=strcmp(person,name);printf("\t\t\t\t 密码:");gets(password1);flag2=strcmp(password,password1);if(flag1==0 && flag2==0){printf("\t\t\t\t 登陆成功!\n\n");menu();break;}else{printf ("\t\t\t 用户名或密码错误!\n\n");printf ("\t\t\t 请注意:您还剩%d次机会!\n\n",4-h);}}if (h=5)printf ("对不起,您输入的用户名或密码有误,已被强制退出。

\n"); }void menu(){int choice=0;init();while(1){system("cls");//清屏start();printf("请选择:");scanf("%d",&choice);fflush(stdin);//清空缓冲区switch (choice){case 1: add_stu(); break;case 2: show_all(); break;case 3: find_stu(); break;case 4: modify_stu(); break;case 5: remove_stu(); break;case 6: sort_list(); break;case 7: save_to_file(); break;case 8: read_from_file(); break;case 9: picture(); break;case 0: quit();exit(0); break;default: break;}system("pause");//暂停批文件的处理并显示消息}intinit(){head = (student *)malloc(_LEN);//为头结点申请空间if (!head){//如果申请空间失败,返回return OVERFLOW;}head->next = NULL;//指向下一节点(空)curr = head->next;//当前节点指针指向第一个结点total = 0;//当前节点个数初始化为0(头结点不计算在内) return DONE;}/*功能:头插法添加新节点,并刷新学生人数 */ intadd_stu(){student *add = (student *)malloc(_LEN);curr = head->next;//当前节点指针指向第一个节点printf("\t====当前已存入 %d 个同学\n",total);printf("请输入第 %d 个学生的信息\n",total+1);if (BACK == entering(add)){free(add);return BACK;}head->next = add;//头结点指针域指向新建的节点add->next = curr;//新建节点指针域指向第一个节点curr = add; //当前节点指向新建的节点total += 1; //更新学生总人数return DONE;}/*功能:显示所有学生信息 */intshow_all(){if ( 0 == total ){printf("\t====没有可供显示的学生信息!\n");return NOFOUND;}curr = head->next;//当前节点指针指向第一个节点printf("\t%4s%12s%12s","序号","学号","姓名");for (int m=0; m<_COURSES; m++){printf("%7s","科目");}printf("\n");printf("\t-------------------------------------------------------------\n");for (inti=1; i<=total; i++){show_stu(curr,i);curr = curr->next;//当前节点指针后移}printf("\t-------------------------------------------------------------\n");return DONE;}/*功能:查找指定学生信息 */intfind_stu(){charstu_name[11];int flag=1;printf("请输入要查找的学生姓名:");scanf("%s",stu_name);curr = head->next;//指向第一个节点while (curr != NULL){if (strcmp(stu_name,curr->name) == 0){printf("\t%4s%12s%12s","序号","学号","姓名");for (int m=0; m<_COURSES; m++){printf("%7s","科目");}printf("\n");printf("\t-------------------------------------------------------------\n");show_stu(curr,flag);return DONE;}curr = curr->next;++flag;}printf("\t====没有找到 %s !请仔细核对姓名再查找\n",stu_name);return NOFOUND;}/*功能:修改指定学生的所有信息 */intmodify_stu(){charstu_name[11];int flag=1;curr = head->next;//指向第一个节点printf("请输入要修改的学生的姓名:");scanf("%s",stu_name);while (curr != NULL){if (strcmp(stu_name,curr->name) == 0){printf("\t%4s%12s%12s","序号","学号","姓名");for (int m=0; m<_COURSES; m++){printf("%7s","科目");}printf("\n");printf("\t-------------------------------------------------------------\n");show_stu(curr,flag);entering(curr);printf("\t====成功修改了 %s 的所有信息!\n",stu_name);return DONE;}curr = curr->next;++flag;}printf("\t====没有找到 %s !请仔细核对姓名\n",stu_name);return NOFOUND;}/*功能:删除指定学生 */intremove_stu(){student *pre=head;charstu_name[11];curr = head->next;//指向第一个节点printf("请输入要删除的学生的姓名:");scanf("%s",stu_name);while (curr != NULL){if (strcmp(stu_name,curr->name) == 0){pre->next = curr->next;free(curr);--total;printf("\t====已成功删除\"%s\"\n",stu_name);return DONE;}pre = pre->next;curr = curr->next;}printf("\t====没有找到 %s !请仔细核对姓名\n",stu_name);return NOFOUND;}/*功能:对所有学生排序 */intsort_list(){student *temp = (student *)malloc(_LEN);student *curr_i = head->next;student *curr_j = NULL;char choice='0';printf("\t \t1----按学号排序 .\t2----按姓名排序 . \n");printf("\t \t3----按科目排序 .\t0----退出排序. \n");printf("请选择:");scanf("%c",&choice);fflush(stdin);switch (choice){case '1':{while(curr_i->next != NULL){curr_j = curr_i->next;while (curr_j != NULL){if (curr_i->num>curr_j->num){change(curr_i,curr_j,temp);}curr_j = curr_j->next;}curr_i = curr_i->next;}printf("\t====排序成功!\n");break;}case '2':{while(curr_i->next != NULL){curr_j = curr_i->next;while (curr_j != NULL){if (strcmp(curr_i->name , curr_j->name) > 0){change(curr_i,curr_j,temp);}curr_j = curr_j->next;}curr_i = curr_i->next;}printf("\t====排序成功!\n");break;}case '3':{while(curr_i->next != NULL){curr_j = curr_i->next;while (curr_j != NULL){if (curr_i->scores[0] <curr_j->scores[0]){change(curr_i,curr_j,temp);}curr_j = curr_j->next;}curr_i = curr_i->next;}printf("\t====排序成功!\n");break;}case '0':{free(temp);return BACK;}default:{printf("\t====输入有误!\n");break;}}free(temp);return DONE;}/*功能:保存数据到文件 */ intsave_to_file(){curr=head->next;if (total == 0){printf("\t====目前还没有任何信息,不用保存!\n");return BACK;}FILE *fp;if((fp=fopen("record.dat","wb"))==NULL){printf("\t====文件打开失败!\n");return OPENFAIL;}while (curr != NULL){//将数据成块写入文件fwrite((char *)curr, _LEN, 1, fp);curr=curr->next;}fclose(fp);printf("\t====信息已成功保存至文件\"record.dat\"文件中\n");return DONE;}/*功能:从文件中读取数据 */ intread_from_file(){char judge='y';FILE *fp;if((fp=fopen("record.dat","r"))==NULL){printf("文件不存在或者打开失败!\n");return OPENFAIL;}printf("\t====读取文件会覆盖当前信息!是否确定载入文件?(y/n):");scanf("%c",&judge);if (judge=='n' || judge=='N'){return BACK;}quit();//释放以前所有信息的空间init();//重新初始化链表curr = head;//当前节点指针指向头结点student *add=(student *)malloc(_LEN);//申请空间存放读取的信息while (fread((char *)add, _LEN, 1, fp)){//由于存储的信息是最新的信息在前,所以读取的时候将其添加在链表尾add->next=curr->next;curr->next=add;curr=add;add=(student *)malloc(_LEN);++total;}fclose(fp);printf("\t====文件载入成功!当前已有%d个学生。

相关文档
最新文档