Cash-back offer from April 23rd to 27th, 2024: Get a flat 10% cash-back credited to your account for a minimum transaction of $50.Post Your Questions Today!

Question DetailsNormal
$ 35.00

Assignment #2 – Classes and File I/O in C++ | Complete Solution

Question posted by
Online Tutor Profile
request

Assignment #2 – Classes and File I/O in C++

Grading: For each programming assignment, you are graded by explaining and demoing your code to a TA. You must demo your program BEFORE the next assignment is due, and if you fail to do so, you will automatically lose 50 points! Your job is to convince the TA that your program works correctly, i.e. show your TA how to use/break your program☺


(80 pts) Problem Statement: We will simulate the physical (not online) Netflix rental system. You will write a program that creates a class to hold Netflix data, which will have Movie objects. You will ask the user if he/she wants to enter a new movie to the database or find a movie to rent.


• If the user wants to enter a movie, then you will prompt the user for how many movies they want to enter into the database and the movie information for each: title, stars, number of cast members, cast member names, movie rating, and copies.


• If the user wants to search for a movie, then you will prompt the user for the information they want to use for the search: name, number of stars, specific cast member, or rating. In addition, you will continually ask the user if they want to enter a new movie to the database or search for movies based on some criteria. Here are the class member variables for our Netflix system and movie objects. It is your job to determine the behavior for each class.
class netflix {
public:

private:
movie *m; //This is a dynamic array of movies
int num_movies;
};
class movie {
public:

private:
string name;
int stars;
int num_cast;
string *cast; //This is a dynamic array of strings
string rating;
int copies;
};


Example Run of Adding Movies:
Do you want to enter a movie to the database or find a movie to rent? (1 – enter, 2 – find, or 0 - exit) 1
How many movies do you want to enter to the database? 1
Enter the name of your movie: Computer Science 162
How many stars? 5
How many cast members? 2
Enter cast member 1: Jennifer Parham-Mocello
Enter cast member 2: Students
Enter the movie rating: PG
How many copies of this movie: 2
Added to the database!
Do you want to enter a movie to the database or find a movie to rent? (1 – enter, 2 – find, or 0 - exit) 0


Example Run of Renting Movies:
Do you want to enter a movie to the database or find a movie to rent? (1 – enter, 2 – find, or 0 - exit) 2
Do you want to find movies based on: 1 - name, 2 - number of stars, 3 - specific cast member, or 4 – rating)? 1
What is the title? Computer Science 162
Found 1 movie:
Number 1
Title: Computer Science 162
Stars: 5
Cast Members: Jennifer Parham-Mocello, Students
Rating: PG
Current Copies to Rent: 1
Which movie do you want to rent? 1
Movie, Computer Science 162, rented!
Do you want to enter a movie to the database or find a movie to
rent? (1 – enter, 2 – find, or 0 - exit) 0
Your file, netflix.dat, should have the following information separated by the pipe
delimiter. For example, here are the categories in the file:
#|Title|Stars|Cast|Members|Rating|Copies|Rented
Example for the above database:
1|Computer Science 162|5|2|Jennifer Parham-Mocello|Students|PG|2|1
Things to consider in this assignment:
Remember, you need to update the number of movies rented, when the user decides to
rent a specific movie. The current number of copies you have to rent is:
copies to rent = total copies – rented
You need to look search through the database to see how many movies match the
search criteria, in order to know how many movie objects to create to hold the found
movies. You are not allow to read the whole Netflix database into the program to
search!!!


Requirements:
• You are required to have constructors, destructors, copy constructors, and the appropriate use of const for every class. (30 pts)
• You must have accessor and mutator functions for each member in the class. (10 pts)
• Appropriate behavior for each object to correctly add and rent movies from the data file. (30 pts)
• You must have a Makefile, .h and .cpp for each class, and a driver file with the main function. (10 pts)
• Your program must not have a memory leak!!!
• Make sure you try to keep your functions at a 15 lines max.


Extra Credit: 10 pts
You must have proper error checking and handling for the input, e.g. choice that isn’t valid, try to check out a movie with zero copies, etc. (10 pts) Program Style/Comments
In your implementation, make sure that you include a program header in your program, in addition to proper indentation/spacing and other comments! Below is an example header to include. Make sure you review the style guidelines for this class, and begin trying to follow them, i.e. don’t align everything on the left or put everything on one line!

http://classes.engr.oregonstate.edu/eecs/spring2015/cs162-001/162_style_guideline.pdf
/******************************************************
** Program: rental.cpp
** Author: Your Name
** Date: 04/26/2015
** Description:
** Input:
** Output:
******************************************************/
(10 pts) Design for Assignment #2 changes/Testing
• (5 pts) How did your design for searching for data in Assignment #2 change during implementation?
• (5 pts) What were the actual values from your testing? Did these match your expected values? What did you do to make sure you get the expected values?
Please see the template for this document: Polya_template.pdf You need to have a table with these headings: Input Values Expected Output Did Actual Meet Expected?
3 Error message for
choice 3 because that
isn’t an option.
Reprompt for choice
again.
Yes
Electronically submit your C++ program (.h, .cpp, and Makefile files, not your
executable!!!) and design/testing document, as a pdf, by the assignment due date, using
TEACH.
**NOTE: The easiest way to upload your program from ENGR to TEACH is to map a
network drive to your home directory on ENGR. Mac or Windows, See:
http://engineering.oregonstate.edu/computing/fileaccess/

Available Answer
$ 35.00

[Solved] Assignment #2 – Classes and File I/O in C++ | Complete Solution

  • This solution is not purchased yet.
  • Submitted On 28 Apr, 2015 06:34:56
Answer posted by
Online Tutor Profile
solution
This Tutorial is rated A+ p...
Buy now to view the complete solution
Other Similar Questions
User Profile
EmmyR...

Week 6 Assignment - Infrastructure Design

Identify the major hardware and software components of your hypothetical e-commerce company's information systems infrastructure. Design your e-commerce company's hardware (database and proxy servers, network equipment) and ...
User Profile
QUIZL...

NURS 6640N Week 4 Assignment 1

For Solution Please download the enclosed Attachment. ...
User Profile
vpqnr...

Liberty University ENGL 101 Mindtap 6 assignment complete solutions correct answers updated

Liberty University ENGL 101 Mindtap 6 assignment complete solutions correct answers updated 1. Organizing a Paragraph Using Time, Space, or Importance To cohere means “to hold together.” A paragraph coheres when the...
User Profile
vpqnr...

Liberty University ENGL 101 Mindtap 2 assignment complete solutions correct answers updated

Liberty University ENGL 101 Mindtap 2 assignment complete solutions correct answers updated 1 . Understanding the Types of Supporting Ideas For your audience to understand your main idea fully, you need to provide support...
User Profile
Kevin...

B6028 Module 4 Assignment 2 Internal Environmental Scan Organizational Assessment

Module 5 - M5 Assignment 2 Internal Environmental Scan/Organizational Assessment     Internal Environmental Scan/Organizational Assessment This section provides the opportunity to develop your course project. Conducting...

The benefits of buying study notes from CourseMerits

homeworkhelptime
Assurance Of Timely Delivery
We value your patience, and to ensure you always receive your homework help within the promised time, our dedicated team of tutors begins their work as soon as the request arrives.
tutoring
Best Price In The Market
All the services that are available on our page cost only a nominal amount of money. In fact, the prices are lower than the industry standards. You can always expect value for money from us.
tutorsupport
Uninterrupted 24/7 Support
Our customer support wing remains online 24x7 to provide you seamless assistance. Also, when you post a query or a request here, you can expect an immediate response from our side.
closebutton

$ 629.35