这是我得到的作业,它是基于c++程序将字母转换为电话号码。
然而,我的讲师要求补充细节,包括:
- 插入字母作为输入
- 要输入的整个字母表为15,包括"空格";如果超过计数,则显示相应的消息。
- 程序将显示数字作为字母值的表示,作为电话号码。
- 字母的数字从2到9;每个字母表示的每个数字都指所提供的程序。
- 1表示"space">
- 在程序中添加哨兵循环。用户输入数字"0"控制停止程序循环
不幸的是,我还没有弄清楚如何实现第2和第5点。下面是我当前的代码:
#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;
}
我试过谷歌搜索,但几乎没有答案,尤其是开关空间部分!
#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;
}
}
}