学生成绩管理系统
- 格式:doc
- 大小:79.00 KB
- 文档页数:21
学生成绩管理系统学生成绩管理系统是现代教育管理中一种重要的工具,它通过科技手段实现对学生学业情况的全面监测和评估。
学生成绩管理系统能够及时记录学生成绩,对学生学习情况进行分析和反馈,为学校和家长提供有关学生学业发展的重要信息。
本文将从学生成绩管理系统的定义、功能和优势三个方面进行探讨,以期了解学生成绩管理系统对教育管理的积极影响。
学生成绩管理系统是一种基于互联网的教学管理工具,它通过网络互联和数据存储技术,对学生的学习情况进行有效管理和分析。
学生成绩管理系统的核心功能包括学生成绩记录、统计、分析和反馈。
学生成绩记录是指将学生的考试成绩、作业成绩等数据录入系统中进行保存和管理,以便于学校和教师随时查阅。
学生成绩统计是指根据学生成绩数据进行统计和分析,得出班级、年级、学校甚至全市、全国范围内学生学习情况的综合指标。
学生成绩分析是指通过对学生成绩数据进行深入分析,探究学生学习特点、强项和薄弱点,为教学设计和评估提供依据。
学生成绩反馈是指将学生成绩情况及时反馈给学生、家长和教师,帮助他们了解学生的学业发展状况,并及时进行调整和指导。
学生成绩管理系统的功能非常丰富,可以满足各个教育管理环节的需求。
首先,学生成绩管理系统可以有效提高教务管理效率。
传统的成绩管理方式往往需要耗费大量人力物力进行成绩记录和统计工作,而学生成绩管理系统能够自动完成这些任务,大大减轻了教务人员的工作负担。
其次,学生成绩管理系统可以为教学设计和评估提供科学依据。
通过对学生成绩数据进行深入分析和比较,教师可以了解学生的学习水平和特点,为针对性教学提供支持。
再次,学生成绩管理系统可以促进学生、家长和教师之间的沟通和合作。
通过及时的成绩反馈和学业信息共享,学生和家长可以了解学生在学校的学业状况,及时与教师进行沟通和交流,共同关注学生的学习发展。
最后,学生成绩管理系统还可以提供学生综合素质评价的参考依据。
学生成绩管理系统不仅仅可以记录和统计学生的考试成绩,还可以记录学生的课堂表现、作业完成情况、课外活动等能力表现,为学生的个性化发展提供指导。
学生成绩管理系统数据流程图及数据字典一、数据流程图学生成绩管理系统是一个用于管理学生的学习成绩的系统。
下面是该系统的数据流程图:1. 学生信息录入流程:- 学生信息管理员将学生的基本信息录入系统中,包括学生的姓名、学号、班级等。
- 系统生成一个惟一的学生ID,并将学生ID与学生的基本信息关联起来。
- 学生信息管理员将学生的课程信息录入系统中,包括课程名称、课程代码等。
- 系统生成一个惟一的课程ID,并将课程ID与课程信息关联起来。
2. 成绩录入流程:- 教师登录系统后,选择要录入成绩的课程。
- 系统显示该课程下的所有学生列表。
- 教师选择要录入成绩的学生,并输入学生的成绩。
- 系统将成绩与学生ID和课程ID关联起来,并存储在数据库中。
3. 成绩查询流程:- 学生登录系统后,选择要查询成绩的课程。
- 系统显示该课程下的该学生的成绩。
4. 成绩统计流程:- 教师登录系统后,选择要统计成绩的课程。
- 系统显示该课程下的所有学生列表及其成绩。
- 教师可以选择按照成绩排序,计算平均成绩等。
二、数据字典下面是学生成绩管理系统的数据字典,包括实体和属性的定义:1. 学生(Student)实体:- 学生ID(StudentID):惟一标识学生的ID。
- 姓名(Name):学生的姓名。
- 学号(StudentNumber):学生的学号。
- 班级(Class):学生所在的班级。
2. 课程(Course)实体:- 课程ID(CourseID):惟一标识课程的ID。
- 课程名称(CourseName):课程的名称。
- 课程代码(CourseCode):课程的代码。
3. 成绩(Grade)实体:- 学生ID(StudentID):学生的ID。
- 课程ID(CourseID):课程的ID。
- 成绩(Score):学生在该课程中的成绩。
4. 用户(User)实体:- 用户ID(UserID):惟一标识用户的ID。
- 用户名(Username):用户的用户名。
附录一应用程序综合设计汇报——题目: 学生成绩管理系统2023年1月1.需求分析学生成绩管理系统是学生管理系统旳重要构成部分, 对学生旳德、智、体全面评估有很大旳作用, 因此学生成绩管理系统应当可认为顾客提供以便旳查询平台和数据存储功能。
老式是使用人工旳方式对学生旳信息进行存储, 对于个人旳学生成绩来说, 数据旳整顿和分析就显得很麻烦, 不利于查找、更新和维护。
因此, 顾客但愿制作一种学生成绩管理系统, 来提高老师旳工作效率, 同步予以老师便利。
根据与顾客旳交流, 一般对学生成绩管理系统有如下几点旳规定:A.可认为顾客提供以便旳数据查询功能, 满足复杂、多样旳数据查询需求。
一般我们所需要旳数据都不是可以从原始数据库中直接读取旳, 往往需要一定旳加工, 这样才能使老式复杂旳人工操作变得简朴又精确。
B、成绩管理要可以提供学校考试安排旳管理, 学生考试成绩旳管理, 以及学生单科和总成绩旳记录和分析等功能。
这些是一种学生成绩管理系统最重要旳功能构成, 包括数据旳集成、整合和分析。
上述是顾客对系统需求和功能需求旳两点规定, 我根据顾客对功能旳需求, 将整个学生成绩管理系统提成两个大旳模块, 即基本信息设置模块和成绩管理模块(如图1)。
为了能使本系统可以基本独立, 通过度析, 我又添加了学生基本信息添加功能和班级基本信息添加功能, 这样系统就可以实现本系统旳全面界面化。
2.概要设计根据需求分析, 成绩管理系统重要是实现对考试和学生成绩旳管理功能, 我设计旳整个学生成绩管理系统分为两个大旳模块, 分别为基本信息设置模块和成绩管理模块, 这两个模块包括了成绩管理系统旳所有数据存储和功能需求, 为了愈加清晰了分解学生成绩管理系统, 每个大模块又由几种子功能模块构成, 完毕顾客旳需求。
两个大模块旳子模块详细划分如图2所示:基本信息设置是成绩管理系统中某些基本数据旳添加和修改, 为了可以实现本学生成绩管理系统旳独立性, 我在基本信息设置模块中添加了学生和班级信息添加模块, 以便顾客能直接添加新增旳数据, 而不需要通过程序员来完毕。
学绩信息管理系统学绩信息管理系统文档1. 系统简介1.1 目的和背景1.2 功能概述2. 用户需求分析2.1 学生用户需求- 查看个人成绩记录及排名情况。
- 提交作业、报告等课程相关文件。
- 查询选修课程信息并进行选课操作。
2.2 教师用户需求- 录入学绩,并计算平均分与班级排名。
- 发布作业、考试安排以及其他通知事项给学生。
3.系统设计与架构3.1数据库设计-设计数据库表结构,包括:学生表、教师表、科目表等。
3-2功能模块划分-划定各个子模块职责范围,如登录认证模块, 成绩录入/查询模块, 文件模块等。
4.详细功能描述4-1登陆注册–实现不同角色(管理员/老师/學生)登錄註冊功能,包含用戶驗證與權限控制部分。
4-2成績查詢–允许學生根据条件查询个人成绩,并显示排名情况。
4-3成績录入–允许教师输入学绩,系统自动计算平均分与班级排名,并提供相应的错误提示功能。
4-4 文件- 学生可以提交作业、报告等文件;老师可发布课程资料给学生。
5. 系统测试5.1 单元测试- 对每个模块进行单元测试以验证其正确性和稳定性。
6.部署与运行环境6-1硬件需求-列出服务器及客户端所需要的硬件配置要求。
6-2软件需求-列出操作系統, 数据库管理系统和其他必须安装在服务器上的软体需求。
7.附件8.法律名词及注释:- GDPR(General Data Protection Regulation):欧洲通用数据保护条例,是为了加强对于公民隐私权利和信息处理规范而制定的一项监管政策。
- COPPA (Children's Online Privacy Protection Act):儿童在线隐私保护法案,在美国旨在增强对13岁以下孩子们网络活动中收集到他们身份信息使用者责任意识方面做了规定。
- FERPA (Family Educational Rights and Privacy Act):家庭教育权利和隐私法案,是美国一项旨在保护学生个人信息的联邦法律。
UML学生成绩管理系统简介UML学生成绩管理系统是一个用于管理学生的学业成绩的系统。
该系统可以帮助学校或教育机构轻松管理学生的课程成绩和学术表现。
功能特点1.学生管理:系统可以存储学生的个人信息,包括姓名、年龄、性别和联系方式。
2.课程管理:系统可以管理学生的课程信息,包括课程名称、授课教师、学分和上课时间。
3.成绩管理:系统可以记录学生的考试成绩和平时表现,并生成成绩报告。
4.统计分析:系统可以根据学生的成绩数据进行统计分析,包括平均成绩、最高成绩和最低成绩等。
5.导出报告:系统可以将学生的成绩报告导出为Excel或PDF格式,方便学校和教师查看和分析学生成绩。
UML类图下面是UML类图表示了学生成绩管理系统的设计和关系。
```plantuml @startumlclass Student { - id: int - name: string - age: int - gender: string - contact: string + getID(): int + getName(): string + getAge(): int + getGender(): string + getContact(): string + setID(id: int): void + setName(name: string): void + setAge(age: int): void + setGender(gender: string): void +setContact(contact: string): void }class Course { - id: int - name: string - teacher: string - credit: int - schedule: string + getID(): int + getName(): string + getTeacher(): string + getCredit(): int + getSchedule(): string + setID(id: int): void + setName(name: string): void + setTeacher(teacher: string): void + setCredit(credit: int): void + setSchedule(schedule: string): void }class Grade { - student: Student - course: Course - score: int + getStudent(): Student + getCourse(): Course + getScore(): int + setStudent(student: Student): void + setCourse(course: Course): void + setScore(score: int): void }class GradeReport { - grades: List + addGrade(grade: Grade): void + removeGrade(grade: Grade): void + getAverageScore(): double + getMaxScore(): int + getMinScore(): int + generateReport(): void }Student。
学生成绩管理系统学生成绩管理系统是一个用于管理、记录和分析学生学习成绩的工具。
它可以帮助学校、教师和家长更好地了解学生的学习情况,提供个性化的教学指导和辅导。
本文将介绍学生成绩管理系统的功能、优势以及在实际应用中的作用。
一、功能介绍1. 学生信息管理:学生成绩管理系统可以存储和管理学生的个人信息,包括姓名、班级、学号、家庭联系方式等。
教师和学校可以通过系统快速查找和更新学生信息。
2. 成绩录入与查询:学生的各科成绩可以通过系统进行录入和查询。
教师可以根据学科、班级或学生姓名进行成绩查询,及时了解学生的学习情况。
3. 成绩分析与报告:学生成绩管理系统可以根据学生的成绩数据生成详细的成绩分析报告。
通过分析学生在不同科目、不同时间段的表现,教师可以更好地评估学生的学习水平和进步空间,及时调整教学内容和方法。
4. 学习计划和目标设定:学生成绩管理系统可以帮助学校和教师制定学生个性化的学习计划和目标。
根据学生的历史成绩和评估结果,系统可以推荐适合学生的学习资源和教材,提供针对性的学习建议。
5. 家校互动平台:学生成绩管理系统还提供了家校互动的功能,家长可以通过系统查看学生的成绩和评语,与教师进行实时沟通。
教师可以向家长发布通知、作业、考试安排等信息,促进学校和家庭的紧密合作。
二、系统优势1. 提高工作效率:学生成绩管理系统可以自动化完成学生信息管理、成绩录入和查询等繁琐的工作,节省教师和学校的时间和精力。
2. 数据准确性:通过使用学生成绩管理系统,可以避免人为录入错误和纰漏,确保学生成绩数据的准确性和完整性。
3. 个性化分析:学生成绩管理系统提供了丰富的成绩分析功能,可以根据学生的特点和需求进行个性化评估和辅导,促进学生全面发展。
4. 促进教学改进:通过对学生成绩进行全面分析,教师可以及时发现学生的薄弱环节和问题,采取有针对性的教学改进措施,提高教学效果。
5. 加强家校联系:学生成绩管理系统提供了家校互动平台,方便教师和家长之间及时沟通,共同关注学生的学习情况和发展。
学生成绩管理系统分析学生成绩管理系统是一种用于帮助学校或教育机构管理学生成绩的计算机软件系统。
它能够实现学生成绩的录入、计算、分析和报告等功能,有效提升学校教务管理的效率,并为教师、学生及家长提供更好的数据支持,帮助他们更好地了解学生表现和发挥潜力。
本文将对学生成绩管理系统进行详细分析,包括系统的基本功能、优势和意义,以及如何实施和使用该系统。
一、学生成绩管理系统的基本功能学生成绩管理系统主要包含以下基本功能:1.学生成绩录入:教师可以使用该系统将学生的分数和成绩相关信息录入系统数据库中,确保数据的准确性和完整性。
2.学生成绩查询:学校教务管理人员、教师、学生及家长都可以通过该系统查看学生成绩,包括单科成绩、总评成绩、排名和学生课程表等。
3.成绩统计与分析:系统可以对学生成绩进行统计和分析,包括成绩分布、班级平均成绩、学科排名等,帮助学校更好地了解学生的学习情况。
4.成绩报告和成绩单生成:系统可以根据学生的成绩数据自动生成成绩报告和成绩单,并且可以通过电子邮件或系统内部消息的方式发送给学生或家长。
5.异常成绩监测和预警:系统可以根据设定的规则和学生成绩数据,实时监测学生的成绩情况,对于低于预期的成绩进行预警,及时进行干预和教育。
二、学生成绩管理系统的优势和意义学生成绩管理系统的实施和使用可以为学校、教师、学生及家长带来诸多优势和意义:1.提高工作效率:学生成绩管理系统自动化了学生成绩的录入、计算和统计等工作,减少了繁琐的手工操作,提高了工作效率。
2.减少人为错误:由于系统自动计算和存储学生成绩数据,减少了手动录入错误和数据丢失的可能性,确保了成绩数据的准确性。
3.提供数据支持:学生成绩管理系统可以生成各种报表和统计数据,为学校领导、教师和家长提供更好的数据支持,用于评估学生的学习情况和制定教学计划。
4.促进家校合作:学生家长可以通过系统查询和监测学生成绩,及时了解孩子的学习情况,并与教师共同讨论和制定适合孩子的学习计划,促进家校合作。
学生成绩管理系统简介学生成绩管理系统是一种用于管理学生的学业成绩和相关信息的软件系统。
它可以帮助学校、教师和学生有效地管理和查询学生的成绩,提供全面的成绩分析和统计功能,促进教学质量的提高。
功能学生成绩管理系统通常具有以下核心功能:1.学生信息管理:包括学生的基本信息、课程注册、班级信息等。
2.成绩录入:教师可以登录系统,录入学生成绩,并进行相应的成绩审核和修改。
3.成绩查询:学生、教师和学校管理者均可通过系统查询学生成绩,可以按照学生、班级、课程等维度进行灵活查询。
4.成绩统计与分析:系统可以对成绩数据进行统计和分析,生成各类成绩报告和分析图表,为教师和学校提供决策依据。
5.成绩排名:系统可以根据学生成绩进行排名,可以按照总分、班级、课程等维度进行排名。
6.数据导入导出:系统可以支持将学生成绩数据导入导出到Excel、CSV等格式,方便学校的数据管理。
优势学生成绩管理系统的应用带来诸多优势:1.提高工作效率:通过系统自动化处理和统计成绩数据,节省了大量的人力和时间成本。
2.提供准确的数据:系统可以准确地计算和记录学生成绩,避免了人工计算和录入带来的错误。
3.提供个性化服务:学生成绩管理系统可以根据学生的不同需求提供个性化的信息查询和分析功能,满足学生个性化的学习需求。
4.提供全面的分析和决策支持:系统可以生成各类成绩报告和分析图表,帮助教师和学校进行成绩分析和决策。
5.提高教学质量:通过系统对学生成绩进行全方位的管理和分析,有助于教师了解学生的学习状况,及时调整教学方法,提高教学质量。
使用场景学生成绩管理系统适用于各类学校、教育机构以及在线教育平台的学生成绩管理需求。
以下是几个典型的使用场景:1.学校管理者可以通过系统了解学校整体的学生成绩情况,进行综合分析和决策。
2.教师可以通过系统录入学生成绩、排名、查询历史成绩等,方便管理学生成绩和进行个性化教学。
3.学生可以通过系统查询自己的成绩、查看排名等,及时了解自己的学习状况。
#include <>#include <>#include <>/*#include <>*/#include <>#include <>#include <>#include <>#define VIDEO_INT 0x10#define STUSIZE 40 /* 假定处理的学生不超过40人 */struct student{int stunum; /* 学号 */char stuname[10]; /* 学生姓名 */float stuscore[5]; /* 3门成绩、平均成绩、总成绩 */}stu[STUSIZE]; /* 定义学生数组 */int stunum=0; /* 用来记录当前学生记录数 */void StuCover(); /* 项目封面函数声明 */void MainMenu(); /* 主菜单函数声明 */void EditMenu(); /* 编辑子菜单函数声明 */void DispMenu(); /* 显示子菜单函数声明 */void CompMenu(); /* 计算子菜单函数声明 */void SortMenu(); /* 排序子菜单函数声明 */void Open(struct student stu[],int *size); /* 打开文件子菜单函数声明 */void Save(struct student stu[],int *size); /* 保存文件函数声明 */int Add(struct student stu[],int *size); /* 增加学生记录函数声明 */int Del(struct student stu[],int *stusize); /* 删除学生记录函数声明 */int Modify(struct student stu[],int *stusize); /* 修改学生记录函数声明 */int DispOne(struct student stu[],int *stusize); /* 查看一个记录函数声明 */int DispAll(struct student stu[],int size); /* 显示全部记录函数声明 */void AsceSort(struct student stu[],int stusize); /* 按升序排序函数声明 */void DropSort(struct student stu[],int stusize); /* 按降序排序函数声明 */void NotElig(struct student stu[],int stusize); /* 查找不及格记录函数声明 */void CompSum(struct student stu[],int stusize); /* 计算总成绩和平均成绩函数声明*/void SearchMax(struct student stu[],int stusize); /* 查找最高成绩函数声明 */void SearchMin(struct student stu[],int stusize); /* 查找最低成绩函数声明 */void Explain(); /* 程序说明函数声明 */void Quit(int); /* 退出函数声明 */void gotoxy(int x,int y); /* 光标定位函数声明 */int main(){int choose,editnum,dispnum,compnum,sortnum; /* 定义5个输入变量*/system("cls");StuCover();getch();while(1) /* 外循环开始*/{MainMenu(); /* 调用主菜单函数 */printf("\t\t请输入序号:");scanf("%d",&choose);switch(choose) /* 主菜单的switch开始*/{case 1:Open(stu,&stunum);break;case 2:Save(stu,&stunum);break;case 3:do /*内循环1开始 */{EditMenu(); /* 调用编辑子菜单函数 */printf("\t\t请输入序号:");scanf("%d",&editnum);switch(editnum) /*编辑子菜单switch开始 */{case 1:Add(stu,&stunum);break;case 2:Del(stu,&stunum);break;case 3:Modify(stu,&stunum);break;case 0:Quit(0);break;} /* 编辑子菜单switch结束*/ }while(editnum!=0); /*内循环1结束 */break;case 4:do /* 内循环2开始 */{DispMenu(); /* 调用查看子菜单函数 */printf("\t\t请输入序号:");scanf("%d",&dispnum);switch(dispnum) /*显示子菜单switch开始 */ {case 1:DispOne(stu,&stunum);break;case 2:DispAll(stu,stunum);break;case 3:do /* 内循环3开始 */{SortMenu();printf("\t\t请输入序号:");scanf("%d",&sortnum);switch(sortnum) /* 排序子菜单switch开始 */ {case 1:AsceSort(stu,stunum);break;case 2:DropSort(stu,stunum);break;case 0:Quit(0);break;} /* 排序子菜单switch结束*/ }while(sortnum!=0); /* 内循环3结束*/break;case 4:NotElig(stu,stunum);break;case 0:Quit(0);break;} /* 显示子菜单switch结束 */ }while(dispnum!=0); /* 内循环2结束*/break;case 5:do /* 内循环4开始*/{CompMenu(); /* 调用计算子菜单函数 */printf("\t\t请输入序号:");scanf("%d",&compnum);switch(compnum) /*计算子菜单switch开始*/ {case 1:CompSum(stu,stunum);break;case 2:SearchMax(stu,stunum);break;case 3:SearchMin(stu,stunum);break;case 0:Quit(0);break;} /*计算子菜单switch结束*/}while(compnum!=0); /* 内循环4结束 */break;case 6:Explain();break; /* 程序说明*/case 0:Quit(1);break;} /* 主菜单的switch结束*/}return 0; /* 外循环结束*/}void gotoxy(int x,int y){COORD c;=x-1;=y-1;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c);}void Quit(int flag) /*退出函数*/{if(flag==1){system("cls");printf("\n\n\n\n\n\n\t\t\t操作结束,退出系统!");getch();system("cls");exit(0); /*退出程序,返回到操作系统库函数*/ }elseif(flag==0) /*返回上级菜单*/{system("cls");printf("\n\n\n\n\n\n\t\t\t操作结束,返回上级菜单!");getch();system("cls");}}void Explain() /*程序说明*/{system("cls");gotoxy(10,3); /* 光标定位函数 */printf("这是一个教学程序。
它以开发班级学生成绩管理系统为主要项目,");gotoxy(10,5);printf("旨在通过简单学生成绩管理系统软件的开发,使读者了解并掌握用C语"); gotoxy(10,7);printf("言开发程序的方法与技巧。
");gotoxy(10,9);printf("该项目由15个任务来完成,将C语言基本知识与理论溶入到任务中!");gotoxy(10,11);printf("完成15个任务后就完成整个项目的设计。
通过任务驱动和项目导向教学,"); gotoxy(10,13);printf("最终实现教学目的,达到培养目标!");gotoxy(10,15);printf("该项目实施贯穿在整个教学过程中,它将重点与难点分散在各个任务");gotoxy(10,17);printf("中,达到循序渐进,逐个突破的目的,教学最后将安排一定的时间归纳汇"); gotoxy(10,19);printf("总。
");getch();}void StuCover() /* 项目封面函数 */{system("cls"); /* 执行DOS清屏命令函数 */printf("\n\n\n");printf("\t\t班级学生成绩管理系统\n\n");printf("\t\t 版本号:\n\n");printf("\n\n\n");printf("\t\t 2011年9月\n\n");printf("\t\t 章国华软件工作室\n");}void MainMenu() /* 项目主菜单函数 */{int n;system("cls");printf("\n\n\n");printf(" |* * * * * 学生成绩管理系统 * * * * *|\n");printf(" |....................................|\n");printf(" | 请选择菜单序号(0~6) |\n");printf(" | 1----打开文件 |\n"); printf(" | 2----保存文件 |\n"); printf(" | 3----编辑数据 |\n"); printf(" | 4----显示数据 |\n"); printf(" | 5----数据计算 |\n"); printf(" | 6----程序说明 |\n"); printf(" | 0----退出系统 |\n"); printf(" |....................................|\n"); printf("\t\t请选择序号:");scanf("%d",&n);printf("您选择了第%d项!\n",n);}void DispMenu() /* 项目主菜单函数 */{int n;system("cls");printf("\n\n\n");printf(" |* * * * * * * 显示子菜单 * * * * *|\n"); printf(" |....................................|\n"); printf(" | 请选择菜单序号(0~4) |\n"); printf(" |....................................|\n"); printf(" | 1----查看选定记录 |\n"); printf(" | 2----显示全部记录 |\n"); printf(" | 3----显示排序记录 |\n"); printf(" | 4----显示不及格记录 |\n"); printf(" | 0----返回上级菜单 |\n"); printf(" |....................................|\n"); printf("\t\t请选择序号:");scanf("%d",&n);printf("您选择了第%d项!\n",n);}void EditMenu() /* 项目编辑子菜单函数 */ {int n;system("cls");printf("\n\n\n");printf(" |* * * * * * * 编辑子菜单 * * * * * *|\n"); printf(" |....................................|\n"); printf(" | 请选择菜单序号(0~3) |\n");printf(" | 1----增加记录 |\n"); printf(" | 2----删除记录 |\n"); printf(" | 3----修改记录 |\n"); printf(" | 0----返回上级菜单 |\n"); printf(" |....................................|\n"); printf("\t\t请选择序号:");scanf("%d",&n);printf("您选择了第%d项!\n",n);}void CompMenu() /* 项目计算子菜单函数 */ {int n;system("cls");printf("\n\n\n");printf(" |* * * * * * * 计算子菜单 * * * * * *|\n");printf(" |....................................|\n");printf(" | 请选择菜单序号(0~3) |\n");printf(" |....................................|\n");printf(" | 1----计算总成绩和平均成绩 |\n");printf(" | 2----计算最高分(平均分) |\n");printf(" | 3----计算最低分(平均分) |\n");printf(" | 0----返回上级菜单 |\n");printf(" |....................................|\n");printf("\t\t请选择序号:");scanf("%d",&n);printf("您选择了第%d项!\n",n);}void SortMenu() /* 项目排序子菜单函数 */ {int n;system("cls");printf("\n\n\n");printf(" |* * * * * * * 排序子菜单 * * * * * *|\n");printf(" |....................................|\n");printf(" | 请选择菜单序号(0~2) |\n");printf(" |....................................|\n");printf(" | 1----按升序排序 |\n");printf(" | 2----按降序排序 |\n");printf(" | 0----返回上级菜单 |\n");printf("\t\t请选择序号:");scanf("%d",&n);printf("您选择了第%d项!\n",n);}void SearchMax(struct student stu[],int stusize) /* 查找最高分指针访问函数 */ {float max=stu[0].stuscore[4];int i;system("cls");for(i=1;i<stusize;i++){if(max<stu[i].stuscore[4]){max=stu[i].stuscore[4];}}gotoxy(20,5);printf("成绩最高的是:%.1f\n",max);gotoxy(20,10);printf("查找最高分成功,按任意键返回上级菜单!");getch();}void SearchMin(struct student stu[],int stusize) /* 查找最低分指针访问函数 */ {float min=stu[0].stuscore[4];int i;system("cls");for(i=1;i<stusize;i++){if(min>stu[i].stuscore[4]){min=stu[i].stuscore[4];}}gotoxy(20,5);printf("成绩最高的是:%.1f\n",min);gotoxy(20,10);printf("查找最低分成功,按任意键返回上级菜单!");getch();}void NotElig(struct student stu[],int stusize) /* 查找不合格学生成绩指针访问函数 */{int i,flag=0;system("cls");gotoxy(20,5);printf("不合格成绩:");for(i=0;i<stusize;i++){if(stu[i].stuscore[4]<60){printf("%",stu[i].stuscore[4]);flag=1;}}if(!flag){gotoxy(35,5);printf("没有不合格成绩!");}gotoxy(20,10);printf("查找不及格成绩成功,按任意键返回上级菜单!");getch();}void CompSum(struct student stu[],int stusize) /* 计算总成绩和平均成绩函数声明*/{int i,j;float sumscore;system("cls");if(stusize<=0){gotoxy(22,5);printf("数组中没有学生记录或文件没有打开,不能计算总成绩和平均成绩!"); getch();}else{for(i=0;i<stusize;i++){sumscore=0;for(j=0;j<3;j++){sumscore+=stu[i].stuscore[j];}stu[i].stuscore[3]=sumscore;stu[i].stuscore[4]=sumscore/;}}gotoxy(20,5);printf("计算总成绩和平均成绩成功,按任意键返回上级菜单!");getch();}void AsceSort(struct student stu[],int stusize) /* 按升序排列指针访问函数*/{int i,j;float temp;float temp_score[STUSIZE],*pf; /*定义一个新数组*/system("cls");pf=temp_score;for(i=0;i<stusize;i++) /*给新数组赋值*/temp_score[i]=stu[i].stuscore[4];for(i=0;i<stusize-1;i++) /*双重循环实现学生成绩按升序排列*/for(j=0;j<stusize-i-1;j++)if(*(pf+j+1)<*(pf+j)){temp=*(pf+j);*(pf+j)=*(pf+j+1);*(pf+j+1)=temp;}gotoxy(5,5);printf("升序排列结果:");for(i=0;i<stusize;i++)printf("%",*(pf+i));gotoxy(20,10);printf("升序排列成功,按任意键返回上级菜单!");getch();}void DropSort(struct student stu[],int stusize) /* 按降序排列指针访问函数*/{int i,j;float temp;float temp_score[STUSIZE],*pf; /*定义一个新数组*/system("cls");pf=temp_score;for(i=0;i<stusize;i++) /*给新数组赋值*/temp_score[i]=stu[i].stuscore[4];for(i=0;i<stusize-1;i++) /*双重循环实现学生成绩按降序排列*/for(j=0;j<stusize-i-1;j++)if(*(pf+j+1)>*(pf+j)){temp=*(pf+j);*(pf+j)=*(pf+j+1);*(pf+j+1)=temp;}gotoxy(5,5);printf("降序排列结果:");for(i=0;i<stusize;i++)printf("%",*(pf+i));gotoxy(20,10);printf("降序排列成功,按任意键返回上级菜单!");getch();}int Add(struct student stu[],int *size) /*增加学生记录函数*/{int i,j;int stunum;int number;system("cls");if(*size>=40){ /*判断数组是否装满*/gotoxy(30,2);printf("数组已满,不能再增加记录!");return 0;}else{do{ /*判断输入的增加记录数是否合适*/gotoxy(30,2);printf("请输入增加的记录个数:");scanf("%d",&number);if(number<0||number+*size>=40){gotoxy(30,4);printf("输入增加记录个数错,请重新输入!");}}while(number<0||number+*size>=40);stunum=*size+number;system("cls");gotoxy(33,2);printf("学生信息输入!");for(i=*size;i<stunum;i++) /*增加学生记录*/{gotoxy(15,5);printf("请输入第%d个学生学号:",i+1);gotoxy(15,7);printf("请输入第%d个学生姓名:",i+1);gotoxy(15,9);printf("请输入第1门成绩:");gotoxy(15,11);printf("请输入第2门成绩:");gotoxy(15,13);printf("请输入第3门成绩:");gotoxy(37,5);scanf("%d",&stu[i].stunum);gotoxy(37,7);scanf("%s",&stu[i].stuname);for(j=0;j<3;j++){gotoxy(32,9+j*2);scanf("%f",&stu[i].stuscore[j]);}}if(i==*size){gotoxy(33,4);printf("没有记录输入!");}*size=stunum; /*有指针变量带回学生记录数*/gotoxy(33,15);printf("按任意键返回上级菜单!");getch();return 0;}}int Del(struct student stu[],int *stusize) /*删除学生记录函数*/{int i,k;int loop=0;int number;system("cls");gotoxy(33,2);printf("删除学生记录!\n");if(*stusize<=0) /*判断数组是否空*/ {gotoxy(20,4);printf("数组中没有学生记录或文件没有打开,不能删除记录!");getch();return 0;}else{do{system("cls");gotoxy(25,2);printf("删除学生记录(不能删除记录请输入-1)!\n");gotoxy(28,4);printf("请输入被删除学生的学号:\n");scanf("%d",&number);if(number==-1){return 0;}for(i=0,k=0;i<*stusize;i++){if(number==stu[i].stunum){loop=1;k=i; /*被删除记录的下标*/ break;}}if(loop!=1){gotoxy(25,6);printf("输入学生学号出错,按任意键重新输入!");getch();}}while(loop!=1);}for(i=k;i<*stusize;i++){stu[i]=stu[i+1]; /*删除操作*/}gotoxy(25,6);printf("删除成功,按任意键返回上级菜单!");*stusize=*stusize-1;getch();return 0;}int Modify(struct student stu[],int *stusize) /*修改学生记录函数*/{int i,k;int loop=0; /*学号输入正确标志*/int number;system("cls");gotoxy(33,2);printf("修改学生记录!\n");if(*stusize<=0){gotoxy(20,4);printf("数组中没有学生记录或文件没有打开,不能修改记录!");getch();return 0;}else{do{ /*找出修改学生记录的下标*/ system("cls");gotoxy(25,2);printf("修改学生记录!(不修改记录请输入-1)\n");gotoxy(28,4);printf("请输入被修改学生的学号:");scanf("%d",&number);if(number==-1){return 0;}for(i=0,k=0;i<*stusize;i++){if(number==stu[i].stunum){loop=1;k=i; /*被修改记录的下标*/ break;}}if(loop!=1){gotoxy(25,6);printf("输入学生学号出错,按任意键重新输入!");getch();}}while(loop!=1);}system("cls");gotoxy(33,2);printf("修改学生记录!\n");gotoxy(28,4);printf("学号:%d",stu[k].stunum);gotoxy(28,6);printf("姓名:%d",stu[k].stuname);gotoxy(28,8);printf("成绩1:%.1f",stu[k].stuscore[0]);gotoxy(28,10);printf("成绩2:%.1f",stu[k].stuscore[1]);gotoxy(28,12);printf("成绩3:%.1f",stu[k].stuscore[2]);gotoxy(34,4);scanf("%d",&stu[k].stunum);gotoxy(34,6);scanf("%s",&stu[k].stuname);gotoxy(35,8);scanf("%f",&stu[k].stuscore[0]);gotoxy(35,10);scanf("%f",&stu[k].stuscore[1]);gotoxy(35,12);scanf("%f",&stu[k].stuscore[2]);gotoxy(25,14);printf("修改成功,按任意键返回上级菜单!");getch();return 0;}int DispAll(struct student stu[],int size) /*显示全部记录函数*/{int i,j;system("cls");if(size<=0){gotoxy(20,4);printf("数组中没有学生记录或文件没有打开,不能显示记录!");getch();return 0;}else{gotoxy(5,4);printf("学号姓名成绩1成绩2成绩3总成绩平均成绩");for(i=0;i<size;i++){gotoxy(5,6+i);printf("%-5d",stu[i].stunum);printf("%8s",stu[i].stuname);for(j=0;j<5;j++){printf("%",stu[i].stuscore[j]);}printf("\n");}}gotoxy(28,7+size);printf("按任意键返回上级菜单!");getch();return 0;}int DispOne(struct student stu[],int *stusize) /*显示选定记录函数*/ {int i,j,k,loop,number;do{system("cls");gotoxy(25,2);printf("查看学生记录!(不查看记录请输入-1)\n");gotoxy(28,4);printf("请输入被查看学生的学号:");scanf("%d",&number);if(number==-1){return 0;}for(i=0,k=0;i<*stusize;i++){if(number==stu[i].stunum){loop=1;k=i;break;}}if(loop!=1){gotoxy(25,6);printf("输入学生学号出错,按任意键重新输入!");getch();}}while(loop!=1);gotoxy(5,4);printf("学号姓名成绩1成绩2成绩3总成绩平均成绩");gotoxy(5,6);printf("%-5d",stu[k].stunum);printf("%8s",stu[k].stuname);for(j=0;j<5;j++){printf("%",stu[k].stuscore[j]);}printf("\n");gotoxy(28,8);printf("按任意键返回上级菜单!");getch();return 0;}void Open(struct student stu[],int *size) /*打开文件函数*/{int i=0,m=0;FILE *fp,*fp1;if((fp=fopen("studentscore","rb"))==NULL){fp1=fopen("studentscore","wb+");fclose(fp1);}if((fp=fopen("zhangguohua","rb"))==NULL){fp1=fopen("zhangguohua","wb+");fprintf(fp1,"%d",m);fclose(fp1);}system("cls");if((fp=fopen("studentscore","rb"))==NULL){printf("文件不能正常打开!\n");exit(0);}else{while(!feof(fp)){fread(&stu[i],sizeof(struct student),1,fp);i++;}fclose(fp);}gotoxy(25,5);printf("文件打开成功!");*size=i-1;getch(); /*文件中的学生数*/ }void Save(struct student stu[],int *size) /*保存文件函数*/ {int i=0;FILE *fp;system("cls");if((fp=fopen("studentscore","wb"))==NULL){printf("文件不能正常打开!\n");exit(0);}else{for(i=0;i<*size;i++){fwrite(&stu[i],sizeof(struct student),1,fp);}fclose(fp);}gotoxy(25,5);printf("促存文件成功,按任意键返回上级菜单!");getch();}/*void gotoxy( int col, int row ){union REGS inregs, outregs;= 2;= 0;= row;= col;int86( VIDEO_INT, &inregs, &outregs );}*/。