共有回帖数 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号
意见反馈 |
关于直线 |
版权声明 |
会员须知