求以下问题的完整代码,要求使用c++面向对象的程序设计方法和构造函数
运行结果:
代码:
#include <iostream>
using namespace std;
class PhoneNumber
{
public:
PhoneNumber() {}
void trans(const char* p)
{
int i = 0;
while (p[i] != '\0')
{
switch (p[i])
{
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:
break;
}
i++;
}
}
};
int main()
{
char buf[10] = { 0 };
cin >> buf;
PhoneNumber ph;
ph.trans(buf);
return 0;
}
#include <iostream>
#include <string>
using namespace std;
class PhoneKeyboard {
private:
string word;
public:
PhoneKeyboard(string inputWord) {
word = inputWord;
}
string getNumber() {
string number = "";
for (int i = 0; i < word.length(); i++) {
switch (word[i]) {
case 'a':
case 'b':
case 'c':
number += '2';
break;
case 'd':
case 'e':
case 'f':
number += '3';
break;
case 'g':
case 'h':
case 'i':
number += '4';
break;
case 'j':
case 'k':
case 'l':
number += '5';
break;
case 'm':
case 'n':
case 'o':
number += '6';
break;
case 'p':
case 'q':
case 'r':
case 's':
number += '7';
break;
case 't':
case 'u':
case 'v':
number += '8';
break;
case 'w':
case 'x':
case 'y':
case 'z':
number += '9';
break;
}
}
return number;
}
};
int main() {
string inputWord;
cout << "请输入一个7字母的单词: ";
cin >> inputWord;
PhoneKeyboard phone(inputWord);
cout << "号码是:" << phone.getNumber() << endl;
return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!