📄 gpa.cpp
字号:
#include<stdlib.h>
#include<stdio.h>
#include<iostream.h>
#include<fstream.h>
#define M 27
#define N 68
double s[M][N];
double c[M][N];
void readnumber()
{
int i,j;
ifstream fp1;
fp1.open("score.txt");
//fp2.open("credit.txt");
if(fp1.fail()){cout<<"can't open this file"<<endl;return;}
//if(fp2.fail()){cout<<"can't open this file"<<endl;return;}
for( i=0;i<M;i++)
{
for( j=0;j<N;j++)fp1>>c[i][j];
for( j=0;j<N;j++)fp1>>s[i][j];
}
fp1.close();
// fp2.close();
/*for( i=0;i<M/2;i++)
{
for( j=0;j<N;j++)
printf("s[%d][%d]=%f\n",i,j,s[i][j]);
}
for( i=0;i<27;i++)
{
for( j=0;j<N;j++)
printf("c[%d][%d]=%f\n",i,j,c[i][j]);
}*/
}
void computerGPA()
{
FILE *fp0;
int i,j;
double GPA[M][N]={0};
double sumGPA[M]={0};
double sumcredit[M]={0};
double averageGPA[M]={0};
for( i=0;i<M;i++)
{
for( j=0;j<N;j++)
{
if(s[i][j]>=95&&s[i][j]<=100)GPA[i][j]=4.0;
else if(s[i][j]>=90&&s[i][j]<=94)GPA[i][j]=3.5;//大连理工大学绩点算法
else if(s[i][j]>=85&&s[i][j]<=89)GPA[i][j]=3.0;
else if(s[i][j]>=80&&s[i][j]<=84)GPA[i][j]=2.6;
else if(s[i][j]>=75&&s[i][j]<=79)GPA[i][j]=2.2;
else if(s[i][j]>=70&&s[i][j]<=74)GPA[i][j]=1.8;
else if(s[i][j]>=65&&s[i][j]<=69)GPA[i][j]=1.4;
else if(s[i][j]>=60&&s[i][j]<=64)GPA[i][j]=1.0;
else GPA[i][j]=0.0;
sumGPA[i]=sumGPA[i]+c[i][j]*GPA[i][j];
sumcredit[i]=sumcredit[i]+c[i][j];
averageGPA[i]=sumGPA[i]/sumcredit[i];
}
}
fp0=fopen("averageGPA.txt","w+");
for(i=0;i<M;i++)fprintf(fp0,"%f\n",averageGPA[i]);
fclose(fp0);
}
void main()
{
readnumber();
computerGPA();
}
/* if(s[i][j]>=95&&s[i][j]<=100)GPA[i][j]=4.3;
else if(s[i][j]>=90&&s[i][j]<=94)GPA[i][j]=4.0;//上海交通大学
else if(s[i][j]>=85&&s[i][j]<=89)GPA[i][j]=3.7;
else if(s[i][j]>=80&&s[i][j]<=84)GPA[i][j]=3.3;
else if(s[i][j]>=75&&s[i][j]<=79)GPA[i][j]=3.0;
else if(s[i][j]>=70&&s[i][j]<=74)GPA[i][j]=2.7;
else if(s[i][j]>=67&&s[i][j]<=69)GPA[i][j]=2.3;
else if(s[i][j]>=65&&s[i][j]<=66)GPA[i][j]=2.0;
else if(s[i][j]>=62&&s[i][j]<=64)GPA[i][j]=1.7;
else if(s[i][j]>=60&&s[i][j]<=61)GPA[i][j]=1.0;
else GPA[i][j]=0.0;
if(s[i][j]>=90&&s[i][j]<=100)GPA[i][j]=4.0; //北京大学
else if(s[i][j]>=85&&s[i][j]<=89)GPA[i][j]=3.7;
else if(s[i][j]>=82&&s[i][j]<=84)GPA[i][j]=3.3;
else if(s[i][j]>=78&&s[i][j]<=81)GPA[i][j]=3.0;
else if(s[i][j]>=75&&s[i][j]<=77)GPA[i][j]=2.7;
else if(s[i][j]>=72&&s[i][j]<=74)GPA[i][j]=2.3;
else if(s[i][j]>=68&&s[i][j]<=71)GPA[i][j]=2.0;
else if(s[i][j]>=64&&s[i][j]<=67)GPA[i][j]=1.5;
else if(s[i][j]>=60&&s[i][j]<=63)GPA[i][j]=1.0;
else GPA[i][j]=0.0;
if(s[i][j]>=95&&s[i][j]<=100)GPA[i][j]=4.5;
else if(s[i][j]>=90&&s[i][j]<=94)GPA[i][j]=4.0;//均匀间断点
else if(s[i][j]>=85&&s[i][j]<=89)GPA[i][j]=3.5;
else if(s[i][j]>=80&&s[i][j]<=84)GPA[i][j]=3.0;
else if(s[i][j]>=75&&s[i][j]<=79)GPA[i][j]=2.5;
else if(s[i][j]>=70&&s[i][j]<=74)GPA[i][j]=2.0;
else if(s[i][j]>=65&&s[i][j]<=69)GPA[i][j]=1.5;
else if(s[i][j]>=60&&s[i][j]<=64)GPA[i][j]=1.0;
else GPA[i][j]=0.0;
if(s[i][j]>=95&&s[i][j]<=100)GPA[i][j]=5.0; //浙江大学
else if(s[i][j]>=60&&s[i][j]<=94)GPA[i][j]=1.5+(s[i][j]-60)/10.0
else GPA[i][j]=0.0;
if(s[i][j]>=60&&s[i][j]<=100)GPA[i][j]=1.0+(s[i][j]-60)/10.0 //均匀连续绩点
else GPA[i][j]=0.0;
if(s[i][j]>=95&&s[i][j]<=100)GPA[i][j]=4.0;
else if(s[i][j]>=90&&s[i][j]<=94)GPA[i][j]=3.5;//大连理工大学绩点算法
else if(s[i][j]>=85&&s[i][j]<=89)GPA[i][j]=3.0;
else if(s[i][j]>=80&&s[i][j]<=84)GPA[i][j]=2.6;
else if(s[i][j]>=75&&s[i][j]<=79)GPA[i][j]=2.2;
else if(s[i][j]>=70&&s[i][j]<=74)GPA[i][j]=1.8;
else if(s[i][j]>=65&&s[i][j]<=69)GPA[i][j]=1.4;
else if(s[i][j]>=60&&s[i][j]<=64)GPA[i][j]=1.0;
else GPA[i][j]=0.0; */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -