Movie+Reviews


 * Problem specification**

A program is to ask the user to enter a film rating (0-100) and then display a short text review based on the following scores:
 * 0 - 19: "Really terrible, don't go and see it"
 * 20 - 39: "Pretty awful, not recommended"
 * 40 - 59: "OK, worth watching if there's nothing else on"
 * 60 - 79: "Pretty good film, try to see it if you can"
 * 80 - 100: "Brilliant movie - don't miss it"


 * Part 1**

The program should:
 * ask the user to enter the name of the film
 * validate the film name by ensuring that it contains at least 2 characters and no more than 30 characters
 * ask the user to enter a rating (0 - 100)
 * validate the rating

Your task is to design, implement and test a program by completing the following steps:
 * Write an algorithm using an appropriate design notation which will input one film name and rating and display a short text review.
 * Remember to show the data flow.
 * Create your own test plan for the program.
 * Write a program based on your design with subprograms and parameter passing
 * Use internal commentary to explain the purpose of using subprograms and parameter passing and how they work.
 * Test the program using your test plan and if necessary, make any amendments to your program

Your program only works for one film at present.
 * Part 2 **
 * Alter your program so that it will read the film name and review score for 10 films from a file storing the details in two separate arrays.
 * Make sure that you add internal commentary to explain how this works.
 * Test your program with the //**FilmReviews.csv**// file

> 1. Load reviews > 2. Search for film > 3. Count rating occurences > 4. Highest rating > 5. Quit > > Make sure that menu option 1 loads the films (the code you wrote in part 2) > Make sure that menu option 5 quits the program > Make sure that any menu choices below 1 or above 5 result in an error message (hint: input validation)
 * Part 3 **
 * 1) Create a text based menu option that will offer the user the following choices:


 * Part 4**
 * 1) Write the code for the "Search for film" menu option. It will search the array of film names for the film name the user has entered and then display the rating for that film. (hint: the code should be based on the //**Linear Search**// algorithm).
 * 2) Use internal commentary to describe how your search subprogram works.
 * 3) Test that the code works correctly.


 * Part 5 **
 * 1) Write the code for the "Count rating occurrences" menu option. It will count the number of occurrences of a film rating score entered by the user. (hint: the code should be based on the //**Count Occurrences**// algorithm).
 * 2) Use internal commentary to describe how your count occurrences subprogram works.
 * 3) Test that the code works with the following data: 92 (two occurrences), 17 (one occurrence), 25 (zero occurrences)


 * Part 6**
 * 1) Write the code for the "Highest rating" menu option. It will display the film with the highest rating.
 * 2) Use internal commentary to describe how your highest rating subprogram works.
 * 3) Test that the code works correctly.