经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » C 语言 » 查看文章
C语言学生成绩管理系统源代码
来源:cnblogs  作者:青柠檬Love  时间:2020/12/22 13:29:28  对本文有异议

大学C语言实训课,C语言学生成绩管理系统。

  1. #include<stdio.h>
  2. #include<string.h>
  3. #include<math.h>
  4. struct student
  5. {
  6. int num;
  7. char name[20];
  8. float pingshi;
  9. float shiyan;
  10. float kaoshi;
  11. double zongping;
  12. }stu[4];
  13. void main()
  14. {
  15. void a();
  16. void b();
  17. void c();
  18. void d();
  19. void e();
  20. int n;
  21. while(n!=6)
  22. { printf("\t大学计算机基础成绩管理系统\n");
  23. printf("1:输入一个班学生大学计算机基础成绩记录\n");
  24. printf("2:显示所有成绩记录\n");
  25. printf("3:计算并输出平均成绩,均方差\n");
  26. printf("4:输出成绩与排名\n");
  27. printf("5:结果存入文件chengji.txt\n");
  28. printf("6:退出系统\n");
  29. printf("输入选项代码:");
  30. scanf("%d",&n);
  31. switch(n)
  32. {
  33. case 1:a();break;
  34. case 2:b();break;
  35. case 3:c();break;
  36. case 4:d();break;
  37. case 5:e();break;
  38. case 6:printf("\n*******************谢谢使用!*******************\n");break;
  39. break;
  40. }
  41. }
  42. getchar();
  43. }
  44. /* 子 函 数*/
  45. void a() /* 输入一个班的学生记录*/
  46. {
  47. int i;
  48. for(i=0;i<4;i++)
  49. {
  50. printf("请输入学号 姓名 平时成绩 实验成绩 考试成绩:");
  51. scanf("%d%s%f%f%f",&stu[i].num,stu[i].name,&stu[i].pingshi,&stu[i].shiyan,&stu[i].kaoshi);
  52. }for(i=0;i<4;i++)
  53. stu[i].zongping=0.1*stu[i].pingshi+0.3*stu[i].shiyan+0.6*stu[i].kaoshi;
  54. }
  55. void b()/* 显示所有记录*/
  56. {
  57. int i;
  58. printf("学号 姓名 平时成绩 实验成绩 考试成绩 总评成绩\n");
  59. for(i=0;i<4;i++)
  60. printf("%d%14.2s%14.2f%14.2f%14.2f%14.2f\n",stu[i].num,stu[i].name,stu[i].pingshi,stu[i].shiyan,stu[i].kaoshi,stu[i].zongping);
  61. }
  62. void c()/* 求出全班平均成绩,显示均方差*/
  63. {
  64. int a[4]={0,1,2,3};
  65. int i,j;
  66. double total=0,pfc=0,bzc=0;
  67. double ave;
  68. for(i=0;i<4;i++)
  69. {
  70. total=total+stu[i].zongping;
  71. }
  72. ave=total/4.0;
  73. printf("总评平均成绩是%f\n",ave);
  74. for(i=0;i<4;i++)
  75. {
  76. pfc=pow((stu[i].zongping-ave),2)/4;
  77. }
  78. bzc=sqrt(pfc);
  79. printf("\n平方差是%f\n",pfc);
  80. printf("\n标准差是%f\n",bzc);
  81. }
  82. void d()
  83. {
  84. int a[4]={0,1,2,3};
  85. int i,j,temp;
  86. for(j=0;j<3;j++)
  87. {
  88. for(i=0;i<3-j;i++)
  89. if(stu[a[i]].zongping>stu[a[i+1]].zongping)
  90. {
  91. temp=a[i];a[i]=a[i+1];
  92. a[i+1]=temp;
  93. }
  94. }
  95. printf("顺序为:\n");
  96. printf("学号 姓名 总评成绩\n");
  97. for(i=0;i<4;i++)
  98. printf("%d%10.2s%15.2f\n",stu[a[i]].num,stu[a[i]].name,stu[a[i]].zongping);
  99. printf("\n");
  100. }
  101. void e()
  102. {int i;
  103. FILE *fp;
  104. fp=fopen("chengji.txt","w");
  105. fprintf(fp,"学号 姓名 平时成绩 实验成绩 考试成绩 总评成绩\n");
  106. for(i=0;i<4;i++)
  107. fprintf(fp,"%d%14.2s%14.2f%14.2f%14.2f%14.2f\n",stu[i].num,stu[i].name,stu[i].pingshi,stu[i].shiyan,stu[i].kaoshi,stu[i].zongping);
  108. printf("\n\n*******************恭喜,保存完成!*******************\n\n");
  109. }

  简单记录。

原文链接:http://www.cnblogs.com/MemorySky/p/14172251.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号