The program should ask for the data to fill a studentRec of structure 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. Use the iomanip tools to make the data look as nice a possible.

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

#include <iostream>
#include <iomanip>
#include <string>
#include <vector>
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);
    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;

    // 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;
}
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 : last_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 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);
      

        string last_name;
        cout << "Last name: ";
        getline(cin, last_name);

        int year_grad;
        cout << "Grad Year: ";
        cin >> year_grad;
        StudentRec.set_year_grad(year_grad);
        student_list.push_back(StudentRec);
       
        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 movies
    vector<double> avg;
    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 = 10;
    cout << left
        << setw(w * 3) << " Last Name"
        << setw(w * 3) << "First Name"
        << setw(w) << "YEAR" << endl;

    for (StudentRec StudentRec : student_list)
    {
        cout << setw(w * 3) << StudentRec.get_last_name()
            << setw(w * 3) << StudentRec.get_first_name()
            << setw(w) << StudentRec.get_year_grad() << endl;
    }

    cout << endl;
    // Output with titles in ALL CAPS
    for (StudentRec StudentRec : student_list)
    {
        cout << setw(w * 3) << StudentRec.get_last_name_upper()
            << setw(w * 3) << StudentRec.get_first_name_upper()
            << setw(w) << StudentRec.get_year_grad() << endl;
    }
    cout << endl;
    return 0;
}

Fix and modify the code

  • Using the attached code as a "model", write a program where each student record is constructed using the class StudentRec.
    • The variables in this case are "private" and the functions are "public."
    • Note:  only the first_name and last_name variables will require "getter" functions that return the name in all caps

 

get_first_name_upper() and get_last_name_upper() functions. 

 

  • Your class declaration section should look something like this:

 

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);

string get_last_name() const;

string get_last_name_upper() const;    

    

// the rest of the "setter" and "getter" functions for each variable above go here

  

  

};       // NOTE: a class declaration ends with a semicolon

 

  • The program should ask for the data to fill a studentRec of structure 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. Use the iomanip tools to make the data look as nice a possible.

 

Expert Solution
Step 1

Instruction we need to follow:

The program should ask for the data to fill a studentRec of structure 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. Use the iomanip tools to make the data look as nice a possible.

 

trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Knowledge Booster
Array
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education