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

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

2019-05-29 23:06:05科技540

大家好,今天就和小鱼一起来看看这个问题吧 。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/4276.html

分享给朋友:

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

回民不吃猪肉是因为什么(回民为什么不吃猪肉)

回民不吃猪肉是因为什么(回民为什么不吃猪肉)

大家好,今天就和小熊一起来看看这个问题吧 。回民为什么不吃猪肉,回民不吃猪肉是因为什么很多人还不知道,现在让我们一起来看看吧!    1、回族的人民普遍都信奉意思老家,而伊斯兰教中的《古兰经》里是明文规定禁止教徒食用猪肉的。  2、根据伊斯兰教的相关规定,回族人们禁止食用猪、马、驴、骡、狗和一切自死...

不惑之年是指哪个年龄(人不惑之年是指多少岁)

不惑之年是指哪个年龄(人不惑之年是指多少岁)

大家好,今天就和小鱼一起来看看这个问题吧 。人不惑之年是指多少岁,不惑之年是指哪个年龄很多人还不知道,现在让我们一起来看看吧!  一、  人不惑之年是指多少岁  不惑之年指的是四十岁,意思是遇事能明辨不疑。因为其源于孔子所说的“吾十有五而志于学,三十而立,四十而不惑,五十而知天命,六十而耳顺,七十而...

春分传统美食(春分吃什么食物)

春分传统美食(春分吃什么食物)

大家好,今天就和兔兔一起来看看这个问题吧 。春分吃什么食物,春分传统美食很多人还不知道,现在让我们一起来看看吧!  一、春分吃什么食物  1、吃春菜  昔日四邑有个不成节的习俗,叫做“春分吃春菜”。“春菜”是一种野苋菜,乡人称之为“春碧蒿”。逢春分那天,全村人都去采摘春菜。在田野中搜寻时,多见是嫩绿...

飞机黑匣子为啥不会损坏(飞机黑匣子为什么不会坏)

飞机黑匣子为啥不会损坏(飞机黑匣子为什么不会坏)

大家好,今天就和丹尼一起来看看这个问题吧 。飞机黑匣子为什么不会坏,飞机黑匣子为啥不会损坏很多人还不知道,现在让我们一起来看看吧!  导语:大家都知道,遇到空难,查明原因的时候需要找到飞机的黑匣子。有些朋友对飞机的黑匣子感兴趣,所以想来好好了解一下,飞机黑匣子为什么不会坏?飞机黑匣子为啥不会损坏?对...

三八妇女节必须放假吗(妇女节放假半天是法定吗)

三八妇女节必须放假吗(妇女节放假半天是法定吗)

大家好,今天就和小鱼一起来看看这个问题吧 。妇女节放假半天是法定吗,三八妇女节必须放假吗很多人还不知道,现在让我们一起来看看吧!  一、  妇女节放假半天是法定吗  三八妇女节放假半天是法定假。根据《全国年节及纪念日放假办法》其中第三条规定,三八妇女节是部分公民放假的节日,妇女放假半天。因此妇女节放...

重阳节登高的原因有哪些(重阳节为什么要登高)

重阳节登高的原因有哪些(重阳节为什么要登高)

大家好,今天就和小白一起来看看这个问题吧 。重阳节为什么要登高,重阳节登高的原因有哪些很多人还不知道,现在让我们一起来看看吧!  一、  重阳节为什么要登高  重阳节登高是传统习俗,有登高辞青的说法。  重阳节登高辞青和清明节上山踏青具有呼应作用,重阳节时正值深秋,万木萧瑟、气候凉爽,这个季节登高远...