Please fix my code, my error is the bold part This is a program that inputs, processes, and outputs a set of student records organized as a vector of class StudentRec objects.
#include <iostream>
#include <iomanip>
#include <string>
#include <
#include <cmath>
using namespace std;
class StudentRec
{
private:
string last_name = ""; // Last name
string first_name = ""; // First name
int year_grad = 0; // Year expected to graduate
float gpa = 0.0; // Current gpa
public:
void set_last_name(string last_name_param);
void set_first_name(string first_name_param);
void set_gpa(float gpa_param);
string get_last_name() const;
string get_first_name()const;
string get_last_name_upper() const;
string get_first_name_upper() const;
void set_year_grad(int year_grad_param);
int get_year_grad() const;
int getgpa()const;
// the rest of the "setter" and "getter" functions for each variable above go here
};
void StudentRec::set_last_name(string last_name_param)
{
last_name = last_name_param;
}
void StudentRec::set_first_name(string first_name_param)
{
first_name = first_name_param;
}
void StudentRec::set_gpa(float gpa_param)
{
gpa = gpa_param;
}
string StudentRec::get_last_name() const
{
return last_name;
}
string StudentRec::get_first_name() const
{
return first_name;
}
string StudentRec::get_last_name_upper() const
{
string last_name_upper;
for (char c : last_name) {
last_name_upper.push_back(toupper(c));
}
return last_name_upper;
}
string StudentRec::get_first_name_upper() const
{
string first_name_upper;
for (char c : first_name) {
first_name_upper.push_back(toupper(c));
}
return first_name_upper;
}
void StudentRec::set_year_grad(int year_param)
{
year_grad = year_param;
}
int StudentRec::get_year_grad() const
{
return year_grad;
}
int StudentRec::getgpa() const
{
return gpa;
}
int main()
{
float avggpa = 0;
cout << "The Student List Program\n\n";
cout << "Enter a Student Record \n\n"; // Get vector of StudentRec objects
vector<StudentRec> student_list;
char another = 'y';
while (tolower(another) == 'y')
{
StudentRec StudentRec; // make temporary new (initialized) StudentRec object
string first_name;
cout << "First Name: ";
getline(cin, first_name);
StudentRec.set_first_name(first_name);
string last_name;
cout << "Last name: ";
getline(cin, last_name);
StudentRec.set_last_name(last_name);
int year_grad;
cout << "Grad Year: ";
cin >> year_grad;
StudentRec.set_year_grad(year_grad);
float gpa;
cout << "GPA: ";
cin >> gpa;
StudentRec.set_gpa(gpa);
student_list.push_back(StudentRec);
cout << "\nEnter another Student Record? (y/n): ";
cin >> another;
cin.ignore(); // Only one character should be extracted; the others should be ignored (flush the buffer)
cout << endl;
}
// display the list
vector<double> avg;
for (StudentRec temp : student_list)
{
avg.push_back(temp.gpa);
}
for (int x = 0; x < avg.size(); x++)
{
avggpa += avg.at(x);
}
avggpa = (avggpa) / (avg.size()); // Use to find the average gpa of the students
const int w = 5;
cout << left << setw(w * 3) << "First Name" << setw(w * 3) << "Last Name" << setw(w * 3) << "Grad Year" << setw(w * 3) << "GPA" << endl;
cout << endl;
for (StudentRec StudentRec : student_list)
{
cout << setw(w * 3) << StudentRec.get_first_name()
<< setw(w * 3) << StudentRec.get_last_name() << setw(w * 3) << StudentRec.get_year_grad() << setw(w * 3) << StudentRec.getgpa()<< endl;
}
cout << endl;
cout << endl;
// Output with titles in ALL CAPS
for (StudentRec StudentRec : student_list)
{
cout << setw(w * 3) << StudentRec.get_first_name_upper()
<< setw(w * 3) << StudentRec.get_last_name_upper() << setw(w * 3) << StudentRec.get_year_grad() << setw(w * 3) << StudentRec.getgpa()<< endl;
}
cout << endl;
cout << "Average gpa for the students is " << fixed << setprecision(2) << avggpa << endl;
}
Please fix my code, my error is the bold part
This is a program that inputs, processes, and outputs a set of student records organized as a vector of class StudentRec objects.
- the program should ask for the data to fill a studentRec of class StudentRec and then ask y/n if they want to add another studentRec.
- Each studentRec will go into the vector of type StudentRec called student_list.
- After the student records have been entered into the vector student_list, find the average gpa of all the students in the vector.
- Output all the student records and give the average gpa for the students.
Step by step
Solved in 4 steps with 1 images