我正在尝试制作一个程序,将数字形式的数字转换为拼写数字,也将拼写数字转换成数字(数字从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";
}
}
答案 0 :(得分:0)
如 @ pm100 在评论中所建议,std::map
是您的理想解决方案。这是一个示例:
int main()
{
std::map<std::string, int> numbers {
{"zero", 0},
{"one", 1},
{"two", 2}
};
std::cout << numbers["two"];
}
上面的示例打印 2 。对于另一种方法(您已经完成的方法),我也建议您使用地图。它们是非常强大的容器,值得探索。