Phone Dial Loop CS

Your mission: A prepaid phone service needs a program that converts alphanumeric keyboard input into a phone number. The user will input eight characters and the program will output either an error message or the translated seven-digit phone number. The input may contain digits, letters, or both. Letters can be uppercase or lowercase.
The program will perform the conversion per a standard telephone keypad layout. 
0 5 J K L
1 6 M N O
2 A B C 7 P Q R S 
3 D E F 8 T U V
4 G H I 9 W X Y Z
The program implements the following methods.
• Main(): Declares seven character variables and passes these to the following methods by reference: 
o ProcessInput(): gets user input and performs the conversion 
o ShowResults(): displays the results 
• GetInput(): Gets seven characters from the user and stores them into the seven variables Main() has passed by reference.
• ProcessInput(): Calls ToDigit() for each, passing each character variable by reference, and returns one of these codes to Main() by value: 
o 0 if there were no input errors 
o -1 if there were input errors 
Input errors include the following:
o The first character is 0 (seven-digit phone numbers can't start with 0). 
o The first three characters are "555" (no phone numbers start with 555). 
o Any character is not a digit or an uppercase or lowercase letter. 
• ToDigit(): Converts a character (passed by reference) to its corresponding digit per the table above, and returns one of these codes to ProcessInput() by value: 
o 0 if the character is valid (a digit or uppercase or lowercase letter) 
o -1 if the character is not valid 
• ShowResults(): Writes converted telephone number to the screen, inserting a dash (-) between the third and fourth digits, and accepts the seven character variables from Main() by reference.
Sample Output:
Enter a 7 character phone number: 2132121
The converted phone number is: 213-2121
Enter a 7 character phone number: 2scdfER
The converted phone number is: 272-3337
Enter a 7 character phone number: 555resw
Invalid input, please try again.
Enter a 7 character phone number: 0988765
Invalid input, please try again.
Enter a 7 character phone number: 12345678
Invalid input, please try again.
Enter a 7 character phone number: @34*uy
Invalid input, please try again.

Pseudocode
• ProcessInput( ) Method 
o Get 7 characters from the user and store them in the 7 variables that Main() has passed by reference 
o Call ToDigit() for each of the 7 characters 
§ If toDigit returns an error code (-1), return an error code (-1) 
o If the first character is 0, return an error code (-1) to Main() 
o If the first three characters are 555, return an error code (-1) 
o If there are no errors, return 0 
• ToDigit ( ) Method 
o Convert the characters (passed from ProcessInput() by reference) to upper case 
o Use a switch statement to translate characters into their corresponding digits. 
§ Write a case statement for each digit and for each valid uppercase letter 
§ Write a default case that returns an error code (-1) for invalid letters 
o If there are no invalid letters, return 0 
• ShowResults ( ) Method 
o Display the Phone Number using the character variables Main() has passed by reference 
• Main() Method 
o Declare 7 char variables 
o Get user input by calling the GetInput() method, passing it the 7 variables by reference 
o Perform the conversion by calling the ProcessInput( ) method, passing it the 7 variables by reference 
o Display an error message or call ShowResults(), depending on the code ProcessInput() returns
Powered by