This is the assignment I got, which is based on C++ program to Convert Letters into a Phone Number .
However, my lecturer ask for added details including:
- Insert alphabet as an input
- The entire alphabet to input is 15, including "space"; if it exceeds the count, display an appropriate message.
- Program will display the digit as the representation of the alphabet value, as a phone number.
- Digit for the alphabet is from 2 to 9; each digit per alphabet's representation refers to the program provided.
- 1 is for “space.”
- Add a sentinel loop in the program. Control by the user entering digit “0” to stop the program from looping
Unfortunately, I've yet to figure out how to implement number 2 and 5. Here's my current code:
#include <iostream>
using namespace std;
int main()
{
char letter;
int counter = 0;
cout << "Enter Name" << endl;
while (cin.get(letter) && counter < 15) {
if (letter == '0') {
break;
}
if (letter != ' ' && letter >= 'A' && letter <= 'z') {
counter++;
if (letter > 'Z') {
letter = (int)letter-32;
}
if (counter < 15); {
cout << "";
}
if (counter > 15); {
cout << "Invalid Input" << endl;
break;
}
switch (letter) {
case ' ':
case '\n':
case '\t':
cout << "1";
break;
case 'A':
case 'B':
case 'C':
cout << "2";
break;
case 'D':
case 'E':
case 'F':
cout << "3";
break;
case 'G':
case 'H':
case 'I':
cout << "4";
break;
case 'J':
case 'K':
case 'L':
cout << "5";
break;
case 'M':
case 'N':
case 'O':
cout << "6";
break;
case 'P':
case 'Q':
case 'R':
case 'S':
cout << "7";
break;
case 'T':
case 'U':
case 'V':
cout << "8";
break;
case 'W':
case 'X':
case 'Y':
case 'Z':
cout << "9";
break;
default:
cout << "Invalid input";
break;
}
}
}
return 0;
}
I've tried googling, yet there's barely answers, especially the switch case space part!
#include<iostream>
using namespace std;
int main()
{
string phone;
int counter=0;
cout<<"Enter Name:";
getline(cin,phone);
counter = phone.length();
if(counter>15) {
cout<<"Invalid Input"<<endl;
return 0;
}
for(int i=0;i<phone.length();i++)
{
char letter = phone[i];
switch(letter)
{
case ' ': cout<<"1 "; break;
case 'A':
case 'B':
case 'C':
if(letter=='A') cout<<"2 ";
else if(letter=='B') cout<<"22 ";
else if(letter=='C') cout<<"222 "; break;
case 'D':
case 'E':
case 'F':
if(letter=='D') cout<<"3 ";
else if(letter=='E') cout<<"33 ";
else if(letter=='F') cout<<"333 "; break;
case 'G':
case 'H':
case 'I':
if(letter=='G') cout<<"4 ";
else if(letter=='H') cout<<"44 ";
else if(letter=='I') cout<<"444 "; break;
case 'J':
case 'K':
case 'L':
if(letter=='J') cout<<"5 ";
else if(letter=='K') cout<<"55 ";
else if(letter=='L') cout<<"555 "; break;
case 'M':
case 'N':
case 'O':
if(letter=='M') cout<<"6 ";
else if(letter=='N') cout<<"66 ";
else if(letter=='O') cout<<"666 "; break;
case 'P':
case 'Q':
case 'R':
case 'S':
if(letter=='P') cout<<"7 ";
else if(letter=='Q') cout<<"77 ";
else if(letter=='R') cout<<"777 ";
else if(letter=='S') cout<<"7777 "; break;
case 'T':
case 'U':
case 'V':
if(letter=='T') cout<<"8 ";
else if(letter=='U') cout<<"88 ";
else if(letter=='V') cout<<"888 "; break;
case 'W':
case 'X':
case 'Y':
case 'Z':
if(letter=='W') cout<<"9 ";
else if(letter=='X') cout<<"99 ";
else if(letter=='Y') cout<<"999 ";
else if(letter=='Z') cout<<"9999 "; break;
default:
cout<<"Invalid Input"<<endl;
}
}
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.