Question: I have everything done except for the output procedure in this problem. Write a Raptor program that will obtain as input: the number of movies
I have everything done except for the output procedure in this problem.
Write a Raptor program that will obtain as input:
the number of movies in a collection; and
the titles of each of those movies.
The program will then output the list of movies:
First, in alphabetical order; and
Second, in their original order
You must have the following separate procedures you are welcome to have more, based on your design:
getMovieList this procedure will obtain the input, as described above. Input must be validated, eg the number of movies must be a positive integer not just a positive number and each movie title must be text not a numberAll validation will be performed by separate procedures, isValidNum and isValidTitle see below. This procedure getMovieList must store the input into an array that will be passed back to main
Bonus: restructure the titles by moving the articles TheA and An to the end of the title, following a For example, the movie title An American Carol would be converted to American Carol, An and the movie title The Art of Travel would be converted to Art of Travel, The Do not double dip that is a title like The A Team would only be converted to A Team, The
isValidNum this procedure will receive an input value as a parameter and return, via another parameter, whether that input is valid as a number of movies owned positive integer This procedure will also output feedback to the user if the input was not valid.
Bonus: Provide appropriate feedback, based on the type of input error, eg separate complaints for the input being negative versus the input not being a number versus the input not being an integer.
isValidTitle this procedure will receive an input value as a parameter and return, via another parameter, whether that input is valid as a movie title not a number This procedure will also output feedback to the user if the input was not valid.
sortArray this procedure will receive the array of movies input and return the array in sorted order. Note that this procedure must NOT produce output OR generate output text.
outputMovieList this procedure will format and display the output.
Main the only modules listed above that main will call are getMovieList sortArray and outputMovieList
Bonus: Only employ a single array, ie produce the required output without employing more than one array.
Extra Bonus: Produce the required output without repositioning the titles within the array and without storing them in a secondary array. That is once the titles are stored in the array by getMovieList they are never moved from their positions or copied to another array.
Hint: As the above bonus should imply, the easiest way to do this assignment is by employing multiple arrays!
Other Specifications:
create your solution in Raptor
create modules as defined above
use subcharts, procedures, and inout parameters, as appropriate
all nonparameter, local variables must be "declared" by initializing them at the beginning of their module
all nonparameter, local variables must be "declared" at the beginning of the lowest module possible. For example, if the variable num is only used in module getInput then it should be declared in getInput However, if the variable num is used in two modules that are both called from main then it should be declared in main and passed as a parameter to each modules.
input validation must occur as it is input, that is the user must not be allowed to continue to enter more values until the value they have already input is validated.
perform calculations in the appropriate processing module
perform output formatting in the output module
display the final formatted message in the output module
all flowchart symbols should be commented appropriately
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
