# Classes and Objects I received an email inviting me to solve the Classes and Objects challenge at HackerRank. If interested please take a look at the requirements and give it a try before reading my solution.

The requirements call for the design of a class with two methods. One of them reads grades from standard input while the other computes the total score for a set of five grades.

Following is a screen capture of the console generated using the provided sample input:

```3
30 40 45 10 10
40 40 40 10 10
50 20 30 10 10
1
```

Seems that there is a student (grades for Kristen are on the first row) that has better scores.

Following is my solution implemented using C++ using Visual Studio 2017 Enterprise Edition:

```#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
#include <cassert>

using namespace std;

class Student {

// **** ****

public:

/*
*/
void input() {
for (int i = 0; i < 5; i++) {
}
}

/*
*/
int calculateTotalScore() {
int total = 0;
for (int i = 0; i < 5; i++) {
}
}
};

int main() {

int n;			// number of students
cin >> n;

// **** create array of students ****

Student *s = new Student[n]; // an array of n students

for (int i = 0; i < n; i++) {
s[i].input();
}

// **** calculate kristen's score ****

int kristen_score = s.calculateTotalScore();
//cout << "main <<< kristen_score: " << kristen_score << endl;

// **** determine how many students scored higher than kristen ****

int count = 0;
for (int i = 1; i < n; i++) {
int total = s[i].calculateTotalScore();
if (total > kristen_score) {
count++;
}
}

// **** print result ****

cout << count;

// **** ****

return 0;
}
```

This code passed the 11 test cases.

If you have comments or questions regarding this post please leave them in the space provided after the post. I will respond as soon as possible.

Enjoy;

John