c++学生成绩管理系统课设报告(含程序和截图))
C语言课程设计报告学生成绩管理系统(广工)

一、课程设计题目:学生成绩管理二、需求分析给出n个学生的m门考试的成绩表,每个学生的信息由学号、姓名、性别以及各科成绩组成。
对学生的考试成绩进行有关统计:按总数高低次序,打印出名次表,分数相同的为同一名次;按名次打印出每个学生的学号、姓名、总分以及各科成绩,并打印统计表。
三、概要设计程序要有的功能:1。
输入记录2。
用指定格式显示全部记录3。
根据姓名查找记录4。
根据姓名删除记录5. 保存记录到文件6。
按序号显示记录7。
按姓名由小到大的顺序排序程序运行当中,通过选择对应的功能序号来实现所需功能。
对输入的数据要有事先的分析,如果用户输入的数据与实际不相符如输入成绩的数值为负,则程序应输出相应的提示:“您输入的数据有误,请核实!”。
再者就是,当再输入完相应的数据后,程序作出相应的提示,询问用户是否要保存数据。
在排列学生成绩时候,如果出现成绩相同的情况,程序自动作出处理。
最后,在程序可以正确运行的基础上,再增加一些功能,如在排列的时候,自动输出最高分与最低分。
与及格成绩作比较,输出及格人数等相关信息。
流程图:四、详细设计源程序:#include ”stdio。
h”#include "stdlib.h”#include "string。
h”int shoudsave=0;/* */struct student{char num[10];/*学号*/char name[20];char sex[4];int cgrade;int mgrade;int egrade;int totle;int ave;char neartime[10];/*最近更新时间*/};typedef struct node{struct student data;struct node *next;}Node,*Link;void menu(){printf(”*********************************主菜单*****************************************”);printf(”\t1登记学生资料\t\t\t\t\t2删除学生资料\n”);printf(”\t3查询学生资料\t\t\t\t\t4修改学生资料\n”);printf(”\t5保存学生资料\t\t\t\t\t0退出系统\n”);printf(”********************************************************************************\n");}void printstart(){printf(”-————---—-——————--——----———-—-—-————--————--—--—--—-————---—-—————--———\n”);}void Wrong(){printf(”\n=====>提示:输入错误!\n”);}void Nofind(){printf("\n=====〉提示:没有找到该学生!\n");}void printc()/*本函数用于输出中文*/printf(”学号\t 姓名性别英语成绩数学成绩C语言成绩总分平均分\n”); }void printe(Node *p)/* 本函数用于输出英文*/{printf("%—12s%s\t%s\t%d\t%d\t%d\t %d\t %d\n",p—〉data。
C语言学生成绩管理系统课程设计报告

设计一个学生成绩管理系统,对上学期的本班的学习成绩进行管理,具有查询和检索功能,并且能够对指定文件操作,也可将多个文件组成一个文件。
A、设计内容1、每一条记录包括一个学生的学号、姓名、性别、各门课成绩(上学期的科目)、平均成绩。
2、输入功能:可以一次完成若干条记录的输入。
3、显示功能:完成全部学生记录的显示。
4、查找功能:完成按姓名或学号查找学生记录,并显示。
5、排序功能:按学生平均成绩进行排序。
6、插入功能:按学号顺序插入一条学生记录。
7、将学生记录存在文件student.dat中。
8、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!B、设计要求一、已知有存储本班学生记录(包括学号、姓名、科目成绩、性别、)的文件student.dat,所有学生以学号从小到大排序(该文件自行建立)。
要求编程序实现查询、排序、插入、删除诸功能。
具体要求如下:A.要求显示如下界面****************************************1--------------查询2--------------排序3--------------插入4--------------删除****************************************通过选择1-4来确定要做哪一个操作。
B.若选1,则出现如下界面****************************************1.1----------按学号查询1.2----------按姓名查询1.3----------按成绩查询****************************************通过选择1.1-1.3来确定要做哪一个操作,其中:按姓名查询用顺序法实现;按成绩查询实现查询成绩小于m分的学生;找到该生将学生记录输出到屏幕,若查无此人,输出相关信息。
C.若选2,则按成绩从大到小排序,姓名,学号顺序也随之调整。
C语言学生成绩管理系统设计报告

物理与电子信息学院C语言课程设计(科创实验)报告学生成绩管理系统专业年级学生姓名学号指导教师2021年 1 月 4 日目录1 设计任务 (1)2 需求分析 (1)2.1基础功能 (1)2.2扩展功能 (2)3系统设计概要 (2)3.1开发与运行环境 (2)3.2数据结构设计 (2)3.2总体设计 (3)4系统详细设计 (3)5 系统测试 (4)6 总结与反思 (8)参考文献 (8)附录 (9)1.设计任务设计一个系统,使其能够记录学生的学号、姓名、专业和5门课程的成绩。
该系统能够实现添加、删除、修改功能。
并且能够计算某学生的总分和平均成绩,能够按照总分排序输出。
2.需求分析学生成绩管理系统主要是提供成绩查询,方便管理的网上的信息查阅平台,学生可以通过该系统查阅与自己相关信息。
教师可以通过成绩管理系统查阅学生成绩信息。
系统管理员可以实现以上的所有功能,还有对学生的添加、删除、修改、教师的添加、删除、修改。
根据开发要求,学生成绩管理系统主要应用于教育系统,完成对日常的教学、教务、教师以及学生的计算机化的管理。
开发学生成绩管理系统可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理,以及国家各部门关于信息化的步伐,使各项管理更加规范化。
目前,学校工作繁杂、资料重多。
目前,管理信息系统已进入高校,但还未普及,而对于学生成绩管理来说,目前还没有一套完整的、统一的系统。
因此,开发一套适和大众的、兼容性好的系统是很有必要的。
2.1基础功能该系统所具有的基础功能有能够记录学生的学号、姓名、专业和5门课程的成绩。
该系统能够实现添加、删除、修改功能。
并且能够计算某学生的总分和平均成绩,能够按照总分排序输出。
2.2扩展功能该系统在原有的基础功能上还增加了查询不及格学生的记录、按照单科成绩排序、添加学生信息后可以写进文件。
3.系统概要设计3.1开发与运行环境3.1.1开发环境1.开发语言为C语言。
C语言学生成绩管理系统课设报告

目录一、需求分析二、总体设计1、程序设计组成框图2、流程图三、详细设计四、调试与测试五、测试结果六、心得体会七、附录一、需求分析现欲开发一套学生成绩管理系统软件,减少教职员工工作压力,方便管理和查询学生成绩,提高办公效率,实现规范化管理。
它的功能主要包括:成绩输入,显示全部成绩记录,按照姓名查找记录,删除成绩信息,按平均成绩排序显示,重复添加学生信息等功能。
本程序以录入信息和运行程序为显示、排序、删除等功能前提。
二、总体设计1、程序设计组成框图2、流程图三、详细设计1、功能选择模块:被主函数调用,显示系统主菜单界面,提示用户输入0~5之间的数字,并返回整型值给主函数,实现各项功能。
如果范围不在0~5内,将提示重新输入。
2、输入学生资料模块:被主菜单函数调用,无返回值,用于输入学生姓名、三门课程成绩、学号。
完整输入一次后将出现提示语是否继续输入,“y”继续输入下一位同学成绩,“n”返回主菜单。
在执行其他模块功能后,仍能继续添加资料并使用。
3、输出学生资料模块:被主菜单函数调用,无返回值,主要功能用来对学生的成绩进行输出。
该模块可以显示所有学生的学号,姓名和各科成绩,平均成绩。
在查看学生的资料,成绩各方面的信息后,按任意键就可以返回到主菜单。
4、查找资料模块:被主菜单函数调用,无返回值,用于查找学生资料,只要完整输入学生的姓名就可以显示该同学的全部信息,若输入出错,则显示查找不到的提示信息。
5、删除资料模块:被主菜单函数调用,无返回值,用于将错误资料或是不再需要的学生资料删除,由后面的一一覆盖上来。
并改变系统记录数据值。
6、按照平均成绩排序模块:被主菜单函数调用,无返回值,用于将同学的资料通过顺序排序法按平均成绩由低到高排列。
四、调试与测试(1)调试方法:通过简单的输出函数来判断是否执行某一程序块。
通过某些清屏及取字符函数调整结果的显示问题。
(2)主要出现的问题及措施:1、无法显示排序结果及全部记录。
C语言程序设计学生成绩管理系统实验报告

移通学院C语言程序设计报告书设计名称:学生成绩管理系统专业:指导老师:班级:姓名:学号:座号:时间一、实验目的1.在编辑应用程序过程中,逐步加深对C语言编程的理解;2.加强实践的能力,动手能力,同时进一步对所学的知识进行巩固;3.培养初步编程的能力,为以后的学习奠定基础;二、实验内容运用所学的C语言知识编辑一个应用程序:学习成绩管理系统三.系统软件环境:本程序主要运行在: Visual C++ 6.0Turbo C/C++ 3.0四.课程设计题目:学生成绩管理系统程序说明:有N个学生,每个学生的数据包含学号不重复、姓名、三门课的成绩及平均成绩,试设计一学生成绩管理系统,使之能提供以下功能:1主菜单2各菜单项功能①成绩录入:输入学生的学号、姓名及三门课的成绩;②成绩查询:按学号查询学生记录;③成绩统计:计算学生的平均分;根据学生的平均分高低,对学生的数据进行排序后输出;④退出系统:退出整个系统即主菜单;五.数据结构设计描述:↓int num; /定义学号,变量为整型/char name; /定义姓名,变量为字符型/int score; /定义课程的成绩,变量为整型/float average; /定义平均分,变量为浮点型/七.系统各函数的功能,、相互调用关系1.函数实现功能说明:1menu函数是定义一个菜单函数,其功能在于输出菜单界面供使用者选择;2input函数是定义用于输入学生信息;3select 函数是定义用于查询学生信息;包括学号、姓名及各科成绩;4statistics 函数计算学生的平均分;根据学生的平均分高低,对学生的数据进行排序输出;2.相互调用关系:Main函数调用menu函数;Menu 函数可以调用input 函数、select函数和statistics 函数八.心得体会C语言是一种较为基础和普遍的编程语言,应用相当广泛,这次课程设计的要求与C语言的广泛应用相比较还有很大的差距;我们对于C语言的理解和使用还处在一个初级的阶段,我们要想掌握它,要学习的还很多,同时要懂得创新,许多的编程方法都是人们一步一步总结出来的,我想我们也要努力拓展自己的思维,努力去寻求新的方法,以创造出更为完善的应用程序; 九.程序:include <stdio.h>include <stdlib.h>include <conio.h>define N 3 /学生人数/define M 3 /课程门数/struct student{int num; /学号/char name20; /姓名/int score3; /三门课成绩/float average;}stuN; /学生数/void input; /查询/void select; /统计/void menu;void input{int i,j;printf"\t\t①成绩录入\n\n";fori=0;i<N;i++{printf"请输入学号:";scanf"%d",&stui.num;printf"请输入姓名:";scanf"%s",&;forj=0;j<M;j++{printf"第%d门成绩的分数:",j+1;scanf"%d",&stui.scorej;}printf"\n\n";}printf"\n\n";printf"输入完毕按任意键返回主菜单";}/2.查询/void selectint no{int i;printf"学生%d号: \n",no; printf"学号: %d\n",stuno-1.num; printf"姓名: %s\n",;for i=0;i<M;i++{printf"第%d门课程的成绩为: ",i+1; printf"%d\n",stuno-1.scorei;}printf"\n按任意键返回主菜单";getch;}/3.统计/void statistics{float temp=0;int i=0;/学生成绩平均分/temp=0;printf"\t\t③成绩统计\n\n";forj=0;j<N;j++{fori=0;i<M;i++{temp=temp+stuj.scorei;}stuj.average=temp/N;printf"\n学生%s的成绩平均成绩为:",;printf"%0.2f分",stuj.average;temp=0;}/排序/for j=0;j<N;j++fori=0;i<N-j-1;i++ifstui.average<stui+1.average{ temp=stui.average;stui.average=stui+1.average;stui+1.average=temp;}printf"\n\n学生平均成绩前三名:";fori=0;i<3;i++{printf"\n第%d名:%0.2f分",i+1,stui.average;}printf"\n\n按任意键返回主菜单";getch;}void menu{ int num=0;int n=0;printf"\n\t\t\t学生成绩管理系统\n\n";printf"\n\t\t\t①成绩录入\n\t\t\t②成绩查询\n\t\t\t③成绩统计\n\t\t\t④退出系统\n";printf"\t\t\tchoose:";scanf"%d",#switchnum{case 1:system"cls";input;break;case 2:system"cls";printf"\t\t②成绩查询\n\n"; printf"请输入要查询的学生号1~3:";scanf"%d",&n;selectn;break;case 3:system"cls";statistics;break;case 4:exit0;default:;}}void main{while1{system"cls"; /清屏/menu;}}。
c程序实验报告(学生成绩管理系统).doc

附件1:C语言综合实验题目学生成绩管理系统学院理学院专业电子信息科学与技术班级电信科1002姓名李珍2011 年06 月30 日目录目录 (2)一:需求分析 (3)二:总体分析 (3)1:进入界面 (3)2:选择界面 (3)3:创建函数(creat) (4)4:追加函数(add) (5)5:查询函数 (6)6:修改函数 (7)7:删除函数 (8)8:统计函数 (9)9:排序函数 (10)10:显示函数 (11)。
(11)三:详细设计 (11)1.进入界面 (11)2:选择界面 (12)3.创建学生的资料 (12)4.追加学生的资料 (13)5.查询学生的资料 (14)6,.修改学生资料 (14)7.删除学生资料 (15)8. 统计学生资料 (16)9对学生资料进行排序 (16)10.显示函数 (17)11.退出 (18)四:调试与测试 (18)4.1:调试 (18)4.2测试结果 (18)五:结论与心得体会 (18)六:附录 (18)6.1:程序源代码 (18)6.2:参考文献 (30)6.3:本科生《C语言综合实验》成绩评定表 (30)学生成绩管理系统一:需求分析学生成绩管理系统是学生熟悉的教学系统之一,系统以学生成绩的输入、输出、插入、删除、排序、统计等基本功能模块为基础,将结构体、链表、文件等主要知识点结合在一起,运用菜单、排序等一些常用算法,解决学生成绩管理的实际问题。
设计一个学生成绩管理系统,对上学期的本班的学习成绩进行管理,可以用数组或链表来设计这个程序,具有查询和检索功能,并且能够对指定文件操作,也可将多个文件组成一个文件。
1):每一条记录包括一个学生的学号、姓名、性别、各门课成绩(上学期的科目)、平均成绩。
2):创建功能:可以一次完成若干条记录的输入。
3):显示输出功能:完成全部学生记录的显示。
4):查找功能:完成按姓名或学号查找学生记录,并显示。
5):排序功能:按学生平均成绩进行排序。
c语言程序设计课程设计报告学生成绩管理系统

C语言程序设计课程设计报告设计题目:学生成绩管理系统学号班级姓名完成方式:(单选)自我评分:(单选)●独立完成●优秀○参考他人工作的基础上完成○良好○在他人的帮助下完成○中等○完整拷贝他人成果○及格○不及格2011年5月11日一、总体设计1.程序的总体设计程序总框架2. 数据结构结构体数组struct student /*定义结构体变量student*/{int num;char name[10];int gen;int ch,en,math,tot;};Struct student Stu[100];3. 函数原型声明的说明(功能,参数,返回值)1).输出不及格名单:void failsbj(int n,struct student stu[]) /*输出不及格的名单,只要有一科不及格即进入名单*/2).计算平均分void sumup(int *n,struct student (*stu)[]) /*计算每个人各科平均分的函数*/3).打印所有数据void display(int n,struct student stu[]) /*输出所有数据*/ 4).检索void search(int n,struct student stu[]) /*依照名字或者数字搜索条目*/5).排序void assort(int n,struct student (*stu)[]) /*排序模块*/ 6).增加条目void add(int *n,struct student (*stu)[]) /*加入条目模块*/ 7).删除条目void del(int *n,struct student (*stu)[]) /*删除条目模块*/ 8).编辑条目void edit(int *n,struct student (*stu)[]) /*编辑条目模块*/ 9).导出列表void save(int *n,struct student (*stu)[]) /*将结果另存为*/ 10).统计分析void anlz(int *n,struct student (*stu)[]) /*统计全班成绩,包括求出各分数段人数,各科班平均分*/ 4. 流程图二、详细设计1.主程序如上图。
c语言课程设计学生成绩管理系统报告

c语言课程设计学生成绩管理系统报告一、教学目标本课程旨在通过C语言编程实现一个学生成绩管理系统,让学生掌握C语言的基本语法、数据结构、函数、文件操作等知识,培养学生编写程序解决实际问题的能力。
具体目标如下:1.知识目标:(1)掌握C语言的基本语法和编程技巧;(2)了解数据结构的基本概念,学会使用数组、链表等数据结构;(3)熟悉函数的定义和调用,掌握函数的参数传递和返回值;(4)掌握文件操作,了解文件读写的原理和方法。
2.技能目标:(1)能够独立编写C语言程序,解决实际问题;(2)具备良好的编程习惯,代码结构清晰、可读性强;(3)掌握调试和优化程序的方法,提高程序的运行效率;(4)学会使用版本控制系统,如Git,进行代码管理和协作开发。
3.情感态度价值观目标:(1)培养学生的编程兴趣,激发学习C语言的积极性;(2)培养学生团队协作精神,提高沟通与协作能力;(3)培养学生的问题解决能力,培养创新意识和持续学习的态度;(4)培养学生具有良好的职业道德,遵守编程规范,尊重他人代码。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、函数、文件操作等。
具体安排如下:1.C语言基本语法:介绍C语言的数据类型、运算符、表达式、控制语句等基本概念;2.数据结构:讲解数组、链表、栈和队列等数据结构的基本原理和应用;3.函数:讲解函数的定义、声明、调用,以及函数的参数传递和返回值;4.文件操作:介绍文件的概念、文件读写的方法和技巧。
三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法相结合,以激发学生的学习兴趣和主动性。
具体方法如下:1.讲授法:通过讲解C语言的基本语法、数据结构、函数和文件操作等知识,使学生掌握课程的基本概念和编程技巧;2.案例分析法:分析实际编程案例,让学生学会将理论知识应用于实际问题解决;3.实验法:安排上机实验,让学生动手编写程序,培养实际编程能力;4.小组讨论法:学生进行小组讨论,培养团队协作和沟通能力。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C++程序设计》课程设计报告设计题目:学生成绩管理系统目录一、设计任务与要求 (3)1.设计内容 (3)2.课程设计的要求 (3)二、系统分析(需求分析) (3)1.需求分析 (3)2.系统性能要求 (3)3.系统的功能分析 (3)4.系统功能模块 (3)5.模块框架图 (3)三、系统设计与实现 (4)1.界面设计 (4)2.功能设计与实现 (4)四、运行显示 (4)五、总结 (11)六、参考资料 (11)附录:源程序 (11)一、设计任务与要求1.目的:通过一个实际的系统开发,提高学生应用所学知识分析问题,解决问题和实际动手的能力,更加熟练的掌握C++程序开发的基本方法和基本步骤,对系统开发时间又进一步体会。
从而综合复习《C++程序设计语言》的所有知识点,进一步熟练面向对象程序的开发方法和流程,提高学生独立分析问题和解决问题的能力。
真正理解书本知识,牢固掌握课堂教学内容。
为毕业设计及毕业后从事专业技术工作打下基础,提高学生全面素质。
2.课程设计的要求:(1)要求用VC++语言来实现一个简单的学生数据管理系统,该系统完成后基本上要能够无错运行,能达到学生成绩管理系统的基本要求。
(2)各个功能分别是用函数来完成,函数存放在一个.cpp文件中。
(3)准备系统运行的模拟数据不得少于十条。
(4)成绩管理系统至少具有以下功能:1)输入:学生的基本信息,包括学号、姓名、性别、籍贯、VC++成绩、英语成绩、物理成绩等;2)计算:每个学生的总成绩、平均成绩所有学生单科的平均成绩,找出总成绩和单科成绩最高的学生并输出;3)查询:可以按学好姓名等进行查询;4)排序:可以按学号、姓名、VC++成绩、英语成绩、物理成绩、总成绩、平均成绩等进行排序并输出;5)删除:删除某条记录;6)帮助和关于;7)退出:推出整个系统的运行。
8)一些时间富裕的学生可以增加更多的菜单项,比如设置颜色、字体风格等。
二、系统分析(需求分析)1.需求分析:a.能对学生各科成绩进行录入。
b.能显示各科成绩平均分。
c.能显示总成绩和单科分最高的同学。
d.能对删除学生信息。
e.能对学生的成绩按姓名、学号进行查询。
f.能按学号和成绩排序。
g.能显示所有学生信息。
2.系统性能要求:a.系统安全、可靠;b.功能齐全;c.操作方便、界面友好;d易于维护和扩充。
3.系统的功能分析:资料维护:系统维护包括对学生信息的录入操作及数据表中的信息进行浏览。
系统功能:可以对数据表中的信息进行浏览。
系统查询:可以对学生的信息进行查询。
4.系统功能模块学生成绩查询系统有:成绩录入、删除,数据查询,排序显示构成。
5.模块框架图三、系统设计与实现1.界面设计程序运行后会出现一个简捷的窗口,便于用户查询数据。
2.功能设计与实现通过主窗体调用其他窗体,具体实现可以参照系统分析相关内容。
应用系统主控界面包括记录编辑和记录查询等功能模块。
记录编辑功能完成学生成绩记录编辑和记录查询功能。
记录查询功能可以对数据各分类的记录进行查询。
四、运行显示1.初始页界面:2.输入学生信息界面:“请按照提示输入学生信息……”是帮助和关于,其他同学的信息如该截图依照提示录入即可。
录入完毕显示界面为:3.显示总成绩和各单科分最高的同学的界面为:4、删除学生的信息界面为:5.按姓名查询:6.按学号查询:7.排序分系统:1)姓名排序:2)学号排序:3)VC++成绩排序:其他排序法与以上一样,此处不再一一显示。
8. 显示所有学生信息:9. 保存文件:10退出系统:.此外,界面的颜色与文字的颜色,也是可以改变的。
system("color 97"); //设置背景和字体颜色 F是背景颜色的设置值 0是字体颜色的设置值(程序第764行)改变9和7的值即改变颜色。
五、总结此次c++课程设计,在指导教师的精心教导下,我们学会了如何用C++编写一个简单的应用程序。
首先要对程序的设计要求有一个比较明确的认识,然后系统分析与系统设计,最后是代码设计与调试。
程序实现上,设计了简单的查询界面,将各个功能集中出来按照程序编写原则,便于查询。
根据C++课程所学的概念、理论和方法,按照C++程序设计的基本步骤,设计出一个适当规模的程序;进一步加深对C++语言的理解和掌握。
理论联系实际,加深和巩固所学的理论知识,提高实践能力和计算机的综合运用能力。
我们编写程序的过程是辛苦与快乐的,程序的编写原则很重要,只要我们在编程,就必须不断改进,才能更好提高编程能力。
六、参考资料C++程序设计谭浩强清华大学出版社附录:源程序#include<stdlib.h>#include<conio.h>#include<iostream>#include<string>#include<fstream>#include<iomanip>using namespace std;class student{private:char name[20]; //姓名char sex[8]; //性别char native[8]; //籍贯double cpro;double english;double physical;double allscore;double average; //课程int order; //名次int number; //学号public:student(){}student(char* n,int nu,char* sex,char* native,double cc,double eng,double phy,double as,double av){strcpy(this->name,n);this->number=nu;strcpy(this->native,native);strcpy(this->sex,sex);this->cpro=cc;this->english=eng;this->physical=phy;this->allscore=as;this->average=av;}double getcpro(){return this->cpro;}double getenglish(){return this->english;}double getphysical(){return this->physical;}double getalls(){return this->allscore;}double getAverage(){return this->average;}char* getname(){return this->name;}int getnumber(){return this->number;}friend void ShowHightsrcore();friend void ShowStuInfo();friend void QueryByNumber();friend void QueryByName();friend void SaveFlie();friend void InputStudentInfo();};student s[50]; //指针对象,最多存50个学生数据int index = 0;void ShowMenu(){cout<<"******************************************"<<endl;cout<<"**** 学生成绩管理系统****"<<endl;cout<<"******************************************"<<endl;cout<<" 0、输入学生信息"<<endl;cout<<" 1、显示各单科成绩平均分"<<endl;cout<<" 2、显示总成绩和各单科分最高的同学"<<endl;cout<<" 3、删除学生的信息"<<endl;cout<<" 4、按姓名查询"<<endl;cout<<" 5、按学号查询"<<endl;cout<<" 6、排序分系统"<<endl;cout<<" 7、显示所有学生信息"<<endl;cout<<" 8、保存文件"<<endl;cout<<" 9、退出系统"<<endl;cout<<"********************************************"<<endl;cout<<" 选择0-9数字进行操作"<<endl;cout<<"********************************************"<<endl; }void InputStudentInfo(){char getkey = 0; //是否录入的选择标记char name[20] = {0}; //姓名临时中间变量int number=0; //学号char sex[8]={0}; //性别char native[8]={0}; //籍贯double cpro = 0; //c语言成绩double english = 0; //英语成绩double physical = 0; //物理成绩double allscore = 0; //总成绩double average = 0; //平均成绩int core = 0; //名次cout<<"请按照提示输入学生信息.. .. .."<<endl;do{cout<<endl<<"学号:";cin>>number;bool IsOk;do{bool IsOk = true;for(int n=0;n<index;n++){if(number==s[n].number){cout<<"输入的学号重复,请重新输入:"<<endl;cin>>number;IsOk = false;break;}}}while(!IsOk);cout<<endl<<"姓名:";cin>>name;cout<<endl<<"性别:";cin>>sex;cout<<endl<<"籍贯:";cin>>native;cout<<endl<<"C++成绩:";cin>>cpro;cout<<endl<<"英语成绩:";cin>>english;cout<<endl<<"物理成绩:";cin>>physical;cout<<endl;allscore=cpro + english + physical;//计算该生的总成绩cout<<" 总成绩:"<<allscore<<endl; //显示该生总成绩average= allscore / 3; //技术该生平均成绩总成绩/科目数cout<<" 平均成绩:"<<average<<endl;//显示该生平均成绩s[index]= student(name, number,sex,native,cpro,english,physical,allscore,average);cout<<" 数据输入成功,想继续输入吗?( y继续/ 任意键退出录入):";cin>>getkey;index++;}while( getkey == 'y' || getkey == 'Y' );cout<<"学生数据录入完毕,键入任意键返回主菜单。