GPA——平均績點計算器(5.0分制)

平均績點通常指平均學分績點(即GPA,Grade Point Average)。某些學校採用學分績點制對學生學習質量進行評定,平均學分績點是主要考察指標。

本篇博客提供了C++語言編寫的GPA計算器,供大家計算學期的GPA,若有疑問,請在下方評論。

(後期會貼上 #Python# 爬蟲登錄教務系統,自動獲取成績計算績點的代碼,敬請期待)

先附上源代碼

//5.0分制——績點計算器
//低於60分績點記爲0
//2019.04.30 ——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; 
	getchar();
	getchar();
	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)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章