Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Write a class User that has the following private data members: a string name that uniquely identifies a user an array ratings that can hold

Write a class User that has the following private data members:

a string name that uniquely identifies a user

an array ratings that can hold 100 integers. Ratings must be one of the values in the chart below.

an integer numRatings for the number of ratings in the ratings array. This will correspond with the total number of books.

image text in transcribed

Write a public constructor for the class that takes as parameters a name, an array of integers userRatings, and an integer numberRatings, and creates a new user object. Each rating in the userRatings array should be copied into the user's ratings array starting at ratings[0].

I should be able to create a new user by doing the following:

int user1Ratings[] = {0, 1, 3, -1, 0, -5, -3}; User user1 = User("Vipra", user1Ratings, 7);

Write a default constructor for the class that takes no parameters and creates a new user object with a name "NONE", an array ratings of 0s, and a numRatings of 0.

Write a getter and setter for name, named getName, setName respectively.

Write a getter and setter for numRatings named getNumRatings, setNumRatings respectively.

For the data member ratings you will need to write your methods a bit differently since it is not possible to return an entire array. Write the following functions:

getRatingAt which takes a single integer parameter for the index and returns the rating at that index. If the index is greater than or equal to numRatings return -1000.

setRatingAt a function which takes two parameters in this order:

the position at which to add the rating

the rating

This function should set the rating at the position to the new rating.

If the position is greater than or equal to numRatings keep the existing rating and return -1000.

We want to prevent users from entering ratings that aren't -5, -3, 0, 1, 3, or 5. If setRatingAt is called with an invalid rating, print "Invalid Input!" and return -1. Otherwise, print "Success!" and return 0 to indicate success.

Given the example above, I should be able to get ratings of book at index 2 for user1:

cout

OUTPUT:

3

and set ratings for the user:

image text in transcribed

OUTPUT:

image text in transcribed

Code from previous question:

class Book{ private: string title,author;

public: Book(){ title = author = "NONE"; } Book(string t, string a){ title = t; author = a; } void setTitle(string t){ title = t; } string getTitle(){ return title; } void setAuthor(string s){ author = s; } string getAuthor(){ return author; } };

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Databases Illuminated

Authors: Catherine M. Ricardo, Susan D. Urban, Karen C. Davis

4th Edition

1284231585, 978-1284231588

More Books

Students also viewed these Databases questions

Question

Dont smell (i.e., too much perfume/cologne).

Answered: 1 week ago

Question

16.8 Explain the typical steps in a grievance procedure.

Answered: 1 week ago

Question

16.4 Outline the five steps in the labour relations process.

Answered: 1 week ago