该程序将拼写的数字转换成数字形式。 (C ++)

时间:2018-08-03 22:34:25

标签: c++14

我正在尝试制作一个程序,将数字形式的数字转换为拼写数字,也将拼写数字转换成数字(数字从0到10)。到目前为止,我的程序可以完成数字到拼写的转换,但是我不确定如何反过来执行。感谢您的帮助。到目前为止,这是我的代码:

#include "std_lib_facilities.h"
using namespace std;
int main()
{
    vector <string> string_val = {"zeroe","one","two","three","four","five","six","seven" ,"eight","nine"};
    int integer =0;
    string spelled_integer;

    cout<<"Enter a number bethween '0' and '10'\n";

    while(cin>>integer)
    {
        if(integer<10)
            cout<<"your number in spelled out form is: "<<string_val[integer] <<'\n';
        else
            cout<<"your number is either to low, or to big, try again.\n";
    }

}

1 个答案:

答案 0 :(得分:0)

@ pm100 在评论中所建议,std::map是您的理想解决方案。这是一个示例:

int main()
{
    std::map<std::string, int> numbers {
            {"zero", 0},
            {"one", 1},
            {"two", 2}
    };

    std::cout << numbers["two"];
}

上面的示例打印 2 。对于另一种方法(您已经完成的方法),我也建议您使用地图。它们是非常强大的容器,值得探索。