学习啦>学习电脑>电脑安全>系统安全>

C语言学生成绩管理系统如何开发

时间: 林泽1002 分享

  有很多人C语言学生成绩管理系统不会开发,该怎么办呢,下面是学习啦小编收集整理的C语言学生成绩管理系统如何开发,希望对大家有帮助~~

  C语言学生成绩管理系统开发的方法

学习啦在线学习网   1. 用户对系统数据的输入。

  2. 系统计算所对应的每门课程的总分和平均分。

  3. 对于相对应学生的数据处理。

  4. 排序功能

  a.总分高到低以及总分从低到高

  b.学号由大到小

学习啦在线学习网   c.姓名字典顺序

  5.查询功能

  a.学号查询

  b.姓名查询

  6.分析数据

  7.输出学生对应的所有数据。

学习啦在线学习网   8.数据存入文件的写入与读取

  

  【设计思路】

  通过switch case语句实现用户菜单操作,在菜单中通过用户的选择调用相关的函数来完成用户的一系列操作以及应用。

 

  【模块图】

  程序总流程图

  

  【算法步骤】

  菜单:

学习啦在线学习网   for(i=0;i<66;i++)

  printf("*");

学习啦在线学习网   printf("\n");

学习啦在线学习网   printf("1.Input record\n");

  printf("2.Caculate totel and average score of every course\n");

  printf("3.Caculate totel and average score of every student\n");

学习啦在线学习网   printf("4.Sort in descending order by total score of every student\n");

  printf("5.Sort in ascending order by total score of every student\n");

学习啦在线学习网   printf("6.Sort in ascending order by number\n");

学习啦在线学习网   printf("7.Sort in ascending order by name\n");

  printf("8.Search by number\n");

学习啦在线学习网   printf("9.Search by name\n");

学习啦在线学习网   printf("10.Statistic analysis for every course\n");

  printf("11.List record\n");

学习啦在线学习网   printf("12.Write to a file\n");

学习啦在线学习网   printf("13.Read from a file\n");

  printf("0.Exit\n");

  for(i=0;i<66;i++)

  printf("*");

学习啦在线学习网   printf("\n");

  printf("Please enter your choice:");

学习啦在线学习网   printf("\n");

  输入函数:

  void Readscore (STU stu[],int n,int m) //1.输入数据

  {

学习啦在线学习网   int i,j;

  for(i=0;i

  {

  printf("Input student's ID ,name and score");

学习啦在线学习网   scanf("%ld",&stu[i].studentID);

学习啦在线学习网   scanf("%s",stu[i].studentName);

  for(j=0;j

  scanf("%d",&stu[i].score[j]);

  }

  }

  数据处理函数:

学习啦在线学习网   void Tota (STU stu[],int n,int m) //2.计算每门课程的总分和平均分

  {

学习啦在线学习网   int i,j,sum[M];

学习啦在线学习网   double ave[M];

  for(j=0;j

  {

  sum[j]=0;

  for(i=0;i

  {

  sum[j]=sum[j]+stu[i].score[j];

  }

  ave[j]=(double)sum[j]/n;

  }

  for(i=0;i

  printf("Project %d 总分=%d,课程的平均分=%f\n",i+1,sum[i],ave[i]);

  }

学习啦在线学习网   void Datasort_1 (STU stu[],int n,int m) //3.计算每个学生的总分和平均分

  {

  int i,j,sum[N];

  double ave[N];

  for(i=0;i

  {

  sum[i]=0;

  for(j=0;j

  {

  sum[i]=sum[i]+stu[i].score[j];

  }

学习啦在线学习网   ave[i]=(double)sum[i]/m;

  }

  for(i=0;i

  printf("ID:%10ld,Name: %s Allscore=%d,The ave=%f\n",stu[i].studentID,stu[i].studentName,sum[i],ave[i]);

  }

  排序函数:

  void Datasort_2 (STU stu[],int n,int m) //4.按每个学生的总分由高到低排出名次表

  {

  int i,j,k,h,sum[N];

  STU t;

  for(i=0;i

  {

学习啦在线学习网   sum[i]=0;

  for(j=0;j

  {

  sum[i]=sum[i]+stu[i].score[j];

  }

  }

  for(i=0;i

  {

  k=i;

  for(j=i+1;j

  {

  if (sum[j]>sum[k])

  k=j;

  }

  if(i!=k)

  {

  t=stu[i],h=sum[i];

  stu[i]=stu[k],sum[i]=sum[k];

  stu[k]=t,sum[k]=h;

  }

  }

  for(i=0;i

  printf("ID:%10ld,Name:%s,Score:%d\n",stu[i].studentID,stu[i].studentName,sum[i]);

  }

  void Datasort_3 (STU stu[],int n,int m) //5.按每个学生的总分由低到高排出名次表

  {

  int i,j,k,h,sum[N];

  STU t;

  for(i=0;i

  {

  sum[i]=0;

  for(j=0;j

  {

学习啦在线学习网   sum[i]=sum[i]+stu[i].score[j];

  }

  }

  for(i=0;i

  {

  k=i;

  for(j=i+1;j

  {

  if (sum[j]

  k=j;

  }

学习啦在线学习网   if(i!=k)

  {

  t=stu[i],h=sum[i];

学习啦在线学习网   stu[i]=stu[k],sum[i]=sum[k];

学习啦在线学习网   stu[k]=t,sum[k]=h;

  }

  }

  for(i=0;i

  printf("ID:%10ld,Name:%s,score:%d\n",stu[i].studentID,stu[i].studentName,sum[i]);

  }

  void Datasort_4 (STU stu[],int n,int m) //6.按学号由小到大排出名次表

  {

学习啦在线学习网   int i,j,k;

  STU t;

  for(i=0;i

  {

  k=i;

  for(j=i+1;j

  {

  if (stu[j].studentID

  k=j;

  }

  if(i!=k)

  t=stu[k],stu[k]=stu[i],stu[i]=t;

  }

  for(i=0;i

  {

学习啦在线学习网   printf("ID:%10ld,Name:%s\n",stu[i].studentID,stu[i].studentName);

  for(j=0;j

学习啦在线学习网   printf("Project %d Score:%d\n",j+1,stu[i].score[j]);

  }

  }

  数据分析函数:

  void Statistis (STU stu[],int n,int m) //10.

  {

  int i,j,count_1,count_2,count_3,count_4,count_5;

  for(j=0;j

  {

  count_1=0,count_2=0,count_3=0,count_4=0,count_5=0;

  for(i=0;i

  {

  if(stu[i].score[j]>=90)

  count_1++;

学习啦在线学习网   else if(stu[i].score[j]>=80)

  count_2++;

  else if(stu[i].score[j]>=70)

  count_3++;

  else if(stu[i].score[j]>=60)

  count_4++;

  else

学习啦在线学习网   count_5++;

  }

学习啦在线学习网   printf("project %d\n",j+1);

  printf("优秀:%d\t优秀率:%f%\n",count_1,(float)count_1/n);

  printf("良好:%d\t良好率:%f%\n",count_2,(float)count_2/n);

学习啦在线学习网   printf("中等:%d\t中等率:%f\n",count_3,(float)count_3/n);

学习啦在线学习网   printf("及格:%d\t及格率:%f\n",count_4,(float)count_4/n);

  printf("不及格:%d\t不及格率:%f\n",count_5,(float)count_5/n);

  }

  }

  数据界面打印函数:

  void List (STU stu[],int n,int m) //11.

  {

学习啦在线学习网   int i,j,sum[N];

  double ave[N];

  for(i=0;i

  {

学习啦在线学习网   sum[i]=0;

  for(j=0;j

  {

  sum[i]=sum[i]+stu[i].score[j];

  }

学习啦在线学习网   ave[i]=(double)sum[i]/m;

  }

  for(i=0;i

  {

  printf("ID:%10ld,Name:%s\n",stu[i].studentID,stu[i].studentName);

  for(j=0;j

  {

  printf("Score %d :%d\n",j+1,stu[i].score[j]);

  }

学习啦在线学习网   printf("Allscore=%d\n平均分%f\n",sum[i],ave[i]);

  }

  }

  文件处理函数:

  void WritetoFile(STU stu[],int n,int m) //将每个学生的记录信息写入文件

  {

  Tota(stu,n,m);

  Datasort_2 (stu,n,m);

学习啦在线学习网   FILE *fp;

  if((fp=fopen("student.txt","w"))==NULL)

  {

学习啦在线学习网   printf("Failure to open student.txt!\n");

  exit(0);

  }

学习啦在线学习网   fwrite(stu,sizeof(STU),n,fp);

  fclose(fp);

  }

  int ReadfromFile(STU stu[],int n,int m)//从文件中读出每个学生的记录信息并显示

  {

  FILE *fp;

  int i;

  if((fp=fopen("student.txt","r"))==NULL)

  {

学习啦在线学习网   printf("Failure to open student.txt!\n");

  exit(0);

  }

  for(i=0;!feof(fp);i++)

  {

学习啦在线学习网   fread(&stu[i],sizeof(STU),1,fp);

  }

  fclose(fp);

学习啦在线学习网   printf("Total student is %d.\n",i-1);

  n=i-1;

  List(stu,n,m); //输出从文件中读出的信息到屏幕上

  return i-1;

  }


C语言学生成绩管理系统如何开发相关文章

1.学生成绩管理系统设计论文

2.学生成绩管理系统毕业论文

3.学生成绩管理系统论文

4.浅谈学生信息管理系统论文

5.管理系统的心得体会3篇

6.学生管理系统论文

C语言学生成绩管理系统如何开发

有很多人C语言学生成绩管理系统不会开发,该怎么办呢,下面是学习啦小编收集整理的C语言学生成绩管理系统如何开发,希望对大家有帮助~~ C语言学生成绩管理系统开发的方法 1. 用户对系统数据的输入。 2. 系统计算所对应的每门课程的总分
推荐度:
点击下载文档文档为doc格式

精选文章

  • Linux下如何编写第一个C语言hello world程序
    Linux下如何编写第一个C语言hello world程序

    我想很多人不知道Linux下编写第一个C语言hello world程序是怎么做的,下面是学习啦小编收集整理的Linux下如何编写第一个C语言hello world程序,希望对大家有帮

  • gcc如何编译C语言程序
    gcc如何编译C语言程序

    学习啦在线学习网gcc编译C语言程序的方法是什么,那么gcc如何编译C语言程序的呢/下面是学习啦小编收集整理的gcc如何编译C语言程序,希望对大家有帮助~~ gcc编译C语言程序

  • C语言如何实现windows的Ping命令
    C语言如何实现windows的Ping命令

    Ping命令是我们经常接触的,那么C语言如何实现windows的Ping命令的呢?下面是学习啦小编收集整理的C语言如何实现windows的Ping命令,希望对大家有帮助~~ C语言

  • c语言/c++如何调用dos命令
    c语言/c++如何调用dos命令

    学习啦在线学习网c语言/c++如何调用dos命令的呢?想试试如何运用c编程语言来操作电脑呢?其实c语言/c++对dos命令的一般调用是很简单的。下面是学习啦小编收集整理的c语言/

3450260