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

这篇文章主要为大家详细介绍了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 #include #include 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\n");         }     }while(30\n");         }     }while(6\n");             scanf("%d",&f);             if(f==1)                 {             for(i = 0; i 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 =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 

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

以上就是C语言代码实现学生成绩管理系统的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » C语言