求以下问题的完整代码

求以下问题的完整代码,要求使用c++面向对象的程序设计方法和构造函数

img

img

运行结果:

img

代码:

#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;
}

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632