当前位置:首页 > 科技 > 正文内容

C语言学生成绩管理系统如何开发(c语言制作学生成绩管理系统)

2019-06-27 22:24:07科技435

大家好,今天就和小白一起来看看这个问题吧 。c语言制作学生成绩管理系统,C语言学生成绩管理系统如何开发很多人还不知道,现在让我们一起来看看吧!

c语言学生成绩管理系统开发方法1。用户输入系统数据。

C语言学生成绩管理系统如何开发(c语言制作学生成绩管理系统)

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

3.为相应的学生进行数据处理。

4.排序功能

A.总分由高到低,总分由低到高。

B.学生人数从大到小

C.名称字典顺序

5.查询功能

A.学生编号查询

B.姓名查询

6.分析数据

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

8.将数据写入和读取到文件中。

[设计理念]

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

[模块图]

通用程序流程图

[算法步骤]

菜单:

for(I=0;i66我)

printf(' * ');

printf(' \ n ');

printf('1。输入记录\ n’);

printf('2。计算每门课程的总分和平均分\ n’);

printf('3。计算每个学生的总分和平均分\ n’);

printf('4。按每个学生的总分降序排序\ n’);

printf('5。按每个学生的总分升序排序\ n’);

printf('6。按数字升序排序\ n’);

printf('7。按姓名升序排序\ n’);

printf('8。按号码搜索\ n’);

printf('9。按姓名搜索\ n’);

printf('10。每门课程的统计分析\ n’);

printf('11。列表记录\ n’);

printf('12。写入文件\ n’);

printf('13。从文件中读取\ n’);

printf('0。exit \ n ');

for(I=0;i66我)

printf(' * ');

printf(' \ n ');

printf('请输入您的选择: ');

printf(' \ n ');

输入功能:

Void read score (stustu [],int n,int m)//1。输入数据

{

int i,j;

for(I=0;我;我)

{

printf('输入学生的ID、姓名和分数');

scanf('%ld ',stu[i].studentID);

scanf('%s ',stu[i].student name);

for(j=0;j;j)

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

}

}

数据处理功能:

Voitota (stustu [],int n,int m)//2。计算每门课程的总分和平均分。

{

int i,j,sum[M];

双平均[M];

for(j=0;j;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;

  }

这篇文章到此就结束,希望能帮助到大家。

扫描二维码推送至手机访问。

版权声明:文章内容摘自网络,如果无意之中侵犯了您的版权,请联系本站,本站将在3个工作日内删除。谢谢!

本文链接:https://www.xixia168.com/n/kj/10366.html

分享给朋友:

“C语言学生成绩管理系统如何开发(c语言制作学生成绩管理系统)” 的相关文章

秦始皇称帝时间在什么时候(秦始皇在位了多少年)

秦始皇称帝时间在什么时候(秦始皇在位了多少年)

大家好,今天就和蜜蜜一起来看看这个问题吧 。秦始皇在位了多少年,秦始皇称帝时间在什么时候很多人还不知道,现在让我们一起来看看吧!  一、  秦始皇在位了多少年  秦始皇总共在位三十七年的时间,他从公元前246年继承秦王王位开始,一直到公元前221年这段时间,秦始皇只是秦国的秦王,公元221年他才正式...

高考各科总分是多少 (高考各科满分是多少)

高考各科总分是多少 (高考各科满分是多少)

大家好,今天就和小鸥一起来看看这个问题吧 。高考各科满分是多少,高考各科总分是多少 很多人还不知道,现在让我们一起来看看吧!  导语:众所周知,高考要考试的科目有蛮多门的,有语文、数学、英语、历史、地理、政治、物理、化学、生物等。高考各科目的满分分数是100分或者是150分,那么高考各科满分是多少?...

寒食节和清明节的不同之处(寒食节和清明节的区别)

寒食节和清明节的不同之处(寒食节和清明节的区别)

大家好,今天就和吖吖一起来看看这个问题吧 。寒食节和清明节的区别,寒食节和清明节的不同之处很多人还不知道,现在让我们一起来看看吧!    一、时间不同  1.寒食节,也叫禁烟节、冷节、百五节,是农历冬至后的第105天,在清明节的前一、两天。曾经,寒食节在中国民间是第一大祭祀之日。  2.清明节,也叫...

二月二吃猪头肉的来历(二月二为什么要吃猪头肉)

二月二吃猪头肉的来历(二月二为什么要吃猪头肉)

大家好,今天就和毛毛一起来看看这个问题吧 。二月二为什么要吃猪头肉,二月二吃猪头肉的来历很多人还不知道,现在让我们一起来看看吧!  一、  二月二为什么要吃猪头肉  二月二龙抬头要吃猪头肉,是由古时候的一些风俗保留下来的,象征着吉祥,保佑平安。古时候农民为了求雨,保一年风调雨顺,都会把最好的祭品奉献...

2022中国女神节是哪一天(2022女神节是几月几号)

2022中国女神节是哪一天(2022女神节是几月几号)

大家好,今天就和大牛一起来看看这个问题吧 。2022女神节是几月几号,2022中国女神节是哪一天很多人还不知道,现在让我们一起来看看吧!  一、  2022女神节是几月几号  2022年中国女神节是在3月7日,也就是女生节演变而来,原来我国只有3月8日妇女节,后来在前一天发展出了女生节,网络上也有称...

屈臣氏会员日是每月几号(屈臣氏会员日是哪一天)

屈臣氏会员日是每月几号(屈臣氏会员日是哪一天)

大家好,今天就和兔兔一起来看看这个问题吧 。屈臣氏会员日是哪一天,屈臣氏会员日是每月几号很多人还不知道,现在让我们一起来看看吧!  一、屈臣氏会员日是哪一天 屈臣氏会员日是每月几号二、屈臣氏会员日是每月的5日,所以一年就有12次,会员日当天积分五倍升值。三、屈臣氏公司介绍  屈臣氏集团起源于1841...