Question: IN C++ .For this question you will be creating a main function which will allow a user to interact with your program by providing their

IN C++ .For this question you will be creating a main function which will allow a user to interact with your program by providing their own target and input tunes. Your main function should present the user with a menu containing the following options:

Calculate the similarity between two tunes of the same length

Calculate the best similarity between two tunes of either equal or unequal length

Print three input tunes in order from most to least similar to the target tune

Exit

Your menu should run on a loop, continually offering the user each option until they choose to exit. Be sure to use the functions you wrote in questions 2 through 6.

Note: Your main function should account for any user input that isn't in valid SPN. If user input is not in valid SPN your program should print "Invalid input. Please enter a tune in valid SPN:" until the user enters valid SPN.

--- Sample Run 1--- (> indicates user input)

 

--- Menu --- 1. Calculate similarity between two tunes. 2. Calculate best similarity between two tunes of potentially different lengths. 3. Print three input tunes in order from most to least similar to the target tune. 4. Exit. Please enter your choice (1 - 4): > 6 Invalid input. --- Menu --- 1. Calculate similarity between two tunes. 2. Calculate best similarity between two tunes of potentially different lengths. 3. Print three input tunes in order from most to least similar to the target tune. 4. Exit. Please enter your choice (1 - 4): > 1 Please enter the first tune: > Hello! Invalid input. Please enter a tune in valid SPN: > A2F5G7B8 Please enter the second tune: > F2B5G1D2 The similarity score is: -0.75 --- Menu --- 1. Calculate similarity between two tunes. 2. Calculate best similarity between two tunes of potentially different lengths. 3. Print three input tunes in order from most to least similar to the target tune. 4. Exit. Please enter your choice (1 - 4): > 4 Goodbye!

--- Sample Run 2--- (> indicates user input)

 

--- Menu --- 1. Calculate similarity between two tunes. 2. Calculate best similarity between two tunes of potentially different lengths. 3. Print three input tunes in order from most to least similar to the target tune. 4. Exit. Please enter your choice (1 - 4): > 2 Please enter the input tune: > B3E1D7G4E1 Please enter the target tune: > E3G2D7 The best similarity score is: 0.33 --- Menu --- 1. Calculate similarity between two tunes. 2. Calculate best similarity between two tunes of potentially different lengths. 3. Print three input tunes in order from most to least similar to the target tune. 4. Exit. Please enter your choice (1 - 4): > 1 Please enter the first tune: > F4D1A0E9B6 Please enter the second tune: > E4F1D0 The similarity score is 0.00 --- Menu --- 1. Calculate similarity between two tunes. 2. Calculate best similarity between two tunes of potentially different lengths. 3. Print three input tunes in order from most to least similar to the target tune. 4. Exit. Please enter your choice (1 - 4): > 3 Please enter the first tune: > C0D9E3A5 Please enter the second tune: > D7E2A4F9G1 Please enter the third tune: > A8B1D4 Please enter the target tune: > B7D5 1) Tune 3, 2) Tune 1, 3) Tune 2 --- Menu --- 1. Calculate similarity between two tunes. 2. Calculate best similarity between two tunes of potentially different lengths. 3. Print three input tunes in order from most to least similar to the target tune. 4. Exit. Please enter your choice (1 - 4): > 4 Goodbye!

Be sure to paste only your main function into the answer box! A version of isValidNote, isValidTune, tuneSimilarity, bestSimilarity, and printWorstTune have already been provided for you.

For example:

Input Result
6 2 F5G7B1D4 A5G9B1 4
--- Menu --- 1. Calculate similarity between two tunes. 2. Calculate best similarity between two tunes of potentially different lengths. 3. Print three input tunes in order from most to least similar to the target tune. 4. Exit. Please enter your choice (1 - 4): Invalid Input. --- Menu --- 1. Calculate similarity between two tunes. 2. Calculate best similarity between two tunes of potentially different lengths. 3. Print three input tunes in order from most to least similar to the target tune. 4. Exit. Please enter your choice (1 - 4): Please enter the input tune: Please enter the target tune: The best similarity score is: 1.67 --- Menu --- 1. Calculate similarity between two tunes. 2. Calculate best similarity between two tunes of potentially different lengths. 3. Print three input tunes in order from most to least similar to the target tune. 4. Exit. Please enter your choice (1 - 4): Goodbye!

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!