GPA——平均绩点计算器(5.0分制)
程序员文章站
2024-02-27 13:06:27
...
平均绩点通常指平均学分绩点(即GPA,Grade Point Average)。某些学校采用学分绩点制对学生学习质量进行评定,平均学分绩点是主要考察指标。
本篇博客提供了C++语言编写的GPA计算器,供大家计算学期的GPA,若有疑问,请在下方评论。
(后期会贴上 #Python# 爬虫登录教务系统,自动获取成绩计算绩点的代码,敬请期待)
先附上源代码
//5.0分制——绩点计算器
//低于60分绩点记为0
//2018.08.04 ——LeoHao
#include<iostream>
using namespace std;
int SubjectNum=0; //学科数目
float *score=NULL; //学科分数
float *credit=NULL; //学科学分
float *gradePoint=NULL; //学科绩点
bool *isProfessional=NULL; //是否专业课
float wholeCredit=0; //专业课总学分
float GPA=0; //绩点
void ScoreToPoint(); //成绩转绩点
void GetGPA(); //计算GPA
int main()
{
int i=0;
cout<<"请输入考试科目总数"<<endl;
cin>>SubjectNum;
score=new float[SubjectNum];
credit=new float[SubjectNum];
gradePoint=new float[SubjectNum];
isProfessional=new bool[SubjectNum];
cout<<"请依次输入"<<SubjectNum<<"门科目的成绩,并标注是否为专业课。(例:算法设计 4个学分,95分,为专业课,则输入1 4 95)"<<endl;
for(i=0;i<SubjectNum;i++)
cin>>isProfessional[i]>>credit[i]>>score[i];
//计算专业课总学分
for(i=0;i<SubjectNum;i++)
wholeCredit+=(isProfessional[i]*credit[i]);
ScoreToPoint(); //成绩转绩点
GetGPA(); //计算GPA
cout<<"您各个科目获得的绩点如下:"<<endl<<endl;
for(i=0;i<SubjectNum;i++)
cout<<"科目"<<i+1<<"\t";
cout<<endl;
for(i=0;i<SubjectNum;i++)
cout<<gradePoint[i]<<"\t";
cout<<endl<<endl;
cout<<"综合计算,您获得的GPA(平均学分绩点)为"<<GPA<<endl;
return 0;
}
void ScoreToPoint() //成绩转绩点
{
int i=0;
for(i=0;i<SubjectNum;i++)
{
if(score[i]<60)
gradePoint[i]=0; //低于60分绩点记为0
else
gradePoint[i]=5.0-0.1*(100-score[i]);
}
}
void GetGPA() //计算GPA
{
int i=0;
for(i=0;i<SubjectNum;i++)
GPA+=(isProfessional[i]*gradePoint[i]*(credit[i]/wholeCredit));
}
使用方法请按照提示进行,下面给出例子。
如某人一学期的成绩如下:
课程名称 | 课程性质 | 学分 | 成绩 |
计算机组成原理* | 必修课 | 4 | 84 |
数据结构* | 必修课 | 4 | 94 |
概率论与数理统计 | 必修课 | 3 | 99 |
数据结构实验 | 必修课 | 1 | 94 |
计算机组成原理实验 | 必修课 | 1 | 93 |
单片机应用系统设计实训 | 必修课 | 1 | 91 |
C#程序设计 | 选修课 | 2 | 93 |
中国近现代史纲要 | 必修课 | 3 | 75 |
形势与政策(Ⅲ) | 必修课 | 0.8 | 95 |
大学英语(Ⅲ) | 必修课 | 2 | 87 |
大学体育(Ⅲ) | 必修课 | 1 | 85 |
文学与人生 | 选修课 | 1 | 88 |
普通天文学 | 选修课 | 1 | 95 |
一共13门科目,必修课记为1,非必修课记为0,则输入的成绩信息如下表所示:
1 4 84 1 4 94 1 3 99 1 1 94 1 1 93 1 1 91 0 2 93 1 3 75 1 0.8 95 1 2 87 1 1 85 0 1 88 0 1 95 |
则计算过程截图如下:
程序下载链接:
① CSDN下载站
② 百度网盘(密码:5lql)
推荐阅读