Letters to Phone Numbers

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;
 
}
Line 81, you're missing a break; statement and an endl;
Topic archived. No new replies allowed.