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

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

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

大家好,今天就和小白一起来看看这个问题吧 。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个工作日内删除。谢谢!

本文链接:http://xixia168.cn/n/kj/10366.html

分享给朋友:

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

每隔几年出现一次闰年(闰年几年一次)

每隔几年出现一次闰年(闰年几年一次)

大家好,今天就和丹尼一起来看看这个问题吧 。闰年几年一次,每隔几年出现一次闰年很多人还不知道,现在让我们一起来看看吧!  一、  闰年几年一次  闰年是公历中的名词,分为普通闰年和世纪闰年。普通闰年是4年一次,公历年份是4的倍数的,且不是100的倍数,为普通闰年。世纪闰年是400年一次,公历年份是整...

2021全国各地樱花最佳观赏时间表一览(樱花什么时候开花大概几月到几月)

2021全国各地樱花最佳观赏时间表一览(樱花什么时候开花大概几月到几月)

大家好,今天就和大牛一起来看看这个问题吧 。樱花什么时候开花大概几月到几月,2021全国各地樱花最佳观赏时间表一览很多人还不知道,现在让我们一起来看看吧!导语:近来天气越来越暖和了,很多春花都含苞待放中。其中,樱花也即将迎来最佳观赏时期。我国每年春季赏樱花的去处可太多了,武汉、南京、北京、上海等等,...

中国哪个朝代的人可以吃玉米(哪个朝代能吃到玉米)

中国哪个朝代的人可以吃玉米(哪个朝代能吃到玉米)

大家好,今天就和小熊一起来看看这个问题吧 。哪个朝代能吃到玉米,中国哪个朝代的人可以吃玉米很多人还不知道,现在让我们一起来看看吧!  导语:玉米是一种很美味的粗粮,且营养价值高,常食用可美容养颜,延缓衰老,增强人的体力和耐力。由于玉米的饱腹感比较强,一般可替代主食,因此受到许多减肥者的喜爱。那么,您...

三月三是什么神仙的诞辰(三月三是仙家什么节日)

三月三是什么神仙的诞辰(三月三是仙家什么节日)

大家好,今天就和可心一起来看看这个问题吧 。三月三是仙家什么节日,三月三是什么神仙的诞辰很多人还不知道,现在让我们一起来看看吧!  导语:还有几天的时间就是三月三了,这天对于我们很多人来说都是一个普通的日子,原本的三月三上巳节也不存在了,因此这天只能在平淡中度过。但是对于道教而言,三月三还是很重要的...

八月十五来历民间故事(八月十五的由来)

八月十五来历民间故事(八月十五的由来)

大家好,今天就和可心一起来看看这个问题吧 。八月十五的由来,八月十五来历民间故事很多人还不知道,现在让我们一起来看看吧!  一、  八月十五的由来  “中秋”一词,最早见于《周礼》。根据我国古代历法,农历八月十五日,在一年秋季的八月中旬,故称“中秋”。一年有四季,每季又分孟、仲、季三部分,因为秋中第...

世界表白日是哪一天(世界表白日是几月几号)

世界表白日是哪一天(世界表白日是几月几号)

大家好,今天就和小鸥一起来看看这个问题吧 。世界表白日是几月几号,世界表白日是哪一天很多人还不知道,现在让我们一起来看看吧!  一、  世界表白日是几月几号  每年的4月14日被称为世界表白日,这天的下午被称为爱情下午,被表白的男或女不可以拒绝,若想拒绝必须以情侣身份相处5个月,五个月后若想分开则可...