백준 25206 c++
#include <iostream>
#include <cstring>
#include <cstdlib>
#pragma warning(disable:4996)
using namespace std;
int main(void)
{
int i = 0;
char temp[51];//
double total = 0, total2 = 0, avg = 0;
//char** lecture_name = nullptr;
//lecture_name = new char* [20];
double score[20] = {};
//char grade[20][3] = {};
double grade2[20] = {};
for (i = 0; i < 20; i++)
{
cin >> temp;
if ((int)strlen(temp) >= 1 && (int)strlen(temp) <= 50)
{
//lecture_name[i] = new char[(int)strlen(temp) + 1];
//strcpy_s(lecture_name[i], (int)strlen(temp) + 1, temp);
//strcpy(lecture_name[i], temp);
cin >> score[i];
cin >> temp;
//strcpy_s(grade[i], (int)strlen(temp) + 1, temp);
//strcpy(grade[i], temp);
if (strcmp(temp, "A+") == 0)
{
grade2[i] = 4.5;
}
else if (strcmp(temp, "A0") == 0)
{
grade2[i] = 4.0;
}
else if (strcmp(temp, "B+") == 0)
{
grade2[i] = 3.5;
}
else if (strcmp(temp, "B0") == 0)
{
grade2[i] = 3.0;
}
else if (strcmp(temp, "C+") == 0)
{
grade2[i] = 2.5;
}
else if (strcmp(temp, "C0") == 0)
{
grade2[i] = 2.0;
}
else if (strcmp(temp, "D+") == 0)
{
grade2[i] = 1.5;
}
else if (strcmp(temp, "D0") == 0)
{
grade2[i] = 1.0;
}
else if(strcmp(temp, "P") == 0)
{
grade2[i] = -1.0;
}
else
{
grade2[i] = 0.0;
}
}
else
{
i--;
}
}
for (i = 0; i < 20; i++)
{
if (grade2[i] == -1.0)
{
;
}
else
{
total = total + (grade2[i] * score[i]);
total2 = total2 + score[i];
}
}
avg = total / total2;
/*for (i = 0; i < 20; i++)
{
cout << lecture_name[i] << " " << score[i] << " " << grade[i] << endl;
}*/
cout << fixed;
cout.precision(10);
cout << avg << endl;
/*for (i = 0; i < 20; i++)
{
delete[] lecture_name[i];
}
delete[] lecture_name;*/
return 0;
}