⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 student.cpp

📁 对学生成绩进行管理,输入学生成绩,进行排名保存,进行查询,输入学号,输出学生成绩情况
💻 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 + -