学生成绩管理系统

#include<stdio.h>
#include<string.h>
#include<math.h>
struct student
{
 int num;
 char name[20];
 float yuwen;
 float gaoshu;
 float yingyu;
 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:结果存入到 成绩.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");
   break;
  }
 }
 getchar();
}
void a()
{
 int i;
 for(i=0;i<4;i++)
 {
  printf("请输入/n        学号        姓名        语文成绩        高数成绩        英语成绩:/n");
  scanf("          %d%s%f%f%f",&stu[i].num,&stu[i].name,&stu[i].yuwen,&stu[i].gaoshu,&stu[i].yingyu);
 }
 for(i=0;i<4;i++)
  stu[i].zongping=stu[i].yuwen+stu[i].gaoshu+stu[i].yingyu;
}
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].yuwen,stu[i].gaoshu,stu[i].yingyu,stu[i].zongping);
}
void c()
{
 int a[4]={0,1,2,3};
 int i,j;
 double total=0;
 double ave;
 for(i=0;i<4;i++)
 {
  total=total+stu[i].zongping;
 }
 ave=total/4.0;
 printf("总评成绩的平均成绩是%f/n",ave);
}
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]].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].yuwen,stu[i].gaoshu,stu[i].yingyu,stu[i].zongping);
  printf("/n/n**************************恭喜,保存完整!**************************/n/n");
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值