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

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

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

大家好,今天就和小白一起来看看这个问题吧 。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语言制作学生成绩管理系统)” 的相关文章

复活节干什么庆祝活动(复活节活动有哪些)

复活节干什么庆祝活动(复活节活动有哪些)

大家好,今天就和丹尼一起来看看这个问题吧 。复活节活动有哪些,复活节干什么庆祝活动很多人还不知道,现在让我们一起来看看吧!    1、画鸡蛋  你可以在几乎所有的超市在复活节月买个鸡蛋画盒。煮一些鸡蛋,让你的孩子在复活节期间为他们做装饰。通常你在不同的杯子里染上不同颜色的染料。鸡蛋在颜料的覆盖下会变...

公元元年是怎么定的(公元元年是哪一年)

公元元年是怎么定的(公元元年是哪一年)

大家好,今天就和兔兔一起来看看这个问题吧 。公元元年是哪一年,公元元年是怎么定的很多人还不知道,现在让我们一起来看看吧!  一、  公元元年是哪一年  公元元年以相传的耶稣基督诞生年即公元元年作为历史算起,在中国这一年正好是西汉平帝元始元年。以这一年为界,在此以前的时间称公元前多少年,在此以后的时间...

元宵节有哪些别称(元宵节有几种叫法)

元宵节有哪些别称(元宵节有几种叫法)

大家好,今天就和小鱼一起来看看这个问题吧 。元宵节有几种叫法,元宵节有哪些别称很多人还不知道,现在让我们一起来看看吧!    元宵节别名:Lantern Festival、上元节、元夕、天官节、小正月、春灯节。元宵节是中国的传统节日,每年农历的正月十五日便是此节。按中国民间的传统,在这天上皓月高悬的...

回族有什么传统节日(回族传统节日有哪些)

回族有什么传统节日(回族传统节日有哪些)

大家好,今天就和小月一起来看看这个问题吧 。回族传统节日有哪些,回族有什么传统节日很多人还不知道,现在让我们一起来看看吧!    回族传统节日有哪些  回族的节日比较多,其中回族的三大节日是开斋节、古尔邦节、圣纪节,此外其他节日还主要有阿术拉日、登宵节、白拉台节、盖尔德节、法图麦节(伊斯兰妇女节,也...

美国大选揭晓时间2020(2020美国大选时间)

美国大选揭晓时间2020(2020美国大选时间)

大家好,今天就和猫猫一起来看看这个问题吧 。2020美国大选时间,美国大选揭晓时间2020很多人还不知道,现在让我们一起来看看吧!    美国实行总统制,总统选举每4年举行一次。美国总统选举制度为选举人团制度。根据现行的美国宪法第22修正案,美国总统任期4年,可以连任一届。  美国大选中的538张选...

我国禽流感爆发是哪一年(禽流感是哪一年发生的)

我国禽流感爆发是哪一年(禽流感是哪一年发生的)

大家好,今天就和毛毛一起来看看这个问题吧 。禽流感是哪一年发生的,我国禽流感爆发是哪一年很多人还不知道,现在让我们一起来看看吧!    自从1997年在香港发现人类也会感染禽流感之后,此病症引起全世界卫生组织的高度关注。其后,此流感一直在亚洲区零星爆发,但从2003年12月开始,禽流感在东亚多国──...