c语言学生成绩管理整理.docx

上传人:b****3 文档编号:1804314 上传时间:2022-10-24 格式:DOCX 页数:17 大小:22.47KB
下载 相关 举报
c语言学生成绩管理整理.docx_第1页
第1页 / 共17页
c语言学生成绩管理整理.docx_第2页
第2页 / 共17页
c语言学生成绩管理整理.docx_第3页
第3页 / 共17页
c语言学生成绩管理整理.docx_第4页
第4页 / 共17页
c语言学生成绩管理整理.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

c语言学生成绩管理整理.docx

《c语言学生成绩管理整理.docx》由会员分享,可在线阅读,更多相关《c语言学生成绩管理整理.docx(17页珍藏版)》请在冰豆网上搜索。

c语言学生成绩管理整理.docx

c语言学生成绩管理整理

c语言课程设计_学生成绩管理系统3

课程设计的内容:

1、每一条记录包括一个学生的学号、姓名、3门课成绩、平均成绩。

2、输入功能:

可以一次完成若干条记录的输入。

3、显示功能:

完成全部学生记录的显示。

4、查找功能:

完成按姓名查找学生记录,并显示。

5、排序功能:

按学生平均成绩进行排序。

6、插入功能:

按平均成绩高低插入一条学生记录。

7、将学生记录存在文件score中。

8、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!

课程设计的要求:

1、用C语言实现系统;

2、利用结构体数组实现学生成绩的数据结构设计;

3、系统具有增加,查询,插入,排序等基本功能;

4、系统的各个功能模块要求用函数的形式实现;

5、完成设计任务并书写课程设计报告。

6、将学生成绩信息存在文件中。

#include       /*暂停函数*/

#include     /*I/O函数*/

#include    /*其它说明*/

#include    /*字符串操作函数*/

#define M1000

intN=0。

               /*记录已经存在的记录条数*/

intH=0。

structstudent         /*定义数据结构*/

 {charnumber[8]。

  charname[16]。

  floatscore[3]。

  floataverage。

 }stud[M],temp。

 /*以下是函数声明*/

 voidload(void)。

                      /*读入记录*/

 voidinorder(structstudentstud[])。

  /*排列记录*/

 voidinsert(structstudentstud[])。

   /*插入记录*/

 voidsave(structstudentstud[])。

     /*保存记录*/

 voidprint(structstudentstud[])。

    /*显示记录*/

 voidsearch(structstudentstud[])。

   /*查找记录*/

 voidenter(structstudentstud[])。

    /*输入记录*/

 voiddel(void)。

                       /*删除记录*/

 voidchange(void)。

                    /*改变记录*/

 voidquit(void)。

                      /*退出系统*/

 intflag(structstudentstud[])。

      /*返回值为0或1*/

 intmenu(void)。

                       /*菜单*/

main()                 /*主函数*/

 {/*以下printf语句为打印欢迎界面语句*/

  printf("\n\n\n\n\n\n\n\t\t\t\t\t\t\t\t\t!

!

!

!

!

\n")。

  printf(" w          weeeeeee l     ccccccc ooooo  mmmmmmmmm eeeeeee    !

!

!

!

\n")。

  printf(" w    w    we    e l     c      o    o m  m  m e    e    !

!

!

\n")。

  printf("  w  ww  w eeeeee l     c     o      om  m  m eeeeeee    !

!

 \n")。

  printf("   ww  ww  e       l     c      o    o m  m  m e          !

  \n")。

  printf("    w    w   eeeeeee llllllccccccc ooooo  m  m  m eeeeeee        \n")。

  printf("\t\t\t\t\t\t\t\t\t\b0")。

  sleep

(1)。

  printf("\n\n\n\n\n\t\t\t\t\t\t\t\t    -----pan")。

  sleep

(1)。

  load()。

             /*调用读入记录函数*/

  for(。

)             /*无限循环*/

   {switch(menu())   /*调用主菜单函数,返回值整数作开关语句的条件*/

     {case1:

enter(stud)。

 break。

  /*输入记录*/

       case2:

print(stud)。

 break。

  /*显示要看的一页的记录*/

       case3:

search(stud)。

break。

  /*查找记录*/

       case4:

inorder(stud)。

break。

  /*排序*/

       case5:

insert(stud)。

break。

  /*插入记录*/

       case6:

save(stud)。

  break。

  /*保存文件*/

       case7:

change()。

    break。

  /*改变记录*/

       case8:

del()。

       break。

  /*删除记录*/

       case9:

quit()。

               /*如菜单返回值为9程序结束*/

     }

   }

 }

/*输入数据函数*/

voidenter(structstudentstud[])

 {intn=0,i,j,k,c。

  charb[4]。

  floatsum。

  printf("Howmanystudent'srecorddoyouwanttoenter?

n= ?

\b\b\b")。

  scanf("%d",&n)。

     /*输入一次要输入记录数*/

  for(i=0。

i

   {sum=0。

           /*统记三科总分*/

     printf("Inputthe%dthstudent'snumber",N+1)。

     scanf("%s",stud[N].number)。

       /*输入学号*/

     /*以下if-else语句判断所输记录是否存在*/

     if(flag(stud))   /*调用返回值为0或1函数,判断所输入的学号是否已经存在,存在就执行if语句*/

      {

        printf("Therecordhasexist.\n")。

        printf("Inputagain.")。

        getch()。

      }

     else

      {printf("Inputthe%dthstudent'sname",N+1)。

        scanf("%s",stud[N].name)。

      /*输入姓名*/

        for(j=0。

j<3。

j++)

         {do

           {

            printf("Inputthe%dthstudent'sscore(%d)",N+1,j+1)。

     /*打印提示*/

            scanf("%s",b)。

             /*输入分数*/

            stud[N].score[j]=atof(b)。

  /*将字符串强制转换成实型,得值赋给stud[N].score[j]*/

            if(stud[N].score[j]<=0||stud[N].score[j]>100)             /*判断分数是否在0-100之间*/

             {

              k=1。

                     /*分数不在0-100之间时k值为1*/

              printf("Errorinput!

!

!

\n")。

              printf("Inputagain...\n")。

           /*打印出错提示*/

             }

            else

             k=0。

                      /*分数在0-100之间时k值为0*/

           }while(k)。

                  /*由k值决定是否要循环*/

           sum+=stud[N].score[j]。

      /*统记三科总分*/

         }

        stud[N].average=sum/3.0。

       /*平均分*/

        printf("\nEntersuccess!

!

!

\n")。

        printf("\nPressanykeytoreturn.")。

        getch()。

        N++。

                           /*记录数加1*/

        i++。

        H=1。

      }

      clrscr()。

       /*清屏*/

   }

   clrscr()。

          /*清屏*/

 }

/*显示记录函数*/

voidprint(structstudentstud[])

 {inti=0,k,max,maxb,n,flag='y'。

  charm[6]。

   /*以下if-else为判断文件中是否有记录*/

  if(N==0)

   {

    printf("Therearenotrecord.\n")。

    printf("Pressanykeytoreturn.")。

         /*当N为0时(即没有记录)打印没有记录提示*/

    getch()。

   }

  else

  while(flag!

='n')

   {maxb=0。

i=0。

     /*以下分页输出记录*/

     do

     {if(N%10!

=0)

         {printf("\n\t\tThereare%dpagesinall.",N/10+1)。

           printf("\n\t\tWhichpagedoyouwanttosee?

")。

  

         }

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 判决书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1