切换语句将单词转换为数字?C++

Switch statement to convert a word into digits ? C++

本文关键字:数字 C++ 转换 单词 语句      更新时间:2023-10-16

现在我能够制作一个程序,只将单词的第一个字母转换为相应的数字,但在第一次转换后停止。如果我在每个"案例"之后不使用"中断",程序只会继续输出以下情况,这不是我想要的。

开关(名称字符) { 案例"A": 案例"B": 案例"C": <<"1"; 破;

我可以让这个程序对单词的以下字母重复,直到单词中没有更多的字母吗?

#include <iostream>
#include<string>
using namespace std;
int main () {
    char nameChar;
    cout << "enter a name";
    cin >> nameChar;
            switch (nameChar)
        {
            case 'a': case 'b': case 'c':
                cout << "1";
                break;
            case 'd': case 'e': case 'f':
                cout << "2";
                break;
            case 'g': case 'h': case 'i':
                cout << "3";
                break;
            case 'j': case 'k': case 'l':
                cout << "4";
                break;
            case 'm': case 'n': case 'o':
                cout << "5";
                break;
            case 'p': case 'q': case 'r':
                cout << "6";
                break;
            case 's': case 't': case 'u':
                cout << "7";
                break;
            case 'v': case 'w': case 'x':
                cout << "8";
                break;
            case 'y': case 'z':
                cout << "9";
                break;
            default:
                return 0;
                char nameChar;
                cout << nameChar;
        }
    }

你应该在 main 中使用这样的东西:

string name;
cout << "enter a name";
cin >> name;
for (auto letter : name) {
    switch (letter) {
        //rest of your case
    }
}

由于 char 只存储一个字母,因此 string 是要用于整个字符串的类。