GPA——平均绩点计算器(5.0分制)
2020-11-17 w, wt
评论关闭 76,342次浏览
平均绩点通常指平均学分绩点(即GPA,Grade Point Average)。某些学校采用学分绩点制对学生学习质量进行评定,平均学分绩点是主要考察指标。
本篇博客提供了C++语言编写的GPA计算器,供大家计算学期的GPA,若有疑问,请在下方评论。
(后期会贴上 #Python# 爬虫登录教务系统,自动获取成绩计算绩点的代码,敬请期待)
先附上源代码
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
|
#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(); 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(); 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; getchar(); getchar(); return 0; } void ScoreToPoint() { int i=0; for(i=0;i<SubjectNum;i++) { if(score[i]<60) gradePoint[i]=0; else gradePoint[i]=5.0-0.1*(100-score[i]); } } void GetGPA() { 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)