-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathcompute.cpp
More file actions
69 lines (67 loc) · 1.5 KB
/
compute.cpp
File metadata and controls
69 lines (67 loc) · 1.5 KB
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
#include "compute.h"
float u_compGPA(float * grade,float *credit,int Num) //计算本科生
{
float GPA=0,temp,total_c=0;
int i;
for(i=0;i<Num;i++)
{
total_c+=credit[i];
if(grade[i]>=95)
temp=5;
else if(grade[i]<60)
temp=0;
else temp=5-1.0*(95-grade[i])/10;
GPA+=(temp*credit[i]);
}
if(total_c!=0)
GPA/=total_c;
return GPA;
}
float p_compGPA(float * grade,float *credit,int Num) //研究生
{
float GPA=0,temp,total_c=0;
int i;
for(i=0;i<Num;i++)
{
total_c+=credit[i];
if(grade[i]>=90)
temp=4.0;
else if(grade[i]>=85)
temp=3.7;
else if(grade[i]>=82)
temp=3.3;
else if(grade[i]>=78)
temp=3.0;
else if(grade[i]>=75)
temp=2.7;
else if(grade[i]>=71)
temp=2.3;
else if(grade[i]>=66)
temp=2.0;
else if(grade[i]>=62)
temp=1.7;
else if(grade[i]>=60)
temp=1.3;
else temp=0;
GPA+=(temp*credit[i]);
}
if(total_c!=0)
GPA/=total_c;
return GPA;
}
float Phd_compGPA(float * grade,float *credit,int Num) //博士生
{
float GPA=0,temp,total_c=0;
int i;
for(i=0;i<Num;i++)
{
total_c+=credit[i];
if(grade[i]<60)
temp=0;
else temp=4-3*(100-grade[i])*(100-grade[i])/2;
GPA+=(temp*credit[i]);
}
if(total_c!=0)
GPA/=total_c;
return GPA;
}