Your mission: A prepaid phone service needs a program that converts alphanumeric
ID: 440283 • Letter: Y
Question
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.Explanation / Answer
Customer : using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace PhoneDial { class Program { static void ToDigit(ref char digit) { digit = Char.ToUpper(digit); char result; switch (digit) { case '0': result = '0'; break; case '1': result = '1'; break; case '2': case 'A': case 'B': case 'C': result = '2'; break; case '3': case 'D': case 'E': case 'F': result = '3'; break; case '4': case 'G': case 'H': case 'I': result = '4'; break; case '5': case 'J': case 'K': case 'L': result = '5'; break; case '6': case 'M': case 'N': case 'O': result = '6'; break; case '7': case 'P': case 'Q': case 'R': case 'S': result = '7'; break; case '8': case 'T': case 'U': case 'V': result = '8'; break; case '9': case 'W': case 'X': case 'Y': case 'Z': result = '9'; break; default: result = 'e'; break; } digit = result; } static void GetInput(ref char d1, ref char d2, ref char d3, ref char d4, ref char d5, ref char d6, ref char d7) { string phoneNo; do { Console.Write(" Enter 7 charcater phone number: "); phoneNo = Console.ReadLine(); d1 = phoneNo[0]; if (d1.Equals('q') || d2.Equals('Q')) System.Environment.Exit(0); if (phoneNo.Length != 7) Console.WriteLine("invalid input, try again"); } while (phoneNo.Length != 7); d2 = phoneNo[1]; d3 = phoneNo[2]; d4 = phoneNo[3]; d5 = phoneNo[4]; d6 = phoneNo[5]; d7 = phoneNo[6]; } static int ProcessInput(ref char d1, ref char d2, ref char d3, ref char d4, ref char d5, ref char d6, ref char d7) { ToDigit(ref d1); ToDigit(ref d2); ToDigit(ref d3); ToDigit(ref d4); ToDigit(ref d5); ToDigit(ref d6); ToDigit(ref d7); if (d1 == '5' && d2 == '5' && d3 == '5') { return -1; } else if (d1 == '0') { return -1; } else return 0; } static void ShowResult(char d1, char d2, char d3, char d4, char d5, char d6, char d7) { Console.WriteLine("The converted phone number is: {0}{1}{2}{3}{4}{5}{6}{7}", d1, d2, d3, "-", d4, d5, d6, d7); } static void Main(string[] args) { char digit1 = ' ', digit2 = ' ', digit3 = ' ', digit4 = ' ', digit5 = ' ', digit6 = ' ', digit7 = ' '; int errorCode = 0; do { GetInput(ref digit1, ref digit2, ref digit3, ref digit4, ref digit5, ref digit6, ref digit7); errorCode = ProcessInput(ref digit1, ref digit2, ref digit3, ref digit4, ref digit5, ref digit6, ref digit7); if (errorCode != 0) Console.WriteLine("invalid input, try again"); else ShowResult(digit1, digit2, digit3, digit4, digit5, digit6, digit7); } while (errorCode != -5); } } }
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.