毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 课程设计 >> 正文

C++学生成绩管理系统 第8页

更新时间:2007-11-14:  来源:毕业论文

C++课程设计 C++学生成绩管理信息系统

/*-------------10-------------*/

void Statistics()       /*统计及格和优秀人数*/

{   FILE *fp;

    int REC=0,pass[4]={0},good[4]={0};     /*REC--记录个数,即人数,pass--及格人数,good--优秀人数*/

    float highest[4]={0},score[4]={0};     /*highest--最高分,score--总分*/

    struct stuType stu;

    fp=fopen("stu.dat","rb");

    if(fp==NULL)

 {  printf("\t\t\t文件打开失败!\n\t\t\t按任意键返回...");

    getch();

    return;

  }

    else {   rewind(fp);

      while(fread(&stu,sizeof(struct stuType),1,fp))

  {   REC++;

      score[0]=score[0]+stu.CJ[0];   /*语文*/

      if(stu.CJ[0]>=60)pass[0]++;

      if(stu.CJ[0]>=80)good[0]++;

      if(highest[0]<stu.CJ[0])highest[0]=stu.CJ[0];

      score[1]=score[1]+stu.CJ[1];   /*数学*/

      if(stu.CJ[1]>=60)pass[1]++;

      if(stu.CJ[1]>=80)good[1]++;

      if(highest[1]<stu.CJ[1])highest[1]=stu.CJ[1];

      score[2]=score[2]+stu.CJ[2];   /*英语*/

      if(stu.CJ[2]>=60)pass[2]++;

      if(stu.CJ[2]>=80)good[2]++;

      if(highest[2]<stu.CJ[2])highest[2]=stu.CJ[2];

      score[3]=score[3]+stu.CJ[3];   /*总评*/

      if(stu.CJ[3]>=60)pass[3]++;

      if(stu.CJ[3]>=80)good[3]++;

      if(highest[3]<stu.CJ[3])highest[3]=stu.CJ[3];

   }

      if(REC==0)       /*可以防止记录为0REC作除数而造成的错误*/

  {    printf("\t\t\t未输入学生记录!按任意键返回...");

       getch();

       return;

   }

      else{

        printf("\t\t\t\t  语文\t  数学\t  英语\t  总评\n"); /*输出统计信息*/

        printf("\t\t\t平均分:   %.1f\t  %.1f\t  %.1f\t  %.1f\n",score[0]/REC,score[1]/REC,score[2]/REC,score[3]/REC);

          printf("\t\t\t最高分:  %.1f\t  %.1f\t  %.1f\t  %.1f\n",highest[0],highest[1],highest[2],highest[3]);

        printf("\t\t\t优秀人数:%d\t  %d\t  %d\t  %d\n",good[0],good[1],good[2],good[3]);

        printf("\t\t\t及格人数:%d\t  %d\t  %d\t  %d\n",pass[0],pass[1],pass[2],pass[3]);       

                  }

   }

    fclose(fp);

    printf("\n\t\t\t请按任意键继续...");

    getch();

  

}

 

/*-------------11-------------*/

void HelpMessage() 

{ clrscr();

 printf("\n\n\n\n\n     此系统是应老师所布置的作业编制而成,该系统具有存贮学生数据,按学号、姓名查询,列出学生成绩和统计功能。\n    \n     使用方法:系统输入数据后,将在当前目录中建立一个名为stu.dat文件,用于保存输入的数据。学号输入只能用数字输入,并且学号只能是10位。姓名输入符合中国人的姓名,只能用中文,且最长为5个汉字。\n        此程序在Turbo C2.0下运行通过\n\n     由于是初学者,水平有限此系统还有许多不够完整和严密性,敬请指正!");

 getch();

}

 

/*-------------12-------------*/

int GetKey(void)     /*此函数返回一个按键的数值*/

{   int key;

    key=bioskey(0);     /*bioskey为调用BIOS键盘接口*/

    if(key<<8)      /*位移*/

    {

        key=key&0x00ff;

     

     }

      return key;     /*返回按键*/

}

 

/*-------------13-------------*/

void main()

{ int key;

  struct date d;     /*定义时间结构体*/

  getdate(&d);      /*读取系统日期并把它放到结构体d*/

  clrscr();      /*清除屏幕*/

  printf("\n\n\n\n\n");   

  printf("\t\t\t****************************\n"); /*版本信息*/

  printf("\t\t\t    学生成绩管理系统1.0     \n");

  printf("\t\t\t****************************\n");

  printf("\t\t\t    制作人:张春覃   \n");

  printf("\t\t\t    指导老师:杨宇晶 于宏伟    \n");

  printf("\t\t\t    制作时间:20059     \n");

  printf("\t\t\t****************************\n");

  printf("\t\t\t请按任意键继续...");

  /*while(!kbhit());*/

  getch();      /*从键盘读取一个字符,但不显示于屏幕*/

  system("cls");     /*调用DOS的清屏函数,TC中可用clrscr代替*/

    while(1)      /*主菜单*/

     {   

   printf("\n\n\n\n\n");

   printf("\t\t\t************************************\n");

   printf("\t\t\t**\tF1 --帮助    **\n");

   printf("\t\t\t**\tF2 --输入数据并存入文件   **\n");

   printf("\t\t\t**\tF3 --根据学号查询成绩   **\n");

   printf("\t\t\t**\tF4 --根据姓名查询成绩   **\n");

   printf("\t\t\t**\tF5 --输出文件内容     **\n");

   printf("\t\t\t**\tF6 --统计及格和优秀人数   **\n");

   printf("\t\t\t**\tESC--退出系统    **\n");

   printf("\t\t\t************************************\n");

   printf("\n\t\t\t请输入选项\t\t%d%d%d\n\n",d.da_year,d.da_mon,d.da_day);  /*提示信息,并显示当前系统日期*/

   key=GetKey();     /*调用自定义函数,读取一个键*/

   switch(key)

   {

       case F1: HelpMessage();   break;

       case F2: CreatFile(); break

       case F3: Search_Xuehao(); break;

       case F4: Search_Xingming();break;

       case F5: ListFile(); break;

       case F6: Statistics(); break;

       case ESC:exit(1);  break;

       /*default: puts("\t\t\t输入错误选项!");

         printf("\t\t\t按任意键返回...");

         getch();*/

     }

   clrscr();     /*每执行完一项功能后,自动清屏*/

       }

 

}

 

 

1.              总结

通过本次的C++课程设计,让我学会了把书本上的知识应用到了实际中来。虽然在这几周中有过挫折和坎坷,有的问题一直到了最后才被解决,但是我认为这未必就不是好事,这样能锻炼我的意志,磨练我的耐心,失败是成功之母,这话一点都没错,没有失败就没有成功。

让我没有失去信心的是关怀我们的老师,当我们有了问题和疑问,老师就很耐心的给予讲解,让我们有了一个良好的学习氛围。

2.              参考文献

C++程序设计》 钱能  清华大学出版社

C++程序设计试验指导》 钱能  清华大学出版社

C程序设计》 谭浩强  清华大学出版社

上一页  [1] [2] [3] [4] [5] [6] [7] [8] 

C++学生成绩管理系统 第8页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。