D W

D W

  • NA
  • 12
  • 21.6k

Needs a program that converts alphanumeric keyboard input into a phone number

Oct 25 2012 12:06 AM
Pseudocode

ProcessInput( ) Method
Get 7 characters from the user and store them in the 7 variables that Main() has passed by reference
Call ToDigit() for each of the 7 characters
If toDigit returns an error code (-1), return an error code (-1)
If the first character is 0, return an error code (-1) to Main()
If the first three characters are 555, return an error code (-1)
If there are no errors, return 0
ToDigit ( ) Method
Convert the characters (passed from ProcessInput() by reference) to upper case
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
If there are no invalid letters, return 0
ShowResults ( ) Method
Display the Phone Number using the character variables Main() has passed by reference
Main() Method
Declare 7 char variables
Get user input by calling the GetInput() method, passing it the 7 variables by reference
Perform the conversion by calling the ProcessInput( ) method, passing it the 7 variables by reference
Display an error message or call ShowResults(), depending on the code ProcessInput() returns 

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
 JKL
1

6
 MNO
2
ABC
7
 PQRS
3
DEF
8
 TUV
4
GHI
9
 WXYZ

 The program implements the following methods.

Main(): Declares seven character variables and passes these to the following methods by reference:

ProcessInput(): gets user input and performs the conversion

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:

0 if there were no input errors

-1 if there were input errors
Input errors include the following:

The first character is 0 (seven-digit phone numbers can't start with 0).

The first three characters are "555" (no phone numbers start with 555).

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:

0 if the character is valid (a digit or uppercase or lowercase letter)

-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