代码
#include <iostream>
#include<string>
#include<cstring>
#include<sstream>
#include<map>
using namespace std;
map<string, int> mp = {
{
"zero",0},{
"one",1}, {
"two",2}, {
"three",3}, {
"four",4}, {
"five",5}, {
"six",6}, {
"seven",7}, {
"eight",8}, {
"nine",9}, };
int toNumber(string& str) {
stringstream ss(str);
string str_num;
int result = 0;
while (getline(ss, str_num,' '))
{
result = result * 10 + mp[str_num];
}
return result;
}
int main()
{
string str;
while (getline(cin,str))
{
stringstream ss(str);
string addNum_1, addNum_2;
getline(ss, addNum_1, '+');
getline(ss, addNum_2, '=');
addNum_1.erase(addNum_1.size() - 1);
addNum_2.erase(addNum_2.begin());
addNum_2.erase(addNum_2.size() - 1);
int num1, num2;
num1 = toNumber(addNum_1);
num2 = toNumber(addNum_2);
if (num1 == 0 && num2 == 0) {
break;
}
else {
cout << num1 + num2 << endl;
}
}
return 0;
}