浙江工業大學簡易績點計算器c++版
阿新 • • 發佈:2019-02-13
最近需要計算本學年的績點,於是隨手寫了一個績點計算器。適用於浙江工業大學。編譯環境VS2010。
#include<iostream> #include<string> #include<list> using namespace std; list<string> Name; list<double> Score; list<double> Credit; void calculate1() { double zongfen=0; double zongxuefen=0; double a,b; double jidian; list<double>::iterator i2=Score.begin(); list<double>::iterator i3=Credit.begin(); for(i2;i2!=Score.end();i2++) { b=*i2; a=*i3; if(a>=60) { zongfen=(a-50)/10*b+zongfen; } else { zongfen=zongfen; } zongxuefen=b+zongxuefen; i3++; } jidian=zongfen/zongxuefen; cout<<"你的當前績點為:"<<jidian; } void input() { string s; double score; double credit; cout<<"請輸入你的課程名:"<<endl; cin>>s; cout<<"請輸入這門課程的學分"<<endl; cin>>score; cout<<"請輸入這門課程的最終分數"<<endl; cin>>credit; Name.push_back(s); Score.push_back(score); Credit.push_back(credit); } void show() { list<string>::iterator it1=Name.begin(); list<double>::iterator it2=Score.begin(); list<double>::iterator it3=Credit.begin(); for(it1;it1!=Name.end();it1++) { cout<<"科目:"<<*it1<<" 學分:"<<*it2<<" 分數:"<<*it3<<endl; it2++; it3++; } } void calculate() { double zongfen=0; double zongxuefen=0; double a,b; double jidian; list<double>::iterator i2=Score.begin(); list<double>::iterator i3=Credit.begin(); for(i2;i2!=Score.end();i2++) { b=*i2; a=*i3; if(a>=60) { zongfen=(a-50)/10*b+zongfen; } else { zongfen=zongfen; } zongxuefen=b+zongxuefen; i3++; } jidian=zongfen/zongxuefen; if(jidian>=2.5) cout<<"恭喜!"<<endl<<"你的績點為:"<<jidian<<endl; else cout<<"好淒涼!"<<endl<<"你的績點為:"<<jidian<<endl; } int main() { system("color 70"); int n; cout<<"歡迎使用工大績點簡易計算器。請輸入總共有幾門課程:"; cin>>n; system("cls"); for(int i=1;i<=n;i++) { if(i>=2) { calculate1(); } else cout<<"你的當前績點為:0。"; cout<<" 正在輸入第"<<i<<"門課,還有"<<n-i<<"門課需要輸入。"<<endl<<"(其中優秀95分,良好85,中等75,及格65,不及格0分)"<<endl; input(); system("cls"); } show(); cout<<endl; calculate(); }