#include #include #include   using namespace std;   class Movie  { private:     string title = "";     int year = 0; public:     void set_title(string title_param);

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question
#include <iostream>
#include <iomanip>
#include <string>
#include <vector>
 
using namespace std;
 
class Movie 
{
private:
    string title = "";
    int year = 0;
public:
    void set_title(string title_param);
    string get_title() const;           // "const" safeguards class variable changes within function
    string get_title_upper() const;
    void set_year(int year_param);
    int get_year() const;
 
};           // NOTICE: Class declaration ends with semicolon!
 
void Movie::set_title(string title_param) 
{
    title = title_param;
}
 
string Movie::get_title() const 
{
    return title;
}
 
string Movie::get_title_upper() const 
{
    string title_upper;
    for (char c : title) {
        title_upper.push_back(toupper(c));
    }
    return title_upper;
}
 
void Movie::set_year(int year_param) 
{
    year = year_param;
}
 
int Movie::get_year() const 
{
    return year;
}
 
 
int main() 
{
    cout << "The Movie List program\n\n"
         << "Enter a movie...\n\n";
 
    // get vector of Movie objects
    vector<Movie> movies;
    char another = 'y';
    while (tolower(another) == 'y') 
    {
        Movie movie;
 
        string title;
        cout << "Title: ";
        getline(cin, title);
        movie.set_title(title);
 
        int year;
        cout << "Year: ";
        cin >> year;
        movie.set_year(year);
 
        movies.push_back(movie);
 
        cout << "\nEnter another movie? (y/n): ";
        cin >> another;
        cin.ignore();
        cout << endl;
    }
 
    // display the movies
    const int w = 10;
    cout << left
        << setw(w * 3) << "TITLE"
        << setw(w) << "YEAR" << endl;
    
    for (Movie movie : movies) 
    {
        cout << setw(w * 3) << movie.get_title()
            << setw(w) << movie.get_year() << endl;
    }
 
    cout << endl;
 
    // Output with titles in ALL CAPS
    for (Movie movie : movies)
    {
        cout << setw(w * 3) << movie.get_title_upper()
            << setw(w) << movie.get_year() << endl;
    }
 
    cout << endl;
 
    return 0;
}
 
  • 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 first_name = "";         // First name

string middle_name = "";     // Middle name

string last_name = "";          // Last 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.
  • Write excellent comments:
    • At the top to show your name, the class, and what the program does.
    • For each function.
    • Critical or tricky parts that might be difficult to understand without a comment.
Expert Solution
steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Public key encryption
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-engineering and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY