下载 >  开发技术 >  C > C语言学生成绩管理系统

C语言学生成绩管理系统

2009-01-06 上传大小:4KB
分享
#include   <stdio.h>   
  #include   <stdlib.h>   
  #include   <string.h>   
  #include<ctype.h>   
  #define   M   3  
  struct   student   
  {long   num;   
    char   name[20];   
    char   sex;   
    int  score[5];   
    int   ave;   
  }stu[M];
 void init()
{
  printf("\t\t********************************\n\n");
  printf("\t\tStudent score management systerm \n");
  printf("\n");
  printf("\t\t       Make by Maggiehe          \n");
  printf("\n")
                            ;
  printf("\t\t  Student number is 3206*****   \n\n");
  printf("\t\t********************************\n\n");
 } 
  void   input()   
  {   
    int   i,j;   
    printf("\nInput the student number name sex math  English PE maolun    majing:\n");   
    for(i=0;i<M;i++)   
    {scanf("%ld,%s,%c",&stu[i].num,stu[i].name,&stu[i].sex);   
    for(j=0;j<5;j++)   
    scanf("%d",&stu[i].score[j]);   
    scanf("%d",&stu[i].ave);   
    save();   
    }   
  }   
  void   list()   
  {   
    int   i,j;   
    clrscr();   
    printf("\t**********************student****************************\n");   
    printf("num  name  sex  math  English  PE  maolun  majing:\n");   
    for(i=0;i<M;i++)   
{
printf("%ld   %s  %c",stu[i].num,stu[i].name,stu[i].sex);   
    for(j=0;j<5;j++)   
    printf("%d",stu[i].score[j]);   
printf("%d",stu[i].ave);
}   
    if((i+1)%10==0)   
    {   
      printf("\npress   any   key   continue.......\n");   
      getch();   
      }   
      printf("\t*************************end*********************************\n");   
  }   
  void   average()   
  {   
    int   i,j;   
    float   sum[M];   
    for(i=0;i<M;i++)   
    for(j=0;j<5;j++)   
    sum[i]+=stu[i].score[j];   
    stu[i].ave=sum[i]/5.0;   
  }   
  void   search_num()   
  {   
    long   num;   
    int   i,j;   
    printf("\nplease   enter   number   which   you   want   to   search:");   
    scanf("%ld",&num);   
    printf("\n");   
    for(i=0;i<M;i++)   
    if(stu[i].num!=num)   
        printf("The   number   is   not   exist\n");   
    else   
       { printf("number name  sex  math  English  PE  maolun majing     average\n");   
        printf("%ld  %s  %c",stu[i].num,stu[i].name,stu[i].sex);   
        for(j=0;j<5;j++)   
        printf("%d",stu[i].score[j]);   
        printf("%d",stu[i].ave);   
}
  }   
  void   search_nam()   
  {   
    int   i,j;   
    char   name[20];   
    printf("\nplease   enter   name   which   you   want   to   search:");   
    scanf("%s",&name);   
    printf("\n");   
    for(i=0;i<M;i++)   
    if(strcmp(stu[i].name,name)==0)   
    {   
      printf("number name sex math  English  PE  maolun  majing average:\n");   
      printf("%ld%s%c",stu[i].num,stu[i].name,stu[i].sex);   
      for(j=0;j<5;j++)   
      printf("%d",stu[i].score[j]);   
      printf("%d",stu[i].ave);   
    }   
    else   
      printf("\nThe   name   is   not   exist!!!\n");   
  }   
  void   search_ave()   
  {   
    int   i,j,a=0;   
    float   k;   
    printf("please   enter   average   score   which   you   want   to   search:");   
    scanf("%f",&k);   
    printf("\n");   
    for(i=0;i<M;i++)   
    if(stu[i].ave!=k)   
      printf("The   average   score   is   not   exist!!!\n");   
    else   
      for(i=0;i<M;i++)   
      {   
        if(stu[i].ave<=k)   
        printf("number name  sex  math  English  PE maolun majing average\n");   
        printf("%ld  %s  %c",stu[i].num,stu[i].name,stu[i].sex);   
        for(j=0;j<5;j++)   
        printf("%d",stu[i].score[j]);   
        printf("%d",stu[i].ave);   
        a++;   
        }   
  }   
  void   sort()   
  {   
    int   i,j;   
    struct   student   temp;   
    for(i=0;i<M;i++)   
    for(j=i+i;j<M;j++)   
    if(stu[i].ave<stu[j].ave)   
        {temp=stu[i];   
        stu[i]=stu[j];   
        stu[j]=temp;   
        }   
  }   
  void   save()   
  {   
    int   i;   
    FILE   *fp;   
    if((fp=fopen("student.dat","wb"))==NULL)   
      {printf("cannot   open   file\n");   
      return;   
      }   
    for(i=0;i<M;i++)   
      if(fwrite(&stu[i],sizeof(struct   student),1,fp)!=1)   
          printf("file   write   error\n");   
      fclose(fp);   
  }   
  void   delect()   
  {   
    int   i,t;   
    long   num;   
    printf("please   enter   number   which   you   want   to   delect:");   
    scanf("%ld",&num);   
    printf("\n");   
    for(i=0;i<M;i++)   
    {   
      if(stu[i].num!=num)   
      printf("The   number   is   not   exist!!!\n");   
      if(stu[i].num==num)   
      t=i;   
      }   
      for(i=t;i<M;i++)   
      stu[i]=stu[i+1];   
      save();   
  }   
  void   insert()   
  {FILE   *fp;   
    int   i,n,t;   
    struct   student   s;   
    printf("please   input   record\n");   
    printf("number name sex math  English PE maolun  majing average\n");  scanf("%ld,%s,%c,%d%d%d%d%d%d",&s.num,s.name,&s.sex,&s.score[0],&s.score[1],&s.score[2],&s.score[3],&s.score[4],&s.ave);   
    s.ave=(s.score[0]+s.score[1]+s.score[2]+s.score[3]+s.score[4])/3.0;   
    if((fp=fopen("student.dat","wb"))==NULL)   
    {printf("cannot   open   file\n");   
    return;   
    }   
    i=M;   
    for(t=0;stu[i].ave>s.ave&&t<M;t++)   
    if(fwrite(&s,sizeof(struct   student),1,fp)!=1)   
      printf("file   write   error\n");   
      fclose(fp);   
  }   
  void   MainMenu()   
  {clrscr();   
   printf("\t********************************************************************\n
\n);   
    Printf(“\n”);
    printf("\t         choose   one   of   following:\n");   
    printf("\t                                 1.   search   record\n");   
    printf("\t                                 2.   sort   record\n");   
    printf("\t                                 3.   insert   record\n");   
    printf("\t                                 4.   delect   record\n");   
    printf("\t         please   enter   your   choice:");   
   printf(“\n”); printf("\t********************************************************************\n");   
  }   
  void   menu_select()   
  {clrscr();   
    printf("\t******************************************************************\n\n");  printf(“\n”);
    printf("\t         choose   one   of   following:\n");   
    printf("\t                                 1.1   search   by   number\n");   
    printf("\t                                 1.2   search   by   name\n");   
    printf("\t                                 1.3   search   by   average   score\n");   
    printf("\t         please   enter   your   choice:");   
   printf(“\n”); printf("\t******************************************************************\n");   
  }   
  void   search()   
  {   
    char   ch;   
    clrscr();   
    menu_select();   
    ch=getch();   
    switch(ch)   
      {   
        case   '1':search_num();break;   
        case   '2':search_nam();break;   
        case   '3':search_ave();break;   
        }   
  }   
  main()   
  {   
    char   ch;   
    clrscr(); 
    init();
    input();
    list();
    average();
    save();
    MainMenu();   
    ch=getch();   
      switch(ch)   
      {   
        case   '1':search();break;   
        case   '2':sort();break;   
        case   '3':insert();break;   
        case   '4':delect();break;   
        }   
    search_num();
    search_nam();
    search_ave();
sort();
delect();
    insert;

  }                        
...展开收缩
综合评分:4
开通VIP 立即下载

评论共有23条

kuncuanman9846 2017-10-25 20:53:09
还没看 文件名怎么看
qq214793102 2015-08-04 09:39:36
借鉴下还可以。
a951374071 2015-01-01 11:15:41
谢谢分享,新手学习了
 

热点文章

VIP会员动态

关闭
img

spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
点击完成任务获取下载码
输入下载码
为了良好体验,不建议使用迅雷下载
img

C语言学生成绩管理系统

会员到期时间: 剩余下载个数: 剩余C币: 剩余积分:0
为了良好体验,不建议使用迅雷下载
VIP下载
您今日下载次数已达上限(为了良好下载体验及使用,每位用户24小时之内最多可下载20个资源)

积分不足!

资源所需积分/C币 当前拥有积分
您可以选择
开通VIP
4000万
程序员的必选
600万
绿色安全资源
现在开通
立省522元
或者
购买C币兑换积分 C币抽奖
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
为了良好体验,不建议使用迅雷下载
确认下载
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
为了良好体验,不建议使用迅雷下载
开通VIP
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
确认下载
下载
无法举报自己的资源

兑换成功

你当前的下载分为234开始下载资源
你还不是VIP会员
开通VIP会员权限,免积分下载
立即开通

你下载资源过于频繁,请输入验证码

您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:webmaster@csdn.net!

举报

若举报审核通过,可返还被扣除的积分

  • 举报人:
  • 被举报人:
  • *类型:
    • *投诉人姓名:
    • *投诉人联系方式:
    • *版权证明:
  • *详细原因: