Telephone Loop issue
Mar 10, 2013 at 5:39pm UTC
I'm a beginner programmer, this is my fourth program I'm on and I'm stumbled and dumbfounded at this. My issue with this program is that I'm trying to get it to loop until the user chooses to exit the program with a '#'. The program compiles and works when it's just supposed to read a set of seven letters and convert them to numbers. Any help and advice would be much appreciated. Thanks.
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 100 101 102 103 104 105 106 107 108 109
#include <iostream>
#include <iomanip>
#include <string>
using namespace std;
int main()
{
int counter;
char phoneNumber;
cout << "\nEnter a phone number in letters only."
<< endl << endl;
cout << "If you want to terminate the program, enter #."
<< endl << endl;
for (counter = 0; counter < 7; counter ++)
{
cin >> phoneNumber;
if (counter == 3)
cout << "-" ;
if (phoneNumber >= 'A' && phoneNumber <= 'Z'
|| phoneNumber >= 'a' && phoneNumber <= 'z' )
{
switch (phoneNumber)
{
case 'A' :
case 'a' :
case 'B' :
case 'b' :
case 'C' :
case 'c' :
cout << 2;
break ;
case 'D' :
case 'd' :
case 'E' :
case 'e' :
case 'F' :
case 'f' :
cout << 3;
break ;
case 'G' :
case 'g' :
case 'H' :
case 'h' :
case 'I' :
case 'i' :
cout << 4;
break ;
case 'J' :
case 'j' :
case 'K' :
case 'k' :
case 'L' :
case 'l' :
cout << 5;
break ;
case 'M' :
case 'm' :
case 'N' :
case 'n' :
case 'O' :
case 'o' :
cout << 6;
break ;
case 'P' :
case 'p' :
case 'Q' :
case 'q' :
case 'R' :
case 'r' :
case 'S' :
case 's' :
cout << 7;
break ;
case 'T' :
case 't' :
case 'U' :
case 'u' :
case 'V' :
case 'v' :
cout << 8;
break ;
case 'W' :
case 'w' :
case 'X' :
case 'x' :
case 'Y' :
case 'y' :
case 'Z' :
case 'z' :
cout << 9;
break ;
}
}
}
cout << endl << endl;
return 0;
}
Mar 10, 2013 at 7:54pm UTC
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
#include <iostream>
#include <iomanip>
#include <string>
#include <ctype.h>
using namespace std;
int main()
{
int counter = 0;
char phoneNumber;
cout << "If you want to terminate the program, enter #." << endl << endl;
cout << "\nEnter a phone number in letters only." << endl << endl;
cin >> phoneNumber;
phoneNumber = toupper(phoneNumber);
while (phoneNumber != '#' )
{
if (counter == 3)
cout << "-" ;
if (phoneNumber >= 'A' && phoneNumber <='D' )
{
cout << 2;
}
else if (phoneNumber >= 'D' && phoneNumber <='F' )
{
cout << 3;
}
else if (phoneNumber >= 'G' && phoneNumber <='I' )
{
cout << 4;
}
else if (phoneNumber >= 'J' && phoneNumber <='L' )
{
cout << 5;
}
else if (phoneNumber >= 'M' && phoneNumber <='O' )
{
cout << 6;
}
else if (phoneNumber >= 'P' && phoneNumber <='S' )
{
cout << 7;
}
else if (phoneNumber >= 'T' && phoneNumber <='V' )
{
cout << 8;
}
else if (phoneNumber >= 'W' && phoneNumber <='Z' )
{
cout << 9;
}
else if (phoneNumber == '#' )
{
cout << "invalid input" ;
break ;
}
counter++;
if (counter == 7)
{
cout << endl;
counter = 0;
}
cin >> phoneNumber;
phoneNumber = toupper(phoneNumber);
}
return 0;
}
Mar 10, 2013 at 8:02pm UTC
- Something like this i suppose
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
char f;
for ( int i=0;i<7;i++)
{
do
{
cout<<"enter phone number in letters" <<endl;
cin>>f;
f= toupper(f);
if (f=="#')
{
break;
}
}
while( f<'A' || 'Z'<f) ;
}
quit= false;
do
{
switch(f)
{
case 'A':
break;
case 'B':
break;
// more of that
case '#':
quit=true;
break;
}
while(!quit)
Last edited on Mar 10, 2013 at 8:02pm UTC
Topic archived. No new replies allowed.