📄 student.cpp
字号:
#include<iostream>
#define M 100
using namespace std;
struct student
{
double score[4],av[4],total,avt;
char name[20];
int num,n,x;
}stu[M],s;
void average(int n)
{
int i,j;
for(j=0;j<4;j++)
{ for(i=0;i<n;i++){s.av[j]+=stu[i].score[j];}
s.av[j]=s.av[j]/n; }
for(i=0;i<n;i++)
{for(j=0;j<4;j++)
stu[i].total+=stu[i].score[j];stu[i].avt=stu[i].total/4;}
}
void paixu(int n)//按个人平均从大到小排列排名
{ int i,j,max,t;
for(i=0;i<n;i++)
{ max=i;
for(j=i+1;j<n;j++)
{ if(stu[i].avt<=stu[j].avt)
max=j;
t=stu[i].x;
stu[i].x=stu[max].x;
stu[max].x=t; }
}
}
void find(int n)
{ int m,i,j;
cout<<"输入要查找的学生学号:";
cin>>m;
for(i=0;i<n;i++){
if(m=stu[i].num)
cout<<"学号"<<stu[i].num<<endl<<"姓名"<<stu[i].name<<endl;
cout<<"英语\t"<<"模电\t"<<"信号\t"<<"信息论"<<endl;
for(j=0;j<4;j++){cout<<stu[i].score[j]<<"\t";}
cout<<"平均分"<<stu[i].avt;
}
}
void xiugai(int n)
{ int m,i,j;
cout<<"输入要修改的学生学号:";
cin>>m;
for(i=0;i<n;i++){
if(m=stu[i].num) cout<<"重新输入:"<<endl;
cout<<"学号";cin>>stu[i].num;
outer1: cout<<"学号";cin>>stu[i].num;
for(j=0;j<n;j++){
if(stu[i].num==stu[j].num)
{cout<<"该学号已经存在请重输:"<<endl;stu[i].num=NULL;goto outer1;}}
cout<<"姓名";cin>>stu[i].name;
cout<<"输入成绩:(英语,模电,信号,信息论)"<<endl;
outer2: for(j=0;j<4;j++){cin>>stu[i].score[j];}
for(j=0;j<4;j++){
if(stu[i].score[j]<0||stu[i].score[j]>100){
cout<<" 你输入的成绩不在0~100要求范围之内!请再次输入:"<<endl;
stu[i].score[j]=NULL;
goto outer2;}}
}
}
void main()
{
int n,i,j;
cout<<"输入学生个数:";cin>>n;
for(i=0;i<n;i++)
{
cout<<"输入第"<<i+1<<"学生成绩"<<endl;
stu[i].x=i+1;
outer1: cout<<"学号";cin>>stu[i].num;
for(j=0;j<i;j++){
if(stu[i].num==stu[j].num)
{cout<<"该学号已经存在请重输:"<<endl;stu[i].num=NULL;goto outer1;}}
cout<<"姓名";cin>>stu[i].name;
cout<<"输入成绩:(英语,模电,信号,信息论)"<<endl;
outer2: for(j=0;j<4;j++){
cin>>stu[i].score[j];}
for(j=0;j<4;j++){
if(stu[i].score[j]<0||stu[i].score[j]>100){
cout<<" 你输入的成绩不在0~100要求范围之内!请再次输入:"<<endl;
stu[i].score[j]=NULL;
goto outer2;}}
}
average(n);
cout<<endl<<"统计结果如下:"<<endl;
cout<<"学号\t"<<"姓名\t"<<"英语\t"<<"模电\t"<<"信号\t"<<"信息论\t"<<"平均分\t"<<"名次"<<endl;
for(i=0;i<n;i++)
{
cout<<stu[i].num<<"\t"<<stu[i].name<<"\t";
for(j=0;j<4;j++)
{ cout<<stu[i].score[j]<<"\t";}
cout<<stu[i].avt<<"\t"<<stu[i].x;
cout<<endl;
}
cout<<"单科平均成绩:"<<endl;
cout<<"英语\t"<<"模电\t"<<"信号\t"<<"信息论"<<endl;
for(j=0;j<4;j++)
{cout<<s.av[j]<<"\t";}
cout<<endl;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -