C语言代码实现学生成绩管理系统

某班有最多不超过 30 人(具体人数由键盘输人)参加期未考试,考试科目 最多不超过 6 门(具体门数由键盘输入,但不少于 3 门),学生成绩管理系统是一 个非常实用的程序,如果能够把用户输入数据存盘,下次运行时读出,就更有用 了。增加文件读写的功能,即编程实现如下菜单驱动的学生成绩管理系统:

(1) 录入每个学生的学号、姓名和各科考试成绩。
(2) 计算每门课程的总分和平均分。
(3) 计算每个学生的总分和平均分。
(4) 按每个学生的总分由高到低排出名次表。
(5) 按学号由小到大排出成绩表。
(6) 按姓名的字典顺序排出成绩表。
(7) 按学号查询学生排名及其考试成绩。
(8) 按姓名查询学生排名及其考试成绩。
(9) 按优秀(90-100 分)、良好(80-89 分)、中等(70-79 分)、及格(60-69 分)、 不及格(0-59 分)5 个类别,对每门课程分别统计每个类别的人数以及所占的百 分比。
(10)输出每个学生的学号、姓名、各科考试成绩、总分、平均分以及每门课 程的总分和平均分。

代码如下:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
const int N = 40;
int i,j;
typedef struct  control
{
    int no;
    char name[20];
    char name1[20];
    int cj[7];
    int all;
    int lave;

} AVA;
// ------------------------函数
void menu();
void menu1();
void menu2();
void menu4(AVA stu[],int n,int n3);
//-------------------------
//-------------------------链接菜单与功能的函数
void basic(AVA stu[]);
//------------------------
//-------------------------信息录入函数
void keyboard(AVA stu[],int n,int n2);
//------------------------功能函数调用总函数
void case1(AVA stu[],int n,int a);
//========================
//------------------------功能函数
void function4(AVA stu[],AVA t,int n);//总分排序
void function5(AVA stu[],AVA t,int n);//学号排序
void function6(AVA stu[],AVA t,int n);//姓名排序
void function7(AVA stu[],AVA t,int n,int w);//学号查找
void function8(AVA stu[],AVA t,int n,char s[]);//姓名查找
void function9(AVA stu[],int n,int a);//数据分析
void function10(AVA stu[],int n,int a,int b1[],int b2[]);//输出学生信息
void function11(AVA stu[],int n,int a);//存进文件里面
void exchange(AVA stu[],int a,int b);//读档函数
//-------------------------
int main()
{
    AVA  stu[N];
   for(i = 0; i < 30; i ++)
   {
       stu[i].all = 0;
       stu[i].lave = 0;
   }
  basic(stu);
  return 0;
}
void menu()
{
     printf("_                                                                     _\n");
    printf("|                                                                     |\n");
    printf("                                                                       \n");
    printf("                                                                       \n");
    printf("                            学生信息管理系统                           \n");
    printf("                                                                       \n");
    printf("                                                                       \n");
    printf("                                                                       \n");
    printf("|                                                                     |\n");
    printf("-                                                                     -\n");
}
void menu1()
{
    printf("->                             信息输入                              <-\n");
    printf("->                             学课成绩                              <-\n");
    printf("->                             学生成绩                              <-\n");
    printf("->                             总分排序                              <-\n");
    printf("->                             学号排序                              <-\n");
    printf("->                             姓名排序                              <-\n");
    printf("->                             学号查询                              <-\n");
    printf("->                             姓名查询                              <-\n");
    printf("->                             数据分析                              <-\n");
    printf("->                             信息输出                              <-\n");
    printf("->                             数据存档                              <-\n");
}
void menu2()
{
    printf("_                                                                     _\n");
    printf("|                                                                     |\n");
    printf("->                             功能代号                              <-\n");
    printf("->                <1><2><3><4><5><6><7><8><9><10><11>                <-\n");
    printf("|                                                                     |\n");
    printf("-                                                                     -\n");
}
void menu4(AVA stu[],int n,int n3)//读档函数总调用
{
    printf("如果档案中没有存有足够的学科数,则可能提取乱码\n");
    printf("如果文件中没有数据则会显示无法打开\n");
    exchange( stu,n,n3);
    case1( stu,n,n3);

}
//中转函数,菜单与功能的桥梁
void basic(AVA stu[])
{
    menu();
    printf("若无学生信息档案需要先录入\n");
    printf("<1-录入><2-读档><3-退出>\n");
    int n,n1,n3;
    do
    {
        scanf("%d",&n1);
        if(3<n1||n1<1)
        {
            printf("数据输入错误,请重新输入\n");
        }
    }while(3<n1||n1<1);
     printf("输入学生数量\n");
    do
    {
        scanf("%d",&n);
        if(30<n||n<1)
        {
            printf("数据输入错误,请重新输入<1-30>\n");
        }
    }while(30<n||n<1);
    printf("输入学科数量\n");
     do
    {
        scanf("%d",&n3);
        if(6<n3||n3<3)
        {
            printf("数据输入错误,请重新输入<3-6>\n");
        }
    }while(6<n3||n3<3);
    if(n1==1)
{
 keyboard( stu,n,n3);
   case1( stu, n,n3);
}

    else if(n1==2)  menu4(stu,n,n3);

    else
    {
        printf("欢迎再次使用\n");
        exit(0);
    }

}
//=========================功能函数调用的函数
void case1(AVA stu[],int n,int a)
{
    AVA t;

         for(i = 0; i < n; i ++)
    {

        for(j = 0; j < a; j ++)
        {

            stu[i].all+=stu[i].cj[j];
        }

        stu[i].lave = stu[i].all/a;
    }
     int x[10]={0},y[10]={0};
      for(j = 0; j < a;j ++)
    {
       for(i = 0; i < n; i ++)
        {
            y[j]+=stu[i].cj[j];
        }
    }
    for(i = 0; i < a; i ++)
    {
        x[i] = y[i]/n;
    }
    menu1();
    menu2();
    printf("数据录入成功\n");
    printf("请输入你想选择的功能\n");
    int n2;
    while(scanf("%d",&n2)&&n2!=0)
    {
        if(n2==2)
        {
            for(i = 0; i < a; i ++)
            {
                 printf("第%d门总分为:%d,平均分为:%d\n",i+1,y[i],x[i]);
            }
            menu1();
            menu2();
            printf("完成\n");
        }
        else if(n2==3)
        {
            int f;
            printf("计算完成,是否打印?<1 or 0>\n");
            scanf("%d",&f);
            if(f==1)
                {
            for(i = 0; i < n; i ++)
            {
                printf("第%d个同学的总分为:%d,平均分为:%d\n",i+1,stu[i].all,stu[i].lave);
            }
            printf("打印完成\n");
            menu2();
                }
            else
            {
                menu1();
                menu2();
            }
             printf("完成\n");
        }
        else if(n2==4)
        {
            function4( stu, t, n);
            menu1();
            menu2();
            printf("完成\n");
        }
        else if(n2==5)
        {
            function5( stu, t, n);
            menu1();
            menu2();
            printf("完成\n");
        }
        else if(n2==6)
        {
            function6( stu, t, n);
            menu1();
            menu2();
            printf("完成\n");
        }
        else if(n2==7)
        {
            int w;
            printf("输入你想查询的学号\n");
            scanf("%d",&w);
            function7( stu, t, n, w);
            menu1();
            menu2();
            printf("完成\n");
        }
        else if(n2==8)
        {
            char s[30];
            printf("输入你想查询的名字\n");
            scanf("%s",s);
            function8(stu,t, n,s);
             menu1();
             menu2();
            printf("完成\n");
        }
        else if(n2==9)
        {
            function9( stu, n, a);
            menu1();
            menu2();
            printf("完成\n");
        }
        else if(n2==10)
        {
            function10( stu, n, a, x, y);
            menu1();
           menu2();
           printf("完成\n");
        }
        else if(n2==11)
        {
            function11( stu, n, a);
            menu1();
            menu2();
            printf("完成\n");
        }
        else  menu2();
    }
}

//=========================信息录入函数
void keyboard(AVA stu[],int n,int n2)
{
         for(i = 0; i < n; i ++)
    {
        printf("正在输入%d个学生信息\n",i+1);                     //
        printf("学号:\n");
        scanf("%d",&stu[i].no);
        printf("姓名:\n");
        scanf("%s",stu[i].name);
        printf("姓名拼音简写\n");
        scanf("%s",stu[i].name1);
        printf("分别输入%d门学课成绩\n",n2);
        for(j = 0; j < n2; j ++)
        {
            scanf("%d",&stu[i].cj[j]);

        }

    }

}
void function4(AVA stu[],AVA t,int n)//总分排序
{
    printf("总分排序\n");
    FILE *fp;
    for(i = 0; i < n-1;i ++)
      for(j = 0; j < n-1-i;j++)
      {
         if(stu[j].all<stu[j+1].all)
         {
             t = stu[j];
             stu[j] = stu[j+1];
             stu[j+1] = t;
         }
      }
     printf("正在生成文件\n");
     printf("请及时拷贝文件,否则会造成数据丢失\n");
     fp = fopen("总分排序.txt","w");
     if(fp==NULL)
     {
         printf("打开失败\n");
         exit(0);
     }
     for(i = 0; i < n;i ++)
     {
         fprintf(fp,"%s %d\n",stu[i].name,stu[i].all);
     }
     fclose(fp);
}
void function5(AVA stu[],AVA t,int n)//学号排序
{
    printf("学号排序\n");
    FILE *fp;
    for(i = 0; i < n-1;i ++)
      for(j = 0; j < n-1-i;j++)
      {
         if(stu[j].no<stu[j+1].no)
         {
             t = stu[j];
             stu[j] = stu[j+1];
             stu[j+1] = t;
         }
      }
     char name[N];
     strcpy(name,"学号为:");
     printf("正在生成文件\n");
     printf("请及时拷贝文件,否则会造成数据丢失\n");
     fp = fopen("学号排序.txt","w");
     if(fp==NULL)
     {
         printf("打开失败\n");
         exit(0);
     }
     for(i = 0; i < n;i ++)
     {
         fprintf(fp,"%s%d\n",name,stu[i].no);
         fprintf(fp,"%s%d\n",stu[i].name,stu[i].all);
     }
     fclose(fp);
}
void function6(AVA stu[],AVA t,int n)//姓氏排序
{
    printf("姓名排序\n");
    FILE *fp;
    for(i = 0; i < n-1;i ++)
      for(j = 0; j < n-1-i;j++)
      {
         if(stu[j].name1[0]>stu[j+1].name1[0])
         {
             t = stu[j];
             stu[j] = stu[j+1];
             stu[j+1] = t;
         }
      }
     printf("正在生成文件\n");
     printf("请及时拷贝文件,否则会造成数据丢失\n");
     fp = fopen("姓名排序.txt","w");
     if(fp==NULL)
     {
         printf("打开失败\n");
         exit(0);
     }
     for(i = 0; i < n;i ++)
     {
         fprintf(fp,"%s%d\n",stu[i].name,stu[i].all);
     }
     fclose(fp);
}
void function7(AVA stu[],AVA t,int n,int w)//学号查找
{
     int m = 0;
     for(i = 0; i < n-1;i ++)
      for(j = 0; j < n-1-i;j++)
      {
         if(stu[j].all<stu[j+1].all)
         {
             t = stu[j];
             stu[j] = stu[j+1];
             stu[j+1] = t;
         }
      }
      for(i = 0; i <n; i ++)
      {
          m++;
          if(stu[i].no==w)
          {
              printf("学号为:%d\n",stu[i].no);
              printf("姓名为:%s\n",stu[i].name);
              printf("成绩为:%d\n",stu[i].all);
              printf("排名为:%d\n",m);
              break;
          }
      }
}
void function8(AVA stu[],AVA t,int n,char s[])//姓名查找
{
     int m = 0;
     for(i = 0; i < n-1;i ++)
      for(j = 0; j < n-1-i;j++)
      {
         if(stu[j].all<stu[j+1].all)
         {
             t = stu[j];
             stu[j] = stu[j+1];
             stu[j+1] = t;
         }
      }
      for(i = 0; i <n; i ++)
      {
          m++;
          if(strcmp(stu[i].name,s)==0)
          {
              printf("学号为:%d\n",stu[i].no);
              printf("姓名为:%s\n",stu[i].name);
              printf("成绩为:%d\n",stu[i].all);
              printf("排名为:%d\n",m);
              break;
          }
      }

}
void function9(AVA stu[],int n,int a)//数据分析
{
    printf("请在文件夹中查看\n");
    for(i = 0; i < a; i++)
    {
        double k1=0,k2=0,k3=0,k4=0,k5=0;
         for( j = 0; j < n; j ++)
    {
        if(stu[j].cj[i]>=90)  k1++;

        else if(stu[j].cj[i]>=80&&stu[j].cj[i]<=89) k2++;

        else if(stu[j].cj[i]>=70&&stu[j].cj[i]<=79) k3++;

        else if(stu[j].cj[i]>=60&&stu[j].cj[i]<=69)  k4++;

        else if(stu[j].cj[i]<=59)  k5++;
    }
      FILE *fp;
      fp = fopen("数据分析.txt","a");
      if(fp==NULL)
      {
        printf("打开失败\n");
        exit(0);
      }
      char s[20];
      strcpy(s,"subject");
      s[7] = '0'+i;
      s[8] = '\0';
      char name1[20];
      char name2[20];
      char name3[20];
      char name4[20];
      char name5[20];
      strcpy(name1,"优:%");
      strcpy(name2,"良好:%");
      strcpy(name3,"中等:%");
      strcpy(name4,"及格:%");
      strcpy(name5,"不及格:%");
      fprintf(fp,"\n%s\n",s);
      fprintf(fp,"%s%.2f\n",name1,(k1*100)/n);
      fprintf(fp,"%s%.2f\n",name2,(k2*100)/n);
      fprintf(fp,"%s%.2f\n",name3,(k3*100)/n);
      fprintf(fp,"%s%.2f\n",name4,(k4*100)/n);
      fprintf(fp,"%s%.2f\n",name5,(k5*100)/n);
     k1=0,k2=0,k3=0,k4=0,k5=0;
     fclose(fp);
    }

}
void function10(AVA stu[],int n,int a,int b1[],int b2[])//输出学生信息
{
    for(i = 0; i < n; i ++)
  {

       printf("学号:%d\n",stu[i].no);
       printf("姓名:%s\n",stu[i].name);
       printf("总分:%d\n",stu[i].all);
       printf("平均分:%d\n",stu[i].lave);
       printf("每科分数为:");
       for(j = 0; j < a; j ++)
       {
           printf("%d ",stu[i].cj[j]);
       }
       printf("\n");
       printf("\n");
       printf("\n");
       printf("\n");
       }
    printf("学科平均分为:\n");
   for(j = 0; j < a; j ++)
    {
    printf("第%d学科平均分为:%d\n",j+1,b1[j]);
    }
    printf("学科总分:\n");
    for(j = 0; j < a; j ++)
    {
    printf("第%d学科总分为:%d\n",j+1,b2[j]);
    }
}
void function11(AVA stu[],int n,int a)//存进文件中
{
    FILE *fp;
    fp = fopen("学生信息存档.txt","a");
    if(fp==NULL)
    {
        printf("无法打开\n");
        exit(0);
    }
    char name[30];
    char name1[30];
    char name2[30];
    strcpy(name,"每科成绩:");
    strcpy(name1,"总平均成绩:");
    strcpy(name2,"总成绩:");
    for(i = 0; i < n; i ++)
    {
        fprintf(fp,"\n%d %s\n",stu[i].no,stu[i].name);
        fprintf(fp,"%s %d\n",name2,stu[i].all);
        fprintf(fp,"%s %d\n",name1,stu[i].lave);
        fprintf(fp,"%s\n",name);
        for(j = 0; j < a;j ++)
        {
            fprintf(fp,"%d ",stu[i].cj[j]);
        }
    }
  fclose(fp);
  FILE *fpk1,*fpk2,*fpk3,*fpk4,*fpk5,*fpk6,*fpk7,*fpk8,*fpk9;
  fpk1 = fopen("学号.txt","a");
  fpk2 = fopen("姓名.txt","a");
  fpk3 = fopen("姓名简称.txt","a");
  fpk4 = fopen("学科1.txt","a");
  fpk5 = fopen("学科2.txt","a");
  fpk6 = fopen("学科3.txt","a");
  fpk7 = fopen("学科4.txt","a");
  fpk8 = fopen("学科5.txt","a");
  fpk9 = fopen("学科6.txt","a");
  if(fpk1==NULL||fpk2==NULL||fpk3==NULL||fpk4==NULL||fpk5==NULL||fpk6==NULL||fpk7==NULL||fpk8==NULL||fpk9==NULL)
  {
      printf("无法打开\n");
      exit(0);
  }
  for(i = 0; i < n; i ++)
  {
      fprintf(fpk1,"%d\n",stu[i].no);
      fprintf(fpk2,"%s\n",stu[i].name);
      fprintf(fpk3,"%s\n",stu[i].name1);
      fprintf(fpk4,"%d\n",stu[i].cj[0]);
      fprintf(fpk5,"%d\n",stu[i].cj[1]);
      fprintf(fpk6,"%d\n",stu[i].cj[2]);
      if(a==4||a==5||a==6)
      {
          fprintf(fpk7,"%d\n",stu[i].cj[3]);
      }
      if(a==5||a==6)
      {
          fprintf(fpk8,"%d\n",stu[i].cj[4]);
      }
      if(a==6)
        {
        fprintf(fpk9,"%d\n",stu[i].cj[5]);
        }

  }
   fclose(fpk1);
   fclose(fpk2);
   fclose(fpk3);
   fclose(fpk4);
   fclose(fpk5);
   fclose(fpk6);
   fclose(fpk7);
   fclose(fpk8);
   fclose(fpk9);
}
void exchange(AVA stu[],int a,int b)//读档函数 a学生b学科
{
   FILE *fpk1,*fpk2,*fpk3,*fpk4,*fpk5,*fpk6,*fpk7,*fpk8,*fpk9;
    fpk1 = fopen("学号.txt","r");
    fpk2 = fopen("姓名.txt","r");
    fpk3 = fopen("姓名简称.txt","r");
    fpk4 = fopen("学科1.txt","r");
    fpk5 = fopen("学科2.txt","r");
    fpk6 = fopen("学科3.txt","r");
    fpk7 = fopen("学科4.txt","r");
    fpk8 = fopen("学科5.txt","r");
    fpk9 = fopen("学科6.txt","r");
    if(fpk1==NULL||fpk2==NULL||fpk3==NULL||fpk4==NULL||fpk5==NULL||fpk6==NULL||fpk7==NULL||fpk8==NULL||fpk9==NULL)
  {
      printf("无法打开\n");
      exit(0);
  }
  i = 0;
  char s1[N],s2[N],s3[N],s4[N],s5[N],s6[N],s7[N],s8[N],s9[N];
   while(fgets(s1,40,fpk1)!=NULL)
   {
       int w;
       w = strlen(s1);
       if(w==2)
       {
           stu[i].no = s1[0]-'0';
       }
       else if(w==3)
       {
           stu[i].no=(s1[0]-'0')*10+s1[1]-'0';
       }
       i++;
       if(i==a) break;
   }
   i=0;
   while(fgets(s2,40,fpk2)!=NULL)
   {
       strcpy(stu[i].name,s2);
       i++;
       if(i==a)break;
   }
   i=0;
    while(fgets(s3,40,fpk3)!=NULL)
   {
       strcpy(stu[i].name1,s3);
       i++;
       if(i==a)break;
   }
        i = 0;
   while(fgets(s4,40,fpk4)!=NULL)
   {
       int w;
       w = strlen(s4);
       if(w==2)
       {
          stu[i].cj[0] = s4[0]-'0';
       }
       else if(w==3)
       {
            stu[i].cj[0]=(s4[0]-'0')*10+s4[1]-'0';
       }
       i++;
       if(i==a) break;
   }
    i = 0;
   while(fgets(s5,40,fpk5)!=NULL)
   {
       int w;
       w = strlen(s5);
       if(w==2)
       {
            stu[i].cj[1] = s5[0]-'0';
       }
       else if(w==3)
       {
          stu[i].cj[1]=(s5[0]-'0')*10+s5[1]-'0';
       }
       i++;
       if(i==a) break;
   }
    i = 0;
   while(fgets(s6,40,fpk6)!=NULL)
   {
       int w;
       w = strlen(s6);
       if(w==2)
       {
           stu[i].cj[2] = s6[0]-'0';
       }
       else if(w==3)
       {
           stu[i].cj[2]=(s6[0]-'0')*10+s6[1]-'0';
       }
       i++;
       if(i==a) break;
   }
    if(b==4||b==5||b==6)
    {
          i = 0;
   while(fgets(s7,40,fpk7)!=NULL)
   {
       int w;
       w = strlen(s7);
       if(w==2)
       {
           stu[i].cj[3] = s7[0]-'0';
       }
       else if(w==3)
       {
           stu[i].cj[3]=(s7[0]-'0')*10+s7[1]-'0';
       }
       i++;
       if(i==a) break;
   }
    }
     if(b==5||b==6)
     {
          i = 0;
   while(fgets(s8,40,fpk8)!=NULL)
   {
       int w;
       w = strlen(s8);
       if(w==2)
       {
            stu[i].cj[4] = s8[0]-'0';
       }
       else if(w==3)
       {
          stu[i].cj[4]=(s8[0]-'0')*10+s8[1]-'0';
       }
       i++;
       if(i==a) break;
   }
     }
    if(b==6)
    {
         i = 0;
   while(fgets(s9,40,fpk9)!=NULL)
   {
       int w;
       w = strlen(s9);
       if(w==2)
       {
           stu[i].cj[5] = s9[0]-'0';
       }
       else if(w==3)
       {
           stu[i].cj[5]=(s9[0]-'0')*10+s9[1]-'0';
       }
       i++;
       if(i==a) break;
   }
    }

   fclose(fpk1);
   fclose(fpk2);
   fclose(fpk3);
   fclose(fpk4);
   fclose(fpk5);
   fclose(fpk6);
   fclose(fpk7);
   fclose(fpk8);
   fclose(fpk9);
   printf("读档完成\n");
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • C语言编写学生成绩管理系统

    用C语言编写学生成绩管理系统代码,供大家参考,具体内容如下 C语言实现学生成绩管理系统实战教学 https://www.jb51.net/article/154767.htm (1)给出所选课程设计题目以及本题目具体所要完成的功能要求说明. 1.课程设计题目:学生成绩管理系统 2.完成的功能要求: (1).主要实现的功能: 1---学生输入 2---学生插入 3---学生查询(按学号) 4---学生删除 5---学生输出 6---计算每名学生的平均分并输出 7---计算每科的平均分并输出 8--

  • C语言实现简单学生成绩管理系统

    本文实例为大家分享了C语言实现学生成绩管理系统的具体代码,供大家参考,具体内容如下 C语言小项目 实现一个学生成绩管理系统 系统功能: 1.实现所有学生成绩的录入(利用结构体数组),当输入字符为end时候,结束成绩的录入:  2.实现所有学生信息的输出  3.输入指定学生姓名,并能输出这名学生的信息  4.将学生成绩按照语文和数学成绩排序 思路: 1. 首先,先把这个小项目的框架打好.考虑要写几个文件,每一个文件里面实现怎样的功能.考虑到这个小项目的代码量以及程序的易读性,我决定将写三个文件.一

  • C语言实现学生成绩管理系统

    设计一个学生成绩管理系统,实现对学生成绩的动态管理,实现对学生成绩的输入,显示,删除,查找,插入,最佳,保存,计算,排序等主要功能. 功能要求 1.每一条记录包括一个学生的学号.姓名.3门课成绩.平均成绩. 2.输入功能:可以一次完成若干条记录的输入. 3.显示功能:完成全部学生记录的显示. 4.查找功能:完成按姓名查找学生记录,并显示. 5.排序功能:按学生平均成绩进行排序. 6.插入功能:按平均成绩高低插入一条学生记录 7.删除功能:如果输入错误,可以删除学生记录: 8.退出. 代码: #i

  • C语言学生成绩管理系统课程设计

    学生成绩管理系统是比较适合初学者的.它涵盖了c语言几乎知识.对于学了c语言的人,把这个课程设计搞好(当然自己能设计出来是要有很好的基础).不管自己能不能够完成,最重要的是能弄懂.参考其他资料,试着自己编写是不错的选择.这个课程设计也是我参照资料,自己编写的.自己适当地增加了一些功能.不过,编的不够那么专业吧. #include<stdio.h> #include<string.h> #include<stdlib.h> #define size 100 char* cl

  • 学生成绩管理系统C语言代码实现

    C语言实现了学生成绩管理系统,可以进行学生成绩的增加,删除,更新,查询,计算和展示. 完整代码如下: #include<stdio.h> #include<stdlib.h> #include<string.h> typedef struct person //定义结构体 { char num[10]; //学号 char name[20]; //姓名 float cyuyan; //C语言成绩 float en; //物理学成绩 float ji; //原子物理成绩

  • C语言学生成绩管理系统源代码

    大学C语言实训课,C语言学生成绩管理系统,供大家参考,具体内容如下 #include<stdio.h> #include<string.h> #include<math.h> struct student { int num; char name[20]; float pingshi; float shiyan; float kaoshi; double zongping; }stu[4]; void main() { void a(); void b(); void

  • C语言利用结构体数组实现学生成绩管理系统

    要求: 某班有最多不超过30人(具体人数由键盘输入)参加期末考试,最多不超过6门(具体门数由键盘输入).定义结构体类型描述学生信息,每个学生信息包括:学号.姓名.多门课的成绩.总成绩和平均成绩.用结构体数组作为函数参数,编程实现如下菜单驱动的学生成绩管理系统. (1) 录入每个学生的学号.姓名和各科考试成绩. (2) 计算每门课程的总分和平均分. (3) 计算每个学生的总分和平均分. (4) 按每个学生的总分由高到低排出名次表. (5) 按学号由小到大排出成绩表. (6) 按姓名的字典顺序排出成

  • C语言结构体版学生成绩管理系统

    本文实例为大家分享了C语言实现学生成绩管理系统的具体代码,供大家参考,具体内容如下 结构体版的学生成绩管理系统 主要功能有 按1 输入学生信息 按2 输出学生信息 按3 查询学生信息 按4 修改学生信息 按5 删除学生信息 按6 插入学生信息 按7 排序总成绩信息 学生信息主要有姓名,班级,学号,C语言成绩,高数成绩,大学英语成绩,控制台界面输出格式有点不美观. #include<stdio.h> #include<string.h> struct student { char n

  • C语言实现学生成绩管理系统实战教学

    趁着放假无事,开始用C语言开发一些小的项目,巩固基础知识的同时学习新的知识. 学生成绩管理系统实现的功能有:成绩录入.学生成绩查询.删除.修改.通过文件保存等. 开发这样一个系统需要具备的知识:线性表(链表).文件操作.排序(如果需要成绩排序). 开发环境为VS2015:在Linux下没有conio.h的头文件,需要修改与getch()函数相关的代码. #include <stdio.h> #include <stdlib.h> #include <string.h>

  • 使用C语言实现学生成绩管理系统

    最近正在学习C语言,搞了一个学生成绩管理系统的小程序,代码粗陋,大佬勿喷. 先上图: 整个程序采用链表来管理学生成绩,保存学生成绩用的是 文件处理函数,使用 fopen(FilePath, "wb") 将学生信息在内存中的数据直接写入文件,相应的打开程序后读取时使用 fopen(FilePath, "rb") 将数据直接再次还原到内存中去. 选项6 是手动保存链表数据及配置数据. 选项7 配置每次修改链表中的数据是否需要自动保存. 选项1 进入后,直接按照提示输入

随机推荐