#include <iostream>
#include <string>
using namespace std;

class student
{public:
 string name;
 int  num;

 float YuWen; //语文
 float ShuXue; //数学
 float English; //英语
 float WuLi; //物理
 float HuaXue; //化学

 float sum; //总分
 float average; //平均成绩

};
void Srgkcj(student stu[10]);    //函数声明
void Qmpzcj(student stu[10]);
void Qmkpjz(student stu[10]);



float sum_YuWen=0;     //初始所有同学总分为零
 float sum_ShuXue=0;
 float sum_English=0;
 float sum_WuLi=0;
 float sum_HuaXue=0;

 float average_YuWen;//初始所有学生的单门科目平均分为零
 float average_ShuXue;
 float average_English;
 float average_WuLi;
 float average_HuaXue;

int main()  //主函数
{
 int a;
 student stu[10];

 while (1)
 {
     cout<<"录入每名学生的各科成绩->请按1"<<endl;
     cout<<"求出每名学生的平均成绩和总分->请按2"<<endl;
     cout<<"求每门课程的平均分、及格率、最高成绩和最低成绩->请按3"<<endl;
     cout<<"输出总成绩前5名的学生学号、各科成绩和总分->请按4"<<endl;
     cout<<"输出各科补考学生的学号和成绩->请按5"<<endl;
     while (1)
     {
         cin>>a;
         if(a>=1&&a<=5)break;
         else cout<<endl<<"请选择1-4"<<endl;
     }
     switch (a)
     {
         case 1:Srgkcj(&stu[10]);break ;
         case 2:Qmpzcj(&stu[10]);break ;
         case 3:Qmkpjz(&stu[10]);break ;
   
     }

 }
 return 0;
}
void Srgkcj(student stu[10])   //输入每名学生各科成绩
 {
  int i;
 for(i=0;i<10;i++)
 {
  cout<<"请输入第 %d 个学生的编号:"<<endl;
  cin>>stu[i].num;
  cout<<"请输入该学生的姓名:"<<endl;
  cin>>stu[i].name;
  cout<<"请输入该学生的语文成绩:"<<endl;
  cin>>stu[i].YuWen;
  cout<<"请输入该学生的数学成绩:"<<endl;
  cin>>stu[i].ShuXue;
  cout<<"请输入该学生的英语成绩:"<<endl;
  cin>>stu[i].English;
  cout<<"请输入该学生的物理成绩:"<<endl;
  cin>>stu[i].WuLi;
  cout<<"请输入该学生的化学成绩:"<<endl;
  cin>>stu[i].HuaXue;
 }
 }
 void Qmpzcj(student stu[10])  //求出每名学生的平均成绩和总分
{
   int i;
   for(i=0;i<10;i++)
   {stu[i].sum=stu[i].WuLi+stu[i].ShuXue+stu[i].English+stu[i].WuLi+stu[i].HuaXue;
   stu[i].average=stu[i].sum/5;
   }
   for (i=0;i<10;i++)
   {cout<<stu[i].name<<"总成绩为 :"<<stu[i].sum<<" ";
    cout<<"平均成绩为 :"<<stu[i].average<<endl;
   }
}
void Qmkpjz(student stu[10])    //求每门课程的平均分、及格率、最高成绩和最低成绩
{int i,j;
int m=0;
float n;
 for(j=0;j<10;j++) sum_YuWen=sum_YuWen+stu[j].YuWen;
  average_YuWen=sum_YuWen/10;
 for(j=0;j<10;j++) sum_ShuXue=sum_ShuXue+stu[j].ShuXue;
  average_ShuXue=sum_ShuXue/10;
 for(j=0;j<10;j++) sum_English=sum_English+stu[j].English;
  average_English=sum_English/10;
 for(j=0;j<10;j++) sum_WuLi=sum_WuLi+stu[j].WuLi;
  average_WuLi=sum_WuLi/10;
 for(j=0;j<10;j++) sum_HuaXue=sum_HuaXue+stu[j].HuaXue;
  average_HuaXue=sum_HuaXue/10;
 cout<<"全班语文平均分为:"<<average_YuWen<<endl;
 cout<<"全班数学平均分为:"<<average_ShuXue<<endl;
 cout<<"全班英语平均分为:"<<average_English<<endl;
 cout<<"全班物理平均分为:"<<average_WuLi<<endl;
 cout<<"全班化学平均分为:"<<average_HuaXue<<endl;
 for(i=0;i<10;i++)            //语文及格率
 if(stu[i].YuWen>=60) m=m+1;
 n=m/10;
 cout<<"语文及格率为:"<<n<<endl;
 for(i=0;i<10;i++)            //数学及格率
 if(stu[i].YuWen>=60) m=m+1;
 n=m/10;
 cout<<"数学及格率为:"<<n<<endl;

 for(i=0;i<10;i++)            //英语及格率
 if(stu[i].YuWen>=60) m=m+1;
 n=m/10;
 cout<<"英语及格率为:"<<n<<endl;

 for(i=0;i<10;i++)            //物理及格率
 if (stu[i].YuWen>=60) m=m+1;
 n=m/10;
 cout<<"物理及格率为:"<<n<<endl;

 for(i=0;i<10;i++)            //化学及格率
 if(stu[i].YuWen>=60) m=m+1;
 n=m/10;
 cout<<"化学及格率为:"<<n<<endl;
}