共有回帖数  0  个 
	 
	
	
	
     
          
          
               
				
			 
				
					 
 
            
				   - 
						
						
							 
									最新学生成绩管理系统
printf("ttinput changed name subject or markn"); 
   scanf("%s%s%d",name,xueke,&cj); 
   for(i=0;iSIZE;i++) 
    {if(strcmp(name,stud.name)==0) 
     { 
      if(strcmp(xueke,sub[0])==0) stud.mat=cj;break; 
      if(strcmp(xueke,sub[1])==0) stud.eng=cj;break; 
      if(strcmp(xueke,sub[2])==0) stud.cha=cj;break; 
      if(strcmp(xueke,sub[3])==0) stud.phy=cj;break; 
      if(strcmp(xueke,sub[4])==0) stud.com=cj;break; 
      };break; 
     } 
   save(); 
 } 
void  sum_ave(  )                                                                 /*求每个人的总成绩或平均成绩*/ 
 { 
   int i, a[SIZE][2]={0} ; 
   for(i=0;iSIZE;i++) 
     {  
        a[0]=stud.mat+stud.eng+stud.cha+stud.phy+stud.com;  
        a[1]=a[0]/5; 
      } 
      printf("everyone  sumn"); 
       printf("num  tname  tsumscore  tavescoren"); 
       for(i=0;iSIZE;i++) 
       printf("%d  t%s  t%d  tt%dn",stud.num,stud.name,a[0],a[1]); 
 } 
 rank( ) 
                                                                                       /*按学科总成绩或平均成绩排名*/ 
{   
   int i,j,t, x,d ,m,n,o,y,q,r,c,z,a[SIZE][2]={0},b[SIZE+1]; 
   char mingzi[10],xingbie[2]; 
   for(i=0;iSIZE;i++) 
     { a[0]=stud.mat+stud.eng+stud.cha+stud.phy+stud.com;  
        a[1]=a[0]/5; 
     } 
    for(i=0;iSIZE+1;i++) 
      b=i; 
    printf("nt input rank use sum or avenn"); 
    printf("tt 1----sumntt 2---aventtreturn-- 0nn"); 
    printf("nt*please input your choice:"); 
    scanf("%d",&c); 
   switch© 
   { 
    case 0: break; 
    case 1:               /*按总成绩排名*/ 
    {  
    for(j=0;jSIZE-1;j++) 
      for(i=0;iSIZE-1-j;i++) 
       { 
         if(a[0]a[i+1][0]) 
         { 
           strcpy(mingzi,stud.name);   strcpy(stud.name,stud[i+1].name);   strcpy(stud[i+1].name,mingzi); 
           x=stud.num;            stud.num=stud[i+1].num;             stud[i+1].num=x; 
           t=stud.class;          stud.class=stud[i+1].class;      stud[i+1].class=t; 
           strcpy(xingbie,stud.sex);strcpy(stud.sex,stud[i+1].sex); strcpy(stud[i+1].sex,xingbie); 
           m=stud.mat;            stud.mat=stud[i+1].mat;          stud[i+1].mat=m; 
           n=stud.eng;            stud.eng=stud[i+1].eng;          stud[i+1].eng=n; 
           o=stud.cha;            stud.cha=stud[i+1].cha;          stud[i+1].cha=o; 
           d=stud.phy;            stud.phy=stud[i+1].phy;          stud[i+1].phy=d; 
           q=stud.com;            stud.com=stud[i+1].com;          stud[i+1].com=q; 
           y=a[0];                a[0]=a[i+1][0];                  a[i+1][0]=y; 
           z=a[1];                a[1]=a[i+1][1];                  a[i+1][1]=z; 
          } 
        } 
      printf("rank use sumn"); 
     printf("name  tnumtmattengtchatphytcomtsumtavetmingci  n");  
      for(i=0;iSIZE;i++) 
      printf("%s  t%d  t%dt%dt%dt%dt%dt%dt%dt%d n",stud.name,stud.num,stud.mat,stud.eng,stud.cha,stud.phy,stud.com,a[0],a[1],b[i+1]); 
};break; 
   case 2 :       /*按平均成绩排名*/ 
    { 
      for(j=0;jSIZE-1;j++) 
      for(i=0;iSIZE-1-j;i++) 
       { 
         if(a[1]a[i+1][1]) 
         { 
           strcpy(mingzi,stud.name);   strcpy(stud.name,stud[i+1].name);   strcpy(stud[i+1].name,mingzi); 
           x=stud.num;            stud.num=stud[i+1].num;             stud[i+1].num=x; 
           t=stud.class;          stud.class=stud[i+1].class;      stud[i+1].class=t; 
           strcpy(xingbie,stud.sex);strcpy(stud.sex,stud[i+1].sex); strcpy(stud[i+1].sex,xingbie); 
           m=stud.mat;            stud.mat=stud[i+1].mat;          stud[i+1].mat=m; 
           n=stud.eng;            stud.eng=stud[i+1].eng;          stud[i+1].eng=n; 
           o=stud.cha;            stud.cha=stud[i+1].cha;          stud[i+1].cha=o; 
           d=stud.phy;            stud.phy=stud[i+1].phy;          stud[i+1].phy=d; 
           q=stud.com;            stud.com=stud[i+1].com;          stud[i+1].com=q; 
           y=a[0];                a[0]=a[i+1][0];                a[i+1][0]=y; 
           z=a[1];                a[1]=a[i+1][1];                a[i+1][1]=z; 
         } 
        } 
      printf("rank use aven"); 
       printf("name  tnumtmattengtchatphytcomtsumtavetmingci  n");  
      for(i=0;iSIZE;i++) 
      printf("%s  t%d  t%dt%dt%dt%dt%dt%dt%dt%d n",stud.name,stud.num,stud.mat,stud.eng,stud.cha,stud.phy,stud.com,a[0],a[1],b[i+1]); 
   };break; 
            
default :printf (" Please input the right choice!n"); 
  } 
} 
void  high_or_low( )                                                              /*求出每个学科的最高分或最低分*/ 
  { 
     int  m , i ,max,min ,sum=0;float avm[5]; 
     char mingzi[10]; 
     printf("ntttinput num of high or lownn"); 
     printf("t*t 1---matnt*t 2---eng nt*t 3---chant*t 4---phynt*t 5---comnt*t 0---back  n"); 
      scanf("%d",&m); 
    switch(m) 
    { 
     case 0 : break; 
     case 1 : 
       {    
         strcpy(mingzi,stud[0].name); max=stud[0].mat;min=stud[0].mat; 
         for(i=0;iSIZE;i++) 
            { 
              if(maxstud.mat) {strcpy(mingzi,stud.name); max=stud.mat;} 
              if(minstud.mat) {strcpy(mingzi,stud.name); min=stud.mat;} 
              sum=sum+stud.mat; 
             } 
        avm[0]=sum/SIZE; 
      printf("mat   high_or_low_aven"); 
      printf("name  tmax  tmin  tsub_avm  n"); 
      printf("%s  t%d  t%d  t%f n", mingzi,max,min,avm[0]); 
       };break; 
    case 2  : 
     {    
         strcpy(mingzi,stud[0].name); max =stud[0].eng;min=stud[0].eng; 
         for(i=0;iSIZE;i++) 
            { 
              if(maxstud.eng) {strcpy(mingzi,stud.name); max=stud.eng;} 
              if(minstud.eng) {strcpy(mingzi,stud.name); min=stud.eng;} 
              sum=sum+stud.eng; 
             } 
        avm[1]=sum/SIZE; 
      printf("eng   high_or_low_aven"); 
      printf("name  tmax  tmin  tsub_avm  n"); 
printf("%s t%d t%d  t%f n", mingzi,max,min,avm[1]); 
     };break; 
    case 3  : 
     {    
         strcpy(mingzi,stud[0].name); max =stud[0].cha;min=stud[0].cha; 
         for(i=0;iSIZE;i++) 
            { 
              if(maxstud.cha) {strcpy(mingzi,stud.name); max=stud.cha;} 
              if(minstud.cha) {strcpy(mingzi,stud.name); min=stud.cha;} 
              sum=sum+stud.cha; 
             } 
        avm[2]=sum/SIZE; 
     printf("cha   high_or_low_aven"); 
      printf("name  tmax  tmin  tsub_avm  n"); 
      printf("%s  t%d t%d  t%f n", mingzi,max,min,avm[2]); 
     };break; 
        
   case 4 : 
     {    
         strcpy(mingzi,stud[0].name); max =stud[0].phy;min=stud[0].phy; 
         for(i=0;iSIZE;i++) 
            { 
              if(maxstud.phy) {strcpy(mingzi,stud.name); max=stud.phy;} 
              if(minstud.phy) {strcpy(mingzi,stud.name); min=stud.phy;} 
              sum=sum+stud.phy; 
             } 
        avm[3]=sum/SIZE; 
      printf("phy   high_or_low_ave"); 
      printf("name  tmax  tmin  tsub_avm  n"); 
      printf("%s t%d  t%d  t%f n", mingzi,max,min,avm[3]); 
     };break; 
   case 5 : 
     {  
         strcpy(mingzi,stud[0].name); max =stud[0].com;min=stud[0].com; 
         for(i=0;iSIZE;i++) 
            { 
              if(maxstud.com) {strcpy(mingzi,stud.name); max=stud.com;} 
              if(minstud.com) {strcpy(mingzi,stud.name); min=stud.com;} 
              sum=sum+stud.com; 
             } 
        avm[4]=sum/SIZE; 
     printf("com   high_or_low_ave"); 
      printf("name  tmax  tmin  tsub_avm  n"); 
      printf("%s  t%d  t%d  t%f n", mingzi,max,min,avm[4]); 
      };break; 
   default :printf (" Please input the right choice!n"); 
  } 
 } 
void rank_ave()                                                                                         /* 按照学科平均成绩排名*/              
 { 
   int i,j,b[N+1],sum[5]={0}; char xueke[3];float a[5],t; 
    char *sub[]={"mat","eng","cha","phy","com"}; 
    for(i=0;iSIZE;i++) 
       sum[0]=sum[0]+stud.mat;  
       a[0]=sum[0]/SIZE; 
    for(i=0;iSIZE;i++) 
       sum[1]=sum[1]+stud.eng;  
       a[1]=sum[1]/SIZE; 
    for(i=0;iSIZE;i++) 
       sum[2]=sum[2]+stud.cha;  
       a[2]=sum[2]/SIZE; 
    for(i=0;iSIZE;i++) 
       sum[3]=sum[3]+stud.cha;  
       a[3]=sum[3]/SIZE; 
    for(i=0;iSIZE;i++) 
       sum[4]=sum[4]+stud.com;  
       a[4]=sum[4]/SIZE; 
    for(i=0;iN+1;i++) 
      b=i; 
    for(i=0;iN-1;i++)     
      for(j=0;jN-1-j;j++) 
        { 
          if(a[j]a[j+1]) 
           { 
            t=a[j];a[j]=a[j+1];a[j+1]=t; 
            strcpy(xueke,sub[j]);strcpy(sub[j],sub[j+1]);strcpy(sub[j+1],xueke); 
           } 
         } 
     printf("rank   sub_ave  n"); 
     printf("sub_name  tsub_ave  tmingcin");   
     for(i=0;iN;i++) 
       printf("%s  tt%f   t%d n",sub,a,b[i+1]); 
          
  } 
 void count ()                                                                                        /*统计各分数段的人数及其比例*/ 
 {  
    int m,i,t,a[11]={0}; 
    printf("nntttninput the num of fenshuduan nn");   
    printf("t*t 1-- matnt*t 2-eng nt*t 3-- chant*t 4-- phynt*t 5-- comnt*ttback 0 n");
      scanf("%d",&m); 
    switch(m) 
    {  
     case 0 : break; 
     case 1 : 
       { 
         for(i=0;iSIZE;i++) 
         { t= stud.mat/10; a[t]++;} 
            printf("t......0-9:    %-3dt %.1fn",a[0],(float)a[0]/SIZE); 
    printf("t....10-19:    %-3dt %.1fn",a[1],(float)a[1]/SIZE); 
    printf("t....20-29:    %-3dt %.1fn",a[2],(float)a[2]/SIZE); 
    printf("t....30-39:    %-3dt %.1fn",a[3],(float)a[3]/SIZE); 
    printf("t....40-49:    %-3dt %.1fn",a[4],(float)a[4]/SIZE); 
    printf("t....50-59:    %-3dt %.1fn",a[5],(float)a[5]/SIZE); 
    printf("t....60-69:    %-3dt %.1fn",a[6],(float)a[6]/SIZE); 
    printf("t....70-79:    %-3dt %.1fn",a[7],(float)a[7]/SIZE); 
    printf("t....80-89:    %-3dt %.1fn",a[8],(float)a[8]/SIZE); 
    printf("t....90-99:    %-3dt %.1fn",a[9],(float)a[9]/SIZE); 
    printf("t......100:    %-3dt %.1fn",a[10],(float)a[10]/SIZE); 
        };break; 
      case 2 : 
       { 
         for(i=0;iSIZE;i++) 
         { t=stud.eng/10; a[t]++;} 
         printf("t......0-9:    %-3dt %.1f%%n",a[0],(float)a[0]/SIZE); 
    printf("t....10-19:    %-3dt %.1fn",a[1],(float)a[1]/SIZE); 
    printf("t....20-29:    %-3dt %.1fn",a[2],(float)a[2]/SIZE); 
    printf("t....30-39:    %-3dt %.1fn",a[3],(float)a[3]/SIZE); 
    printf("t....40-49:    %-3dt %.1fn",a[4],(float)a[4]/SIZE); 
    printf("t....50-59:    %-3dt %.1fn",a[5],(float)a[5]/SIZE); 
    printf("t....60-69:    %-3dt %.1fn",a[6],(float)a[6]/SIZE); 
    printf("t....70-79:    %-3dt %.1fn",a[7],(float)a[7]/SIZE); 
    printf("t....80-89:    %-3dt %.1fn",a[8],(float)a[8]/SIZE); 
    printf("t....90-99:    %-3dt %.1fn",a[9],(float)a[9]/SIZE); 
    printf("t......100:    %-3dt %.1fn",a[10],(float)a[10]/SIZE); 
        };break; 
      case 3 : 
       { 
         for(i=0;iSIZE;i++) 
         { t=stud.cha/10; a[t]++;} 
         printf("t......0-9:    %-3dt %.1f%%n",a[0],(float)a[0]/SIZE); 
    printf("t....10-19:    %-3dt %.1fn",a[1],(float)a[1]/SIZE); 
    printf("t....20-29:    %-3dt %.1fn",a[2],(float)a[2]/SIZE); 
    printf("t....30-39:    %-3dt %.1fn",a[3],(float)a[3]/SIZE); 
    printf("t....40-49:    %-3dt %.1fn",a[4],(float)a[4]/SIZE); 
    printf("t....50-59:    %-3dt %.1fn",a[5],(float)a[5]/SIZE); 
    printf("t....60-69:    %-3dt %.1fn",a[6],(float)a[6]/SIZE); 
    printf("t....70-79:    %-3dt %.1fn",a[7],(float)a[7]/SIZE); 
    printf("t....80-89:    %-3dt %.1fn",a[8],(float)a[8]/SIZE); 
    printf("t....90-99:    %-3dt %.1fn",a[9],(float)a[9]/SIZE); 
    printf("t......100:    %-3dt %.1fn",a[10],(float)a[10]/SIZE); 
        };break; 
          
      case 4 : 
       { 
         for(i=0;iSIZE;i++) 
         { t=stud.phy/10; a[t]++;} 
          for(t=0;t10;t++) 
            printf("t......0-9:    %-3dt %.1fn",a[0],(float)a[0]/SIZE); 
  printf("t....10-19:    %-3dt %.1fn",a[1],(float)a[1]/SIZE); 
    printf("t....20-29:    %-3dt %.1fn",a[2],(float)a[2]/SIZE); 
    printf("t....30-39:    %-3dt %.1fn",a[3],(float)a[3]/SIZE); 
    printf("t....40-49:    %-3dt %.1fn",a[4],(float)a[4]/SIZE); 
    printf("t....50-59:    %-3dt %.1fn",a[5],(float)a[5]/SIZE); 
    printf("t....60-69:    %-3dt %.1fn",a[6],(float)a[6]/SIZE); 
    printf("t....70-79:    %-3dt %.1fn",a[7],(float)a[7]/SIZE); 
    printf("t....80-89:    %-3dt %.1fn",a[8],(float)a[8]/SIZE); 
    printf("t....90-99:    %-3dt %.1fn",a[9],(float)a[9]/SIZE); 
    printf("t......100:    %-3dt %.1fn",a[10],(float)a[10]/SIZE); 
        };break; 
      case 5 : 
       { 
         for(i=0;iSIZE;i++) 
         { t=stud.com/10; a[t]++;} 
            printf("t......0-9:    %-3dt %.1fn",a[0],(float)a[0]/SIZE); 
    printf("t....10-19:    %-3dt %.1fn",a[1],(float)a[1]/SIZE); 
    printf("t....20-29:    %-3dt %.1fn",a[2],(float)a[2]/SIZE); 
    printf("t....30-39:    %-3dt %.1fn",a[3],(float)a[3]/SIZE); 
    printf("t....40-49:    %-3dt %.1fn",a[4],(float)a[4]/SIZE); 
    printf("t....50-59:    %-3dt %.1fn",a[5],(float)a[5]/SIZE); 
    printf("t....60-69:    %-3dt %.1fn",a[6],(float)a[6]/SIZE); 
    printf("t....70-79:    %-3dt %.1fn",a[7],(float)a[7]/SIZE); 
    printf("t....80-89:    %-3dt %.1fn",a[8],(float)a[8]/SIZE); 
    printf("t....90-99:    %-3dt %.1fn",a[9],(float)a[9]/SIZE); 
    printf("t......100:    %-3dt %.1fn",a[10],(float)a[10]/SIZE); 
        };break; 
   default :printf (" Please input the right choice!n"); 
   }  
 } 
 void  zhibiao() 
 { 
   int i,j,t, x,d ,m,n,o,y,q,r,c,z,a[SIZE][2]={0},b[SIZE+1]; 
   char mingzi[10],xingbie[2]; 
   for(i=0;iSIZE;i++) 
     { a[0]=stud.mat+stud.eng+stud.cha+stud.phy+stud.com;  
        a[1]=a[0]/5; 
     } 
    for(i=0;iSIZE+1;i++) 
      b=i; 
     for(j=0;jSIZE-1;j++) 
      for(i=0;iSIZE-1-j;i++) 
       { 
         if(a[0]a[i+1][0]) 
         { 
           strcpy(mingzi,stud.name);   strcpy(stud.name,stud[i+1].name);   strcpy(stud[i+1].name,mingzi); 
           x=stud.num;            stud.num=stud[i+1].num;             stud[i+1].num=x; 
           t=stud.class;          stud.class=stud[i+1].class;      stud[i+1].class=t; 
           strcpy(xingbie,stud.sex);strcpy(stud.sex,stud[i+1].sex); strcpy(stud[i+1].sex,xingbie); 
           m=stud.mat;            stud.mat=stud[i+1].mat;          stud[i+1].mat=m; 
           n=stud.eng;            stud.eng=stud[i+1].eng;          stud[i+1].eng=n; 
           o=stud.cha;            stud.cha=stud[i+1].cha;          stud[i+1].cha=o; 
           d=stud.phy;            stud.phy=stud[i+1].phy;          stud[i+1].phy=d; 
           q=stud.com;            stud.com=stud[i+1].com;          stud[i+1].com=q; 
           y=a[0];                a[0]=a[i+1][0];                  a[i+1][0]=y; 
           z=a[1];                a[1]=a[i+1][1];                  a[i+1][1]=z; 
} 
 } 
 printf("ttt student score reportingn"); 
 printf("name tnumtmattengtchatphytcomtsumtavetmingci n");  
 for(i=0;iSIZE;i++) 
 printf("%s t%d t%dt%dt%dt%dt%dt%dt%dt%d n",stud.name,stud.num,stud.mat,stud.eng,stud.cha,stud.phy,stud.com,a[0],a[1],b[i+1]); 
 } 
 void main () 
 {  
 int i,choice,cj;float a[N]; 
 printf("nnnnnnttt& Welcome you entering! &n"); 
 printf("nnt*****************************************************************"); 
 printf("nt*ttThe choice:ttttt*"); 
 printf("nt*tt * 1---savettttt*nt*tt * 2---readttttt*nt*tt * 0---exitttttt*"); 
 printf("tt*****************************************************************n"); 
 scanf("%d",&choice); 
 if(choice==0) exit(1); 
 if(choice==1) save(); 
 if(choice==2) load();  
 for(i=0;;i++)  
 { 
  
 printf("nt*ttintput the main function num ttt*n"); 
 printf("nt*tt*1----find_scorettttt*nt*tt*2----change_scorettttt*nt*tt*3----sum_avettttt*nt*tt*4----rankttttt*nt*tt*5----highorlowttttt*nt*tt*6----rank_avettttt*nt*tt*7----countttttt*nt*tt*8----zhibiaottttt*nt*tt*0----backttttt*n"); 
  
 printf("nt*please input your choice:"); 
 scanf("%d",&choice); 
 if(choice8) 
 { 
 printf("nnt& Please input the right choice:"); 
 scanf("%d",&choice); 
 } 
 if(choice==0) exit(1); 
 switch(choice) 
 { 
 case 1: find();break; 
 case 2: change();break; 
 case 3: sum_ave();break; 
 case 4: rank();break; 
 case 5: high_or_low(a);break; 
 case 6: rank_ave();break; 
 case 7: count() ;break;  
 case 8: zhibiao();break; 
 default :printf("nt& Please input the right choice.n"); 
 } 
  
 } 
 }
							 
							 
							 
							  
							  
							  楼主 2016-02-04 14:22 回复
						 
						 
           
          
          
         
   
         
      
 
   
             
                  
                  
 
 
 
     
	 
  
	Copyright © 2010~2015 直线网 版权所有,All Rights Reserved.沪ICP备10039589号
	
	意见反馈 | 
	关于直线 | 
	版权声明 | 
	会员须知