保存学生成绩源代码c语言,学生成绩管理系统源代码C语言

#includestruct student

{

int num;

char name[20];

float pingshi;

float shiyan;

float kaoshi;

double zongping;

}stu[4];

void main()

{

void a();

void b();

void c();

void d();

void e();

int n;

while(n!=6)

{printf("\t大学计算机基础成绩管理系统\n");

printf("1:输入一个班学生大学计算机基础成绩记录\n");

printf("2:显示所有成绩记录\n");

printf("3:计算并输出平均成绩,均方差\n");

printf("4:输出成绩与排名\n");

printf("5:结果存入文件chengji.txt\n");

printf("6:退出系统\n");

printf("输入选项代码:");

scanf("%d",&n);

switch(n)

{

case 1:a();break;

case 2:b();break;

case 3:c();break;

case 4:d();break;

case 5:e();break;

case 6:printf("\n*******************谢谢使用!*******************\n");break;

break;

}

}

getchar();

}

/* 子 函 数*/

void a() /* 输入一个班的学生记录*/

{

int i;

for(i=0;i<4;i++)

{

printf("请输入学号 姓名 平时成绩 实验成绩 考试成绩:");

scanf("%d%s%f%f%f",&stu[i].num,stu[i].name,&stu[i].pingshi,&stu[i].shiyan,&stu[i].kaoshi);

}for(i=0;i<4;i++)

stu[i].zongping=0.1*stu[i].pingshi+0.3*stu[i].shiyan+0.6*stu[i].kaoshi;

}

void b()/* 显示所有记录*/

{

int i;

printf("学号 姓名 平时成绩 实验成绩 考试成绩 总评成绩\n");

for(i=0;i<4;i++)

printf("%d%14.2s%14.2f%14.2f%14.2f%14.2f\n",stu[i].num,stu[i].name,stu[i].pingshi,stu[i].shiyan,stu[i].kaoshi,stu[i].zongping);

}

void c()/* 求出全班平均成绩,显示均方差*/

{

int a[4]={0,1,2,3};

int i,j;

double total=0,pfc=0,bzc=0;

double ave;

for(i=0;i<4;i++)

{

total=total+stu[i].zongping;

}

ave=total/4.0;

printf("总评平均成绩是%f\n",ave);

for(i=0;i<4;i++)

{

pfc=pow((stu[i].zongping-ave),2)/4;

}

bzc=sqrt(pfc);

printf("\n平方差是%f\n",pfc);

printf("\n标准差是%f\n",bzc);

}

void d()

{

int a[4]={0,1,2,3};

int i,j,temp;

for(j=0;j<3;j++)

{

for(i=0;i<3-j;i++)

if(stu[a[i]].zongping>stu[a[i+1]].zongping)

{

temp=a[i];a[i]=a[i+1];

a[i+1]=temp;

}

}

printf("顺序为:\n");

printf("学号 姓名 总评成绩\n");

for(i=0;i<4;i++)

printf("%d%10.2s%15.2f\n",stu[a[i]].num,stu[a[i]].name,stu[a[i]].zongping);

printf("\n");

}

void e()

{int i;

FILE *fp;

fp=fopen("chengji.txt","w");

fprintf(fp,"学号 姓名 平时成绩 实验成绩 考试成绩 总评成绩\n");

for(i=0;i<4;i++)

fprintf(fp,"%d%14.2s%14.2f%14.2f%14.2f%14.2f\n",stu[i].num,stu[i].name,stu[i].pingshi,stu[i].shiyan,stu[i].kaoshi,stu[i].zongping);

printf("\n\n*******************恭喜,保存完成!*******************\n\n");

}

你可能感兴趣的:(保存学生成绩源代码c语言)