VJ 나디아

" 성적 프로그램 "에 해당되는 글 1건

  1. [C] 전교 성적 프로그램

[C] 전교 성적 프로그램


//3.분포 초등학교 전교 3학급의 학생의 성적을 입력 받아 총점,
//평균을 구하고 석차를 구한다음 각학급의 전교에서 등급을 구하고
//그 등급의 일등과 꼴지 학급을 선정하는 프로그램
#include<iostream.h>
void main()
{
 int num[3];
 int sungjuk[3][50][7]={0,};//반,학생수,데이터
 int ban_grade[3][3]={0,};//반,반총합,반등급
 for(int ban=0;ban<3;ban++)
 {
  ban_grade[ban][0]=ban+1;//반번호 넣음
  cout<<"분포 초등학교 1학년"<<ban+1<<"반 학생수는 ? (최대 50명)";
  cin>>num[ban];
  char subject[3][6]={"산수 ","국어 ","과학 "};
  
  //성적입력
  for(int a=0;a<num[ban];a++)
  {
   sungjuk[ban][a][5]=a+1;//개인번호 넣음
   cout<<a+1<<"번째 학생"<<endl;
   for(int b=0;b<3;b++)
   {
    cout<<subject[b];
    cin>>sungjuk[ban][a][b];
   }
  }
  
  //총합과 평균
  for(int c=0;c<num[ban];c++)
  {
   for(int d=0;d<3;d++)
   {
    sungjuk[ban][c][3]+=sungjuk[ban][c][d];//개인총합

   }
   sungjuk[ban][c][4]=sungjuk[ban][c][3]/3;//개인평균
   ban_grade[ban][1]+=sungjuk[ban][c][3];//반총합
  }


  //석차대로 정렬
  int temp[7];
  for(int e=0;e<num[ban];e++)
  {
   for(int f=e;f<num[ban];f++)
   {
    if(sungjuk[ban][f][3]>sungjuk[ban][e][3])
    {
     for(int g=0;g<7;g++)
     {
      temp[g]=sungjuk[ban][e][g];
      sungjuk[ban][e][g]=sungjuk[ban][f][g];
      sungjuk[ban][f][g]=temp[g];
     }
    }
   }
   sungjuk[ban][e][6]=e+1; //석차 넣음
  }


  //번호대로 정렬
  int temp2[7];
  for(int h=0;h<num[ban];h++)
  {
   for(int i=h;i<num[ban];i++)
   {
    if(sungjuk[ban][h][5]>sungjuk[ban][i][5])
    {
     for(int j=0;j<7;j++)
     {
      temp2[j]=sungjuk[ban][h][j];
      sungjuk[ban][h][j]=sungjuk[ban][i][j];
      sungjuk[ban][i][j]=temp2[j];
     }
    }
   }
  }
 }
 for(ban=0;ban<3;ban++)
 {
  //반등급대로 정렬
  int ban_temp[3];
  for(int ban_f=ban;ban_f<3;ban_f++)
  {
   if(ban_grade[ban_f][1]/num[ban]>ban_grade[ban][1]/num[ban])
   {
    for(int ban_g=0;ban_g<3;ban_g++)
    {
     ban_temp[ban_g]=ban_grade[ban][ban_g];
     ban_grade[ban][ban_g]=ban_grade[ban_f][ban_g];
     ban_grade[ban_f][ban_g]=ban_temp[ban_g];
    }
   }
   ban_grade[ban][2]=ban+1; //등급 넣음
  }
 }
 for(ban=0;ban<3;ban++)
 {
  //반번호대로 정렬
  int ban_temp2[3];
  for(int ban_i=ban;ban_i<3;ban_i++)
  {
   if(ban_grade[ban_i][0]>ban_grade[ban][0])
   {
    for(int ban_j=0;ban_j<3;ban_j++)
    {
     ban_temp2[ban_j]=ban_grade[ban][ban_j];
     ban_grade[ban][ban_j]=ban_grade[ban_i][ban_j];
     ban_grade[ban_i][ban_j]=ban_temp2[ban_j];
    }
   }
  }
 }
 
 cout<<endl<<"번호 산수 국어 과학 총점 평균 석차"<<endl;
 for(ban=0;ban<3;ban++)
 {
  cout<<"<"<<ban+1<<"반>"<<endl;
  for(int k=0;k<num[ban];k++)
  {
   cout<<sungjuk[ban][k][5]<<"번 ";

   for(int l=0;l<5;l++)
   {
    cout<<sungjuk[ban][k][l]<<" ";
   }

   cout<<sungjuk[ban][k][6]<<"등"<<endl;
  }
  cout<<"반평균 "<<ban_grade[ban][1]/num[ban]<<"점 반등급 "<<ban_grade[ban][2]<<"등급"<<endl;
 }


}


2009/03/14 10:16 2009/03/14 10:16
top

Leave a comment..