Letters to Phone Numbers
Dec 3, 2012 at 1:17pm UTC
Here is my assignment:
Write a C++ program that converts letters of the alphabet into their corresponding digits on their telephone. The program should let the user enter letter repeatedly. An error message should be printed for any non-alphabetic character that is entered.
This is what I came up with, it comes up with the right numbers but it also prints the default value for every letter entered even though it is not an invalid character... what did I do wrong?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
#include<iostream>
using namespace std;
int main()
{
char input[8];
while (1)
{
cout << "Enter a letter:" ;
cin.getline(input, 7, '\n' );
for ( int i = 0; i < 8; i++)
{
switch (input[i])
{
case 'A' : case 'a' :
case 'B' : case 'b' :
case 'C' : case 'c' :
cout << "2" << endl;
break ;
case 'D' : case 'd' :
case 'E' : case 'e' :
case 'F' : case 'f' :
cout << "3" << endl;
break ;
case 'G' : case 'g' :
case 'H' : case 'h' :
case 'I' : case 'i' :
cout << "4" << endl;
break ;
case 'J' : case 'j' :
case 'K' : case 'k' :
case 'L' : case 'l' :
cout << "5" << endl;
break ;
case 'M' : case 'm' :
case 'N' : case 'n' :
case 'O' : case 'o' :
cout << "6" << endl;
break ;
case 'P' : case 'p' :
case 'R' : case 'r' :
case 'S' : case 's' :
cout << "7" << endl;
break ;
case 'T' : case 't' :
case 'U' : case 'u' :
case 'V' : case 'v' :
cout << "8" << endl;
break ;
case 'W' : case 'w' :
case 'X' : case 'x' :
case 'Y' : case 'y' :
cout << "9" << endl;
break ;
case 'Q' : case 'q' :
case 'Z' : case 'z' :
cout << "1" ;
default :
cout << "Invalid Entry, Please try again" << endl;
break ;
}
}
system("pause" );
return (0);
}
return 0;
}
Dec 3, 2012 at 1:27pm UTC
Line 81, you're missing a break ;
statement and an endl;
Topic archived. No new replies allowed.