成绩查询系统(过去的课设防止丢失)

来源:互联网 发布:java双向关联的源代码 编辑:程序博客网 时间:2024/04/30 00:38

运行环境VC6.0

 主程序代码如下:

#include "stdio.h"
#include "stdlib.h"
#include "math.h"
#define M  30
#define N  6
struct  stud

 int no;
    char name[5];
    int score[N];
    float  aver;
    int mc;
}student[M];
struct  course_type
{
 int  no,yx,lh,zd,jg,bjg;
    char  name[20];
    float xuefen,pjf;
    double bzc;
}course[N];
void input( )
{  
  FILE  *fp1,*fp2;
  char string[60];
  int i,j;
  if((fp1=fopen("D://JZ0324.txt","r"))==NULL)
     { 
   printf("can not open file");
         exit(0);
     }
  fgets(string,60,fp1); /*写入结构体*/
  for(i=0;i<M;i++)
    {
   fscanf(fp1,"%d%s",&student[i].no,&student[i].name);
   for(j=0;j<N;j++)
   fscanf(fp1,"%d",&student[i].score[j]);
     }
  fclose(fp1);
  if((fp2=fopen("D://JZ03KC.txt","r"))==NULL)
     { 
   printf("can not open file");
         exit(0);
     }
  fgets(string,80,fp2);
  for(i=0;i<N;i++)
      fscanf(fp2,"%d%s%f",&course[i].no,course[i].name,&course[i].xuefen);
  for(i=0;i<N;i++)
   fclose(fp2);
}
void aver()/*加权平均数*/
{
    int i,j;
    float sum,zxf=0;
    for(j=0;j<N;j++)
        zxf=zxf+course[j].xuefen;
    for(i=0;i<M;i++)
    {   sum=0;
            for(j=0;j<N;j++)
     {
  student[i].aver=0;
        sum=sum+student[i].score[j]*course[j].xuefen;
            }
        student[i].aver=sum/zxf;
    }
}
void mingci() /*名次*/
{   int i,j;
    for(i=0;i<M;i++)
    { student[i].mc=1;
      for(j=0;j<M;j++)
      if(student[i].aver<student[j].aver)
         student[i].mc++;
    }
}
void pjf()/*平均分*/
{
    int j,k;
    float sum;
    for(k=0;k<N;k++)
    {
       sum=0;
       for(j=0;j<M;j++)
           sum=sum+student[j].score[k];
       course[k].pjf=sum/M;
    }  
}
void bzc()/*标准差*/
{
    int i,k;
    float sum;
    for(k=0;k<N;k++)
    {sum=0;
     for(i=0;i<M;i++)
         sum=sum+(student[i].score[k]-course[k].pjf)*(student[i].score[k]-course[k].pjf);
     course[k].bzc=sqrt(sum/M);
    }
}
void cjfb()/*成绩分布*/
{
    int i,k,c;
    for(k=0;k<N;k++)
    { course[k].yx=course[k].lh=course[k].zd=course[k].jg=course[k].bjg=0;
        for(i=0;i<M;i++)
     switch(c=student[i].score[k]/10)
    {case 10:      
     case 9:course[k].yx++; break;
     case 8:course[k].lh++; break;
     case 7:course[k].zd++; break;
     case 6:course[k].jg++; break;
     default :course[k].bjg++;
    }
    }
}
void cjfbt()/*成绩分布图*/
{
 int z,i;
    FILE *fp1;
 cjfb();
 leap :if((fp1=fopen("D://成绩分布图.txt","a"))==NULL)/*文件只能用追加的形式a打开,否则,只能答应最后一科的成绩分布图*/
 {
  printf("can not open file!");
   exit(0);
 }
lop: fscanf(fp1,"%2d",&z);
 getchar();
 fprintf(fp1,"★号代表实际人数/n");
    switch(z)
    {
  case 1: fprintf(fp1,"英语成绩分布图********所占百分比为:/n");
   fprintf(fp1,"优秀");
   for(i=0;i<course[0].yx;i++)fprintf(fp1,"★");
   fprintf(fp1,"%20.5lf",(100*(double)(course[0].yx)/M));
   fprintf(fp1,"%%");fprintf(fp1,"/n");
   fprintf(fp1,"良好");
   for(i=0;i<course[0].lh;i++)fprintf(fp1,"★");
   fprintf(fp1,"%20.5lf",(100*(double)(course[0].lh)/M));
   fprintf(fp1,"%%");fprintf(fp1,"/n");
   fprintf(fp1,"中等");
   for(i=0;i<course[0].zd;i++)fprintf(fp1,"★");
   fprintf(fp1,"%20.5lf",(100*(double)(course[0].zd)/M));
   fprintf(fp1,"%%");fprintf(fp1,"/n");
   fprintf(fp1,"及格");
   for(i=0;i<course[0].jg;i++)fprintf(fp1,"★");
   fprintf(fp1,"%20.5lf",(100*(double)(course[0].jg)/M));
   fprintf(fp1,"%%");fprintf(fp1,"/n");
   fprintf(fp1,"不及格");
   for(i=0;i<course[0].bjg;i++)fprintf(fp1,"★");
   fprintf(fp1,"%20.5lf",(100*(double)(course[0].bjg)/M));
   fprintf(fp1,"%%");fprintf(fp1,"/n");break;
  case 2:fprintf(fp1,"物理成绩分布图********所占百分比为:/n");
   fprintf(fp1,"优秀");
   for(i=0;i<course[1].yx;i++)
   fprintf(fp1,"★");fprintf(fp1,"%20.5lf",(100*(double)(course[1].yx)/M));
   fprintf(fp1,"%%");fprintf(fp1,"/n");
   fprintf(fp1,"良好");
   for(i=0;i<course[1].lh;i++)fprintf(fp1,"★");
   fprintf(fp1,"%20.5lf",(100*(double)(course[1].lh)/M));
   fprintf(fp1,"%%");fprintf(fp1,"/n");
   fprintf(fp1,"中等");
   for(i=0;i<course[0].zd;i++)fprintf(fp1,"★");
   fprintf(fp1,"%20.5lf",(100*(double)(course[1].zd)/M));
   fprintf(fp1,"%%");fprintf(fp1,"/n");
   fprintf(fp1,"及格");
   for(i=0;i<course[1].jg;i++)fprintf(fp1,"★");
   fprintf(fp1,"%20.5lf",(100*(double)(course[1].jg)/M));
   fprintf(fp1,"%%");fprintf(fp1,"/n");
   fprintf(fp1,"不及格");
   for(i=0;i<course[1].bjg;i++)fprintf(fp1,"★");
   fprintf(fp1,"%20.5lf",(100*(double)(course[1].bjg)/M));
   fprintf(fp1,"%%");fprintf(fp1,"/n");break;
  case 3:fprintf(fp1,"数学成绩分布图********所占百分比为:/n");
   fprintf(fp1,"优秀");
   for(i=0;i<course[2].yx;i++)fprintf(fp1,"★");
   fprintf(fp1,"%20.5lf",(100*(double)(course[2].yx)/M));
   fprintf(fp1,"%%");fprintf(fp1,"/n");
   fprintf(fp1,"良好");
   for(i=0;i<course[2].lh;i++)fprintf(fp1,"★");
   fprintf(fp1,"%20.5lf",(100*(double)(course[2].lh)/M));
   fprintf(fp1,"%%");fprintf(fp1,"/n");
   fprintf(fp1,"中等");
   for(i=0;i<course[0].zd;i++)
   fprintf(fp1,"★");fprintf(fp1,"%20.5lf",(100*(double)(course[2].zd)/M));
   fprintf(fp1,"%%");fprintf(fp1,"/n");
   fprintf(fp1,"及格");
   for(i=0;i<course[2].jg;i++)fprintf(fp1,"★");
   fprintf(fp1,"%20.5lf",(100*(double)(course[2].jg)/M));
   fprintf(fp1,"%%");fprintf(fp1,"/n");
   fprintf(fp1,"不及格");
   for(i=0;i<course[2].bjg;i++)fprintf(fp1,"★");
   fprintf(fp1,"%20.5lf",(100*(double)(course[2].bjg)/M));
   fprintf(fp1,"%%");fprintf(fp1,"/n");break;
  case 4:fprintf(fp1,"模电成绩分布图********所占百分比为:/n");
   fprintf(fp1,"优秀");
   for(i=0;i<course[3].yx;i++)fprintf(fp1,"★");
   fprintf(fp1,"%20.5lf",(100*(double)(course[3].yx)/M));
   fprintf(fp1,"%%");fprintf(fp1,"/n");
   fprintf(fp1,"良好");
   for(i=0;i<course[3].lh;i++)fprintf(fp1,"★");
   fprintf(fp1,"%20.5lf",(100*(double)(course[3].lh)/M));
   fprintf(fp1,"%%");fprintf(fp1,"/n");
   fprintf(fp1,"中等");
   for(i=0;i<course[0].zd;i++)fprintf(fp1,"★");
   fprintf(fp1,"%20.5lf",(100*(double)(course[3].zd)/M));
   fprintf(fp1,"%%");fprintf(fp1,"/n");
   fprintf(fp1,"及格");
   for(i=0;i<course[3].jg;i++)fprintf(fp1,"★");
   fprintf(fp1,"%20.5lf",(100*(double)(course[3].jg)/M));
   fprintf(fp1,"%%");fprintf(fp1,"/n");
   fprintf(fp1,"不及格");
   for(i=0;i<course[3].bjg;i++)printf("★");
   fprintf(fp1,"%20.5lf",(100*(double)(course[3].bjg)/M));
   fprintf(fp1,"%%");fprintf(fp1,"/n");break;
  case 5:fprintf(fp1,"马哲成绩分布图********所占百分比为:/n");
   fprintf(fp1,"优秀");
   for(i=0;i<course[4].yx;i++)fprintf(fp1,"★");
   fprintf(fp1,"%20.5lf",(100*(double)(course[4].yx)/M));
   fprintf(fp1,"%%");fprintf(fp1,"/n");
   fprintf(fp1,"良好");
   for(i=0;i<course[4].lh;i++)fprintf(fp1,"★");
   fprintf(fp1,"%20.5lf",(100*(double)(course[4].lh)/M));
   fprintf(fp1,"%%");fprintf(fp1,"/n");
   fprintf(fp1,"中等");
   for(i=0;i<course[0].zd;i++)fprintf(fp1,"★");
      fprintf(fp1,"%20.5lf",(100*(double)(course[4].zd)/M));
   fprintf(fp1,"%%");fprintf(fp1,"/n");
   fprintf(fp1,"及格");
   for(i=0;i<course[4].jg;i++)fprintf(fp1,"★");
   fprintf(fp1,"%20.5lf",(100*(double)(course[4].jg)/M));
   fprintf(fp1,"%%");fprintf(fp1,"/n");
   fprintf(fp1,"不及格");
   for(i=0;i<course[4].bjg;i++)fprintf(fp1,"★");
   fprintf(fp1,"%20.5lf",(100*(double)(course[4].bjg)/M));
   fprintf(fp1,"%%");fprintf(fp1,"/n");break;
  case 6:fprintf(fp1,"法基成绩分布图********所占百分比为:/n");
   fprintf(fp1,"优秀");
   for(i=0;i<course[4].yx;i++)fprintf(fp1,"★");
   fprintf(fp1,"%20.5lf",(100*(double)(course[4].yx)/M));
   fprintf(fp1,"%%");fprintf(fp1,"/n");
   fprintf(fp1,"良好");
   for(i=0;i<course[4].lh;i++)fprintf(fp1,"★");
   fprintf(fp1,"%20.5lf",(100*(double)(course[4].lh)/M));
   fprintf(fp1,"%%");fprintf(fp1,"/n");
   fprintf(fp1,"中等");
   for(i=0;i<course[0].zd;i++)fprintf(fp1,"★");
      fprintf(fp1,"%20.5lf",(100*(double)(course[4].zd)/M));
   fprintf(fp1,"%%");fprintf(fp1,"/n");
   fprintf(fp1,"及格");
   for(i=0;i<course[4].jg;i++)fprintf(fp1,"★");
   fprintf(fp1,"%20.5lf",(100*(double)(course[4].jg)/M));
   fprintf(fp1,"%%");fprintf(fp1,"/n");
   fprintf(fp1,"不及格");
   for(i=0;i<course[4].bjg;i++)fprintf(fp1,"★");
   fprintf(fp1,"%20.5lf",(100*(double)(course[4].bjg)/M));
   fprintf(fp1,"%%");fprintf(fp1,"/n");break;
  case  0:exit(0);
  default : fprintf(fp1,"===================================================================================================================/n");
   fprintf(fp1,"/n");
   goto ABC;
   printf("/n");
  goto lop;
  ABC:fprintf(fp1,"*********************************v*************严厉打击盗版**********************************************/n");
  fclose(fp1);
}
 printf("********************欢迎使用微软茳峰成绩综合查询系统********************/n");
printf("★号代表实际人数/n查询英语成绩分布图请按1/n查询C语言成绩请按2/n查询数学成绩请按3/n查询音乐成绩请按4/n查看体育成绩请按5/n返回上级菜单请按7/n退出请按0/n");
    scanf("%d",&z);
    switch(z)
    {
  case 1:printf("英语成绩分布图********所占百分比为:/n");
   printf("优秀");
   for(i=0;i<course[0].yx;i++)printf("★");
   printf("%20.5lf",(100*(double)(course[0].yx)/M));
   printf("%%");printf("/n");
   printf("良好");
   for(i=0;i<course[0].lh;i++)printf("★");
   printf("%20.5lf",(100*(double)(course[0].lh)/M));
   printf("%%");printf("/n");
   printf("中等");
   for(i=0;i<course[0].zd;i++)printf("★");
   printf("%20.5lf",(100*(double)(course[0].zd)/M));
   printf("%%");printf("/n");
   printf("及格");
   for(i=0;i<course[0].jg;i++)printf("★");
   printf("%20.5lf",(100*(double)(course[0].jg)/M));
   printf("%%");printf("/n");
   printf("不及格");
   for(i=0;i<course[0].bjg;i++)printf("★");
   printf("%20.5lf",(100*(double)(course[0].bjg)/M));
   printf("%%");printf("/n");break;
  case 2:printf("物理成绩分布图********所占百分比为:/n");
   printf("优秀");
   for(i=0;i<course[1].yx;i++)
   printf("★");printf("%20.5lf",(100*(double)(course[1].yx)/M));
   printf("%%");printf("/n");
   printf("良好");
   for(i=0;i<course[1].lh;i++)printf("★");
   printf("%20.5lf",(100*(double)(course[1].lh)/M));
   printf("%%");printf("/n");
   printf("中等");
   for(i=0;i<course[0].zd;i++)printf("★");
   printf("%20.5lf",(100*(double)(course[1].zd)/M));
   printf("%%");printf("/n");
   printf("及格");
   for(i=0;i<course[1].jg;i++)printf("★");
   printf("%20.5lf",(100*(double)(course[1].jg)/M));
   printf("%%");printf("/n");
   printf("不及格");
   for(i=0;i<course[1].bjg;i++)printf("★");
   printf("%20.5lf",(100*(double)(course[1].bjg)/M));
   printf("%%");printf("/n");break;
  case 3:printf("数学成绩分布图********所占百分比为:/n");
   printf("优秀");
   for(i=0;i<course[2].yx;i++)printf("★");
   printf("%20.5lf",(100*(double)(course[2].yx)/M));
   printf("%%");printf("/n");
   printf("良好");
   for(i=0;i<course[2].lh;i++)printf("★");
   printf("%20.5lf",(100*(double)(course[2].lh)/M));
   printf("%%");printf("/n");
   printf("中等");
   for(i=0;i<course[0].zd;i++)
   printf("★");printf("%20.5lf",(100*(double)(course[2].zd)/M));
   printf("%%");printf("/n");
   printf("及格");
   for(i=0;i<course[2].jg;i++)printf("★");
   printf("%20.5lf",(100*(double)(course[2].jg)/M));
   printf("%%");printf("/n");
   printf("不及格");
   for(i=0;i<course[2].bjg;i++)printf("★");
   printf("%20.5lf",(100*(double)(course[2].bjg)/M));
   printf("%%");printf("/n");break;
  case 4:printf("模电成绩分布图********所占百分比为:/n");
   printf("优秀");
   for(i=0;i<course[3].yx;i++)printf("★");
   printf("%20.5lf",(100*(double)(course[3].yx)/M));
   printf("%%");printf("/n");
   printf("良好");
   for(i=0;i<course[3].lh;i++)printf("★");
   printf("%20.5lf",(100*(double)(course[3].lh)/M));
   printf("%%");printf("/n");
   printf("中等");
   for(i=0;i<course[0].zd;i++)printf("★");
   printf("%20.5lf",(100*(double)(course[3].zd)/M));
   printf("%%");printf("/n");
   printf("及格");
   for(i=0;i<course[3].jg;i++)printf("★");
   printf("%20.5lf",(100*(double)(course[3].jg)/M));
   printf("%%");printf("/n");
   printf("不及格");
   for(i=0;i<course[3].bjg;i++)printf("★");
   printf("%20.5lf",(100*(double)(course[3].bjg)/M));
   printf("%%");printf("/n");break;
  case 5:printf("马哲成绩分布图********所占百分比为:/n");
   printf("优秀");
   for(i=0;i<course[4].yx;i++)printf("★");
   printf("%20.5lf",(100*(double)(course[4].yx)/M));
   printf("%%");printf("/n");
   printf("良好");
   for(i=0;i<course[4].lh;i++)printf("★");
   printf("%20.5lf",(100*(double)(course[4].lh)/M));
   printf("%%");printf("/n");
   printf("中等");
   for(i=0;i<course[0].zd;i++)printf("★");
   printf("%20.5lf",(100*(double)(course[4].zd)/M));
   printf("%%");printf("/n");
   printf("及格");
   for(i=0;i<course[4].jg;i++)printf("★");
   printf("%20.5lf",(100*(double)(course[4].jg)/M));
   printf("%%");printf("/n");
   printf("不及格");
   for(i=0;i<course[4].bjg;i++)printf("★");
   printf("%20.5lf",(100*(double)(course[4].bjg)/M));
   printf("%%");printf("/n");break;
  case 6:printf("法基成绩分布图********所占百分比为:/n");
   printf("优秀");
   for(i=0;i<course[4].yx;i++)printf("★");
   printf("%20.5lf",(100*(double)(course[4].yx)/M));
   printf("%%");printf("/n");
   printf("良好");
   for(i=0;i<course[4].lh;i++)printf("★");
   printf("%20.5lf",(100*(double)(course[4].lh)/M));
   printf("%%");printf("/n");
   printf("中等");
   for(i=0;i<course[0].zd;i++)printf("★");
   printf("%20.5lf",(100*(double)(course[4].zd)/M));
   printf("%%");printf("/n");
   printf("及格");
   for(i=0;i<course[4].jg;i++)printf("★");
   printf("%20.5lf",(100*(double)(course[4].jg)/M));
   printf("%%");printf("/n");
   printf("不及格");
   for(i=0;i<course[4].bjg;i++)printf("★");
   printf("%20.5lf",(100*(double)(course[4].bjg)/M));
   printf("%%");printf("/n");break;
  case  0:exit(0);
  default : printf("谢谢查看!/n");
   goto ABCD;
    }
     printf("/n");
  goto leap;
ABCD:printf("请问还有什么可以帮助您的吗?请选择:/n");
}
void output( )/*本班成绩表*/
{
  FILE   *fp2;
  int i,j;
  aver();
  mingci();
  if((fp2=fopen("D://本班成绩名次表.txt","w"))==NULL)
  {   printf("can not open file");
      exit(0);
  }
  fprintf(fp2,"名次     学号     姓名    英语    物理   数学    模电     马哲    法基   平均分   /n");
     for(i=0;i<M;i++)
    {   fprintf(fp2,"%3d",student[i].mc);
      fprintf(fp2,"   %5d%10s",student[i].no,student[i].name);
      for(j=0;j<N;j++)
      fprintf(fp2,"%8d",student[i].score[j]);
      fprintf(fp2,"%10.1f",student[i].aver);     
      fprintf(fp2,"/n");
     }
  fclose(fp2);
printf("名次     学号     姓名    英语    物理   数学    模电     马哲    法基   平均分   /n");
     for(i=0;i<M;i++)
    {   printf("%3d",student[i].mc);
      printf("   %5d%10s",student[i].no,student[i].name);
      for(j=0;j<N;j++)
      printf("%8d",student[i].score[j]);
      printf("%10.1f",student[i].aver);
     
      printf("/n");
     }
 }
void outputA()/*科目分析*/
{
    FILE *fp3;
    int i;
    if((fp3=fopen("D://科目分析.txt","w"))==NULL)
    {   printf("can not open file");
      exit(0);
    }
    fprintf(fp3,"编号   课程名称  平均分   标准差      优秀   良好     中等   及格   不及格/n");          
        for(i=0;i<N;i++)       
            {
            fprintf(fp3,"%3d",course[i].no);
            fprintf(fp3,"%10s",course[i].name);
            fprintf(fp3,"%10.2f",course[i].pjf);
            fprintf(fp3,"%8.1f",course[i].bzc);
            fprintf(fp3,"%8d%8d%8d%8d%8d/n",course[i].yx,course[i].lh,course[i].zd,course[i].jg,course[i].bjg);
            fprintf(fp3,"/n");
            }
    fclose(fp3);
printf("编号    课程名称  平均分   标准差   优秀   良好     中等   及格   不及格/n");          
        for(i=0;i<N;i++)       
            {
            printf("%3d",course[i].no);
            printf("%10s",course[i].name);
            printf("%10.2f",course[i].pjf);
            printf("%8.1f",course[i].bzc);
            printf("%8d%8d%8d%8d%8d/n",course[i].yx,course[i].lh,course[i].zd,course[i].jg,course[i].bjg);
            printf("/n");
            }
}
void xscjt()/*学生成绩条*/
{
        FILE *fp4;
    int i,j;
 aver();
 mingci();
    if((fp4=fopen("D://学生成绩条.txt","w"))==NULL)
  {   printf("can not open file");
   exit(0);
  }
     fprintf(fp4,"********************************************************************************/n");
     for(i=0;i<M;i++)
    {        fprintf(fp4,"名次     学号     姓名    英语    物理   数学    模电     马哲    法基   平均分   /n");
        fprintf(fp4,"%3d",student[i].mc);
      fprintf(fp4,"   %5d%10s",student[i].no,student[i].name);
      for(j=0;j<N;j++)
      fprintf(fp4,"%8d",student[i].score[j]);
   fprintf(fp4,"%10.1f",student[i].aver);
      fprintf(fp4,"/n");
      fprintf(fp4,"********************************************************************************");
      fprintf(fp4,"/n");
     }
    fclose(fp4);                         
 printf("********************************************************************************/n");
     for(i=0;i<M;i++)
   {        printf("名次     学号     姓名    英语    物理   数学    模电     马哲    法基   平均分   /n");
        printf("%3d",student[i].mc);
      printf("   %5d%10s",student[i].no,student[i].name);
      for(j=0;j<N;j++)
      printf("%8d",student[i].score[j]);
   printf("%10.1f",student[i].aver);
      printf("/n");
      printf("********************************************************************************/n");
      printf("/n");
    }
}
void bjgmd()/*不及格名单*/
{
 FILE *fp5;
 int i,j;
 if((fp5=fopen("D://不及格名单.txt","w"))==NULL)
 {
  printf("can not open file!");
   exit(0);
 }
 fprintf(fp5,"学号    姓名    不及格课程名称  学分   成绩 /n");
  for(i=0;i<M;i++)
   for(j=0;j<N;j++)
    if(student[i].score[j]<60)
  {
   fprintf(fp5,"%-3d     %-10s%-10s    %-4.1f    %-5d/n",student[i].no,student[i].name,course[j].name,course[j].xuefen,student[i].score[j] );
  }
 fclose(fp5);
    printf("学号    姓名    不及格课程名称  学分    成绩/n");
    for(i=0;i<M;i++)
  for(j=0;j<N;j++)
   if(student[i].score[j]<60)
   printf("%-3d     %-10s%-10s    %-4.1f    %-5d/n",student[i].no,student[i].name,course[j].name,course[j].xuefen,student[i].score[j]);
}
void yxsmd()/*优秀生名单*/

 FILE *fp6;
 int i,j;
    aver();
 mingci();
 if((fp6=fopen("D://优秀生名单.txt","w"))==NULL)
 {
  printf("can not open file!");
   exit(0);
 }
 fprintf(fp6,"名次    学号     姓名        英语     物理   数学    模电     马哲    法基  平均分   /n");
    for(i=0;i<M;i++)
        for(j=0;j<N;j++)
        {  
   if((student[i].aver>=92)||(student[i].mc<6)||(student[i].aver>=88&&student[i].score[j]==99))
            {  
                fprintf(fp6,"%3d",student[i].mc);
                fprintf(fp6,"     %-5d    %-7s%",student[i].no,student[i].name);
                for(j=0;j<N;j++)
                    fprintf(fp6,"%8d",student[i].score[j]);
    fprintf(fp6,"%8.1f",student[i].aver);
                fprintf(fp6,"/n");
   }
        }
  fclose(fp6);
 printf("名次    学号    姓名      英语     物理   数学    模电     马哲    法基  平均分   /n");
    for(i=0;i<M;i++)
        for(j=0;j<N;j++)
        {   if((student[i].aver>=92)||(student[i].mc<6)||(student[i].aver>=88&&student[i].score[j]==99))
            {  
                printf("%3d",student[i].mc);
                printf("     %-5d  %-7s",student[i].no,student[i].name);
                for(j=0;j<N;j++)
                    printf("%8d",student[i].score[j]);
    printf("%8.1f",student[i].aver);
                printf("/n");
            }
        }
}
void main()
{
    int c;
    input();
    pjf();
    bzc();/*标准差*/
    printf("********************欢迎使用微软茳峰成绩综合查询系统********************/n");
    loop :printf("查询本班成绩请按1/n查询本班成绩分布请按2/n查询不及格学生名单请按3/n查询优秀学生名单请按4/n查看学生分数条请按5/n查看成绩分布图请按6/n退出请按0/n");
    scanf("%d",&c);
    switch(c)
    {
  case 1:output();break;
       /*本班成绩表*/
  case 2:cjfb();outputA();break;
    /*成绩分布*/
  case 3:bjgmd();break;
    /*不及格学生名单*/
  case 4:yxsmd();break;
    /*优秀学生名单*/
  case 5:xscjt();break;
    /*学生成绩条*/
     case 6: cjfbt();break;   
    /*打印每门课的成绩分布图*/
  default : printf("******************************谢谢使用,欢迎再次光临!*******************************/n");
   exit(0); 
     }
     printf("/n");
    goto loop;
 printf("***************************版权所有  侵权必纠******************************/n");
}

 测试的数据文件:

JZ0324.txt

序号 姓名 英语    物理   数学   模电     马哲 法基
1 自己 96 93 99 98 96 76
2 小二 76 89 89 86 75 75
3 萧墙 91 96 67 88 69 74
4 八戒 75 58 56 68 81 76
5 小番 88 56 86 43 56 73 
6 逍遥 45 68 39 82 72 82 
7 孙子 65 96 85 72 43 95
8 带拖 86 87 85 49 68 86
9 广在 58 64 76 81 72 75
10 无望 85 67 88 54 64 75
11 小样 48 68 38 82 75 86
12 哈哈儿 87 56 38 68 75 84
13 疯子 86 53 87 76 71 89
14 玉蒂 86 95 76 48 68 95
15 常娥 81 68 38 76 29 76 
16 玉兔 68 76 73 79 80 73
17 掌柜 88 68 76 49 68 72
18 铁中堂 86 76 82 73 68 76
19 小严 45 86 76 38 90 75
20 小尧 88 85 76 79 81 81
21 解放 54 57 35 12 65 82
22 质量 56 58 77 95 43 83
23 压迫 46 25 34 65 71 84
24 看见 42 53 61 43 75 85
25 粉扑 56 45 53 54 52 76
26 恢复 46 25 55 44 34 86
27 文科 35 66 53 70 11 52
28 地可 47 25 34 62 46 56
29 于棵 45 53 75 15 12 46
30 李里 65 45 43 42 41 76

JZ03KC.txt

序号 姓名 分数
1 英语 6.0 
2 物理 4.5
3 数学 5.5
4 模电 5.0 
5 马哲 4.5
6 法基 5.5

 

原创粉丝点击