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

Phone Dial Loop CS

Leave A Comment

Please enter your name. Please enter an valid email address. Please enter message.