1.2.7 GPA

来源:互联网 发布:永创科技淘宝 编辑:程序博客网 时间:2024/06/05 17:45
#include<iostream>#include<string>#include<iomanip>using namespace std;#define max 1000int main(int argc, char* argv[]){double result;int i;char line[max];l:while(cin.getline(line, max)){int len = string(line).length();result = 0.0;for(i = 0; i < len; i++,i++){switch(line[i]){case 'A':result += 4;break;case 'B':result += 3;break;case 'C':result += 2;break;case 'D':result += 1;break;case 'F':result += 0;break;default:{cout << "Unknown letter grade in input"<< endl;goto l;}}}//cout << setiosflags(ios::fixed) << setprecision(2) << result /(i/2) << endl;cout << fixed << setprecision(2) << result / (i/2) << endl;}return 0;}
///use hash instead of switch-case#include<iostream>#include<string>#include<iomanip>using namespace std;#define max 1000int main(int argc, char* argv[]){double result;int i;char line[max];int hash[6] = {4, 3, 2, 1, 0, 0};l:while(cin.getline(line, max)){int len = string(line).length();result = 0.0;for(i = 0; i < len; i++,i++){int temp = line[i] - 'A';if((temp >= 0 && temp <=3) || temp == 5)result += hash[temp];else{cout << "Unknown letter grade in input"<< endl;goto l;}}cout << fixed << setprecision(2) << result / (i/2) << endl;}return 0;}


原创粉丝点击