Problem: You are asked to create a program for storing the catalog of movies at a DVD store using functions, files, and user-defined structures. The program should let the user read the movie through the file, add, remove, and output movies to the file. For this assignment, you must store the information about the movies in the catalog using a single vector. The vector's data type is a user-defined structure that you must define on functions.h following these rules: Identifier for the user-define structure: movie. Member variables of the structure "movie": name (string), year (int), and genre (string). Note: you must use the identifiers presented before when defining the user-defined structure. Your solution will NOT pass the unit test cases if you do not follow the instructions presented above. The main function is provided (you need to modify the code of the main function to call the user-defined functions described below). The following user-defined functions are provided in the functions.h template file printMenu: this function does not receive arguments and does not return a value. The function prints the options from the menu to STDOUT. Menu: A - Add Movie R - Remove Movie O - Output Movie Info C - Output Catalog Info R- Read file W- Write file Q - Quit Program printMovieInfo: this function receives the following arguments: A string representing the movie name. An integer representing the year of the movie. A string representing the movie genre. The function prints the information about a movie (name, year, and genre) and does not return a value. You must write the following user-defined functions: 1) printCatalog: this function receives the following arguments: -A vector with the catalog of movies. The function prints the information about each movie in the catalog using the output messages provided in the printMovieInfo function and does not return a value. 2) findMovie: this function receives the following arguments: A string representing the movie name. A vector with the catalog of movies. The function returns the index at which the movie name is located in the vector with the names of the movies in the catalog. If the movie is not in the catalog, the function must return -1. HINT: You may have to use this function in other functions. 3) addMovie: this function receives the following arguments: A string representing the name of the movie to be added to the catalog. An integer representing the year of the movie to be added to the catalog. A string representing the genre of the movie to be added to the catalog. A vector with the catalog of movies. The function adds the information about the new movie to the corresponding vectors and does not return a value. 4) removeMovie: this function receives the following arguments: A string representing the name of the movie to be removed from the catalog. A vector with the catalog of movies. If the movie is in the catalog, the function removes all the information about the movie from the vectors representing the catalog. The function returns true (boolean) if the movie was removed from the catalog or false (boolean) if the movie was not found. HINT: You may have to call another function within this function. 5) movieInfo: this function receives the following arguments: A string representing the name of the movie to find in the catalog. A vector with the catalog of movies. If the movie is in the catalog, the function outputs the information about the movie using the output messages provided in the printMovieInfo function. If the movie is not found, then the function must print to STDOUT the following message: cout << "Cannot find " << /*movie name identifier*/ << endl; This function does not return a value. HINT: You may have to call another function within this function. 6) readFromFile: this function receives the following arguments: A string with the input file name A vector with the catalog of movies The function reads the movie information from the input file and appends them to the Catalog. This function returns true (boolean) if the program can open the file specified by the first argument or false (boolean) if the program cannot open the file specified by the first argument. The information about the catalog of movies is stored in the input file using the following format: Movie Name 1 (string) Year1 (int) Genre1 (string) . . . Movie Name n (string) YearN (int) GenreN (string) Given the previous format for the input file (where each field of a movie is stored in one line), here is an example of an input file: Terminator 1984 Action The Goonies 1985 Fiction Avengers 2012 Action 7) writeToFile: this function receives the following arguments: A string with the name of the output file A vector with the catalog of movies The function stores the information from the movie catalog in the output file. This function returns true (boolean) if the program can open the file specified by the first argument or false (boolean) if the program cannot open the file specified by the first argument.

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

Problem:

You are asked to create a program for storing the catalog of movies at a DVD store using functions, files, and user-defined structures. The program should let the user read the movie through the file, add, remove, and output movies to the file.

For this assignment, you must store the information about the movies in the catalog using a single vector. The vector's data type is a user-defined structure that you must define on functions.h following these rules:

  • Identifier for the user-define structure: movie.
  • Member variables of the structure "movie": name (string), year (int), and genre (string).

Note: you must use the identifiers presented before when defining the user-defined structure. Your solution will NOT pass the unit test cases if you do not follow the instructions presented above.

The main function is provided (you need to modify the code of the main function to call the user-defined functions described below).

The following user-defined functions are provided in the functions.h template file

printMenu: this function does not receive arguments and does not return a value. The function prints the options from the menu to STDOUT.

Menu: A - Add Movie R - Remove Movie O - Output Movie Info C - Output Catalog Info R- Read file W- Write file Q - Quit Program

printMovieInfo: this function receives the following arguments:

A string representing the movie name. An integer representing the year of the movie. A string representing the movie genre.

The function prints the information about a movie (name, year, and genre) and does not return a value.

You must write the following user-defined functions:

1) printCatalog: this function receives the following arguments:

-A vector with the catalog of movies.

The function prints the information about each movie in the catalog using the output messages provided in the printMovieInfo function and does not return a value.

2) findMovie: this function receives the following arguments:

  • A string representing the movie name.
  • A vector with the catalog of movies.

The function returns the index at which the movie name is located in the vector with the names of the movies in the catalog. If the movie is not in the catalog, the function must return -1.

HINT: You may have to use this function in other functions.

3) addMovie: this function receives the following arguments:

  • A string representing the name of the movie to be added to the catalog.
  • An integer representing the year of the movie to be added to the catalog.
  • A string representing the genre of the movie to be added to the catalog.
  • A vector with the catalog of movies.

The function adds the information about the new movie to the corresponding vectors and does not return a value.

4) removeMovie: this function receives the following arguments:

  • A string representing the name of the movie to be removed from the catalog.
  • A vector with the catalog of movies.

If the movie is in the catalog, the function removes all the information about the movie from the vectors representing the catalog. The function returns true (boolean) if the movie was removed from the catalog or false (boolean) if the movie was not found.

HINT: You may have to call another function within this function.

5) movieInfo: this function receives the following arguments:

  • A string representing the name of the movie to find in the catalog.
  • A vector with the catalog of movies.

If the movie is in the catalog, the function outputs the information about the movie using the output messages provided in the printMovieInfo function. If the movie is not found, then the function must print to STDOUT the following message:

cout << "Cannot find " << /*movie name identifier*/ << endl;

This function does not return a value.

HINT: You may have to call another function within this function.

6) readFromFile: this function receives the following arguments:

  • A string with the input file name
  • A vector with the catalog of movies

The function reads the movie information from the input file and appends them to the Catalog. This function returns true (boolean) if the program can open the file specified by the first argument or false (boolean) if the program cannot open the file specified by the first argument.

The information about the catalog of movies is stored in the input file using the following format:

Movie Name 1 (string) Year1 (int) Genre1 (string) . . . Movie Name n (string) YearN (int) GenreN (string)

Given the previous format for the input file (where each field of a movie is stored in one line), here is an example of an input file:

Terminator 1984 Action The Goonies 1985 Fiction Avengers 2012 Action

7) writeToFile: this function receives the following arguments:

  • A string with the name of the output file
  • A vector with the catalog of movies

The function stores the information from the movie catalog in the output file. This function returns true (boolean) if the program can open the file specified by the first argument or false (boolean) if the program cannot open the file specified by the first argument. 

 

 

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 6 steps with 5 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