I need a C++ program like this please! and please follow all instructions! Thanks so much!…

I need a C++ program like this please! and please follow all
instructions! Thanks so much!
A menu-driven program with 3 choices: Names Rearranger, Number
Validator, or Exit
Menu Option 1: Name Rearranger:
1. Input ONE STRING from the user containing first name, middle
name, and last name. ie, “John Allen Smith”. USE THE GETLINE
function. (Not cin)
2. Loop through the string and validate for a-z or A-Z or . If
the name has any other characters, then ask the user to input
again, repeat until valid input has been input.
3. Loop through the string and throw out extraneous blanks, ie
“John Allen Smith”
should become “John Allen Smith”.
4. Create a third string with the names arranged as last first
middle. ie, “Smith, John Allen”.
5. Create a professional looking display with both the original
input from the user, the name without blanks, and the name
rearranged.
Menu Option 2: Number Validator:
This function will be used to validate numbers for improper
characters, ie, 345.bb, which, if you input into a double would
cause your program to crash.
1. Input ONE STRING from the user that represents a money value,
ie, $345.55 USE THE GETLINE function. (Not cin)
2. Strip off any leading $$’s.
3. Loop through the string and validate for 0 – 9 or “.” If the
string has any other characters, then ask the user to input again,
repeat until valid input has been input.
4. When you finally have valid input, convert the string to a
double.
5. Display both the original input and the number as a
double.
Use the string class functions to accomplish all of this. The
string class is discussed in the 2nd half of the chapter.
***Use modular design in your program. Main calls
functions. Main does not toil or sweat.
***This is very important Main function should have as little as
possible.