数字の代わりに単語を使って基本的な計算をするプログラムを開発しています。たとえば、5+2は7を出力します。
プログラムはより複雑になり、two_hundred_one + five_thousand_six(201 + 5006)などの入力を受け取ります。
演算子のオーバーロードメソッドを使用して、各数値を分割し、それを独自の配列インデックスに割り当てます。
2つは[0]、100は[1]、1つは[2]になります。次に、アレイは5006でリサイクルされます。
私の問題は、実際の計算を実行するために、配列に格納されている単語を実際の整数に変換する必要があることです。
私は単語のライブラリとしてこのようなconst文字列配列を持っています:
const string units[] = { "", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" };
const string teens[] = { "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen" };
const string tens[] = { "", "", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety" };
'token'配列がインデックス0、1、および2に21を格納している場合、これらをintに変換するための最良の方法が何であるかわかりません。