签到

05月07日
尚未签到

共有回帖数 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 回复

共有回帖数 0
  • 回 帖
  • 表情 图片 视频
  • 发表

登录直线网账号

Copyright © 2010~2015 直线网 版权所有,All Rights Reserved.沪ICP备10039589号 意见反馈 | 关于直线 | 版权声明 | 会员须知