C++代写:CS125 The Movie Rating App

实现sorted linked list,完成一个电影打分的App小程序。

Requirement

You will create a text-based movie rating system. Each movie object will contain:

  • title (a String) (e.g., “Arrival”; “Sound of Music”; etc)
  • rating(integer) (1-5)
  • movie description (String) (e.g., “Sci-fi thriller about an alien encounter”
  • genre (enum: {ACTION, ROMANCE, COMEDY, DRAMA, DOCUMENTARY, ANIME}),
  • haveSeen (boolean - indicating whether the user has seen the movie yet , or not)
  • actors (simpleList of Strings) (e.g., a simple-list implementation containing an array property with Strings like “Emma Watson”, “Benedict Cumberbatch”)

While the movie rating app program is running, the text-interface should look like this:

Welcome to the Movie Rating App!
1) add an movie
2) remove a movie
3) display movies alphabetically
4) display movies >= a certain rating
5) display movies in a specified genre
6) list all movies with a specified actor/actress
7) list all movies the user has yet to see
8) quit
Select an option below:

You will maintain a sorted linked list data structure to hold the schedule information. The actors/actresses will be held in a data structure (ActorList) that has at least an addActor(String newActor) method and an ‘array’ property that will always have a length equal to the number of actors and actresses in the movie.

For extra credit points, your app will be demonstrated and the code reviewed by two peers and one course assistant at your last lab/section of the semester. Partial credit will be given for non-working code. Important: For maximum credit, in addition to a fully-functioning app, reviewers will be looking for good coding style such as: proper indentation, liberal use of constructors, data encapsulation, a relatively short ‘main’ method and extensive use of subprograms. Use recursive methods whenever possible!
Your code must also be checked into your subversion archive.
The following app behaviors will be expected for each option:

  • 1) add - The user will be prompted for information for a movie to add (title, rating, description, genre, whether the user has seen it, user-specified number of actors/actresses). The program will add the movie in the appropriate location in the linked list, alphabetically sorted (by title) movie list.
  • 2) remove - the movies will be displayed in alphabetical order by title and the user will be prompted to enter a title of a movie to remove. If the movie title exists, its record will be removed. If it doesn’t an appropriate message will be displayed to the user. (use (3) below to help you with this)
  • 3) display movies alphabetically - the movies will be displayed in alphabetical order by movie title. All information for the movie will be displayed: title, description, genre, actors/actresses and whether the movie has been seen (‘*’)
  • 4) display movies rated greater than or equal to a number - The user will be prompted for an integer rating. Only the movies that are rated greater than the threshold will be displayed in alphabetical order by title. All information for the movie will be displayed: title, description, genre, actors/actresses and whether the movie has been seen (‘*’).
  • 5) display movies in a genre - the user will be prompted for a movie genre (ACTION, ROMANCE, COMEDY, DRAMA, DOCUMENTARY, ANIME). Only the UNSEEN movies of the selected genre will be displayed ordered by title.
  • 6) display with a certain actor/actress - the user will be prompted for an actor/ actress. All movies that feature this actor/actress will be listed.
  • 7) display movies the user hasn’t seen - will display all movies that user hasn’t seen listed alphabetically by title. A message will be displayed the end that says: “We recommend seeing: **“, where * is the title of the unseen movie with the highest rating. (If there’s a tie, pick one).
  • 8) quit - the user will receive a prompt (“Are you sure you want to quit? - all your data will be lost.”) If the user replies yes, the app quits.
  • 9) Text-based, (or other) User-interface