急求C++编程题解答:学生成绩管理

来源:百度知道 编辑:UC知道 时间:2024/06/07 15:51:19
从键盘输入一个班(全班30人)学生的学号、姓名、三门课(语文、数学、英语)的成绩,分别统计下列内容:
(1)统计每个学生的总分和平均分;
(2)按总分由大到小排出名次;
(3)打印出成绩在全班平均分以上的学生名单和数据信息。
(4)任意输入一个学号,能够查找出该学生在班级中的排名及其考试成绩。
(5)各个功能要求分别用独立的函数来实现,在主函数中通过简单的菜单选择来实现各个功能。
要求使用结构体数组来存储和处理学生信息,结构体主要包括:学号、姓名、班级、三门课成绩、总分、平均分、名次等成员。

由于时间比较紧,故程序不是很完善,有问题直问,一起研究即可。。。由于程序比较简单我就不加注释了。。。以下代码在vc++ 6.0下编译通过。
呵~~~
#include <iostream.h>
#include <string.h>
#define MAX 31
typedef struct link{
char no[20];
char name[20];
char bj[20];
float cjyw;//语文
float cjshx;//数学
float cjyy;//英语
float sum;//总分
int mc;//名次
}node;

node student[MAX+1];
void inputinf()
{ char bj1[20];
cout<<"请输入您要输入学生的班级号:\n";
cin>>bj1;
cout<<"请依次输入该班"<<MAX<<"名学生的信息\n";
for(int i=1;i<=MAX;i++)
{
reprint:
cout<<"请输入第"<<i<<"名学生的学号\n";
char j[20];
cin>>j;//student[i].no;
for(int k=1;k<=i-1;k++)
if(!strcmp(student[k].no,j))
{
cout<<"您输入了学号已存在,请重新输入:\n";
goto reprint;
}
strcpy(student[