#include #include using namespace std; class Students { protected: string firstName; string lastName; string idNumber; float mGrade[10][2]; public: // to update the student’s info void setfirstName(string fname) { firstName = fname; } void setlastName (string lname) { lastName = lname; } void setidNumber (string id) { idNumber =id; } void setmGrade(float a[10][2]) { for(int i=0; i <10; ++i) { mGrade[i][0] = a[i][0]; mGrade[i][1] = a[i][1]; } } void toPrint() { cout << "First Name: " << firstName << "\n"; cout << "Last Name: " << lastName << "\n"; cout << "ID Number: " << idNumber << "\n"; cout << "First Name: " << firstName << "\n"; for(int i=0; i < 10; ++i) { cout << mGrade[i][0] << " "; } cout << "\n"; for(int i=0; i < 10; ++i) { cout << mGrade[i][1] << " "; } cout << "\n"; } }; class F_Students : public Students { protected: float GPA ; public: void findGPA() { float sum1 = 0, sum2=0; for(int i=0; i < 10; ++i) { sum1 += mGrade[i][0]; sum2 += mGrade[i][1]; } sum1 /= 10; sum2 /= 10; GPA = (sum1 + sum2) / 20; cout << "\nGPA: " << GPA << "\n"; } void sortGrade() { sort(mGrade[0], mGrade[0]+10); //sort(mGrade[0][1], mGrade[0][1]+10); float sum1=0, sum2=0; for(int i=0; i < 10; ++i) { sum1 = mGrade[i][0]; sum2 = mGrade[i][1]; if(sum1 < 50) { cout <<"memory Address: " << *(mGrade+i)+0 << "\n"; } if(sum2 < 50) { cout <<"memory Address: " << *(mGrade+i)+1 << "\n"; } } } }; int main() { Students s1; s1.setfirstName("XYZ"); s1.setlastName("ABC"); s1.setidNumber("8DEXXKL"); float grade[10][2] = {{45,58},{95,78},{45,58},{95,78},{45,58}, {95,78},{45,58},{95,78},{45,58},{95,78}}; s1.setmGrade(grade); s1.toPrint(); F_Students fs; fs.setmGrade(grade); fs.findGPA(); fs.sortGrade(); return 0; } Question I)provide comments for each line of code above stating what function each line of code carries out ii) state the programming techniques used in the completion of this c++ program
#include <iostream>
#include <algorithm>
using namespace std;
class Students {
protected:
string firstName;
string lastName;
string idNumber;
float mGrade[10][2];
public:
// to update the student’s info
void setfirstName(string fname) {
firstName = fname;
}
void setlastName (string lname) {
lastName = lname;
}
void setidNumber (string id) {
idNumber =id;
}
void setmGrade(float a[10][2]) {
for(int i=0; i <10; ++i) {
mGrade[i][0] = a[i][0];
mGrade[i][1] = a[i][1];
}
}
void toPrint() {
cout << "First Name: " << firstName << "\n";
cout << "Last Name: " << lastName << "\n";
cout << "ID Number: " << idNumber << "\n";
cout << "First Name: " << firstName << "\n";
for(int i=0; i < 10; ++i) {
cout << mGrade[i][0] << " ";
}
cout << "\n";
for(int i=0; i < 10; ++i) {
cout << mGrade[i][1] << " ";
}
cout << "\n";
}
};
class F_Students : public Students {
protected:
float GPA ;
public:
void findGPA() {
float sum1 = 0, sum2=0;
for(int i=0; i < 10; ++i) {
sum1 += mGrade[i][0];
sum2 += mGrade[i][1];
}
sum1 /= 10;
sum2 /= 10;
GPA = (sum1 + sum2) / 20;
cout << "\nGPA: " << GPA << "\n";
}
void sortGrade() {
sort(mGrade[0], mGrade[0]+10);
//sort(mGrade[0][1], mGrade[0][1]+10);
float sum1=0, sum2=0;
for(int i=0; i < 10; ++i) {
sum1 = mGrade[i][0];
sum2 = mGrade[i][1];
if(sum1 < 50) {
cout <<"memory Address: " << *(mGrade+i)+0 << "\n";
}
if(sum2 < 50) {
cout <<"memory Address: " << *(mGrade+i)+1 << "\n";
}
}
}
};
int main() {
Students s1;
s1.setfirstName("XYZ");
s1.setlastName("ABC");
s1.setidNumber("8DEXXKL");
float grade[10][2] = {{45,58},{95,78},{45,58},{95,78},{45,58},
{95,78},{45,58},{95,78},{45,58},{95,78}};
s1.setmGrade(grade);
s1.toPrint();
F_Students fs;
fs.setmGrade(grade);
fs.findGPA();
fs.sortGrade();
return 0;
}
Question
I)provide comments for each line of code above stating what function each line of code carries out
ii) state the
Step by step
Solved in 3 steps with 4 images