C语言学生成绩管理系统源代码

时间:2022-09-19 13:42:07

大学C语言实训课,C语言学生成绩管理系统,供大家参考,具体内容如下

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

简单记录。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。