この演習では、0 ~ 9 の数字のユーザー入力を整数または文字列としてそれぞれ文字列または整数に変換できるコードを要求します。つまり、0
入力された場合は"zero"
出力され、その逆も同様です。
string number;
cout << "Let's convert strings to numbers."
<< "Enter value/string of 0-9";
while (number!= "exit")
{
cin >> number;
for (int i=0; i < digits.size(); i++)
{
if (number == digits[i]) cout << i << endl;
}
if (number == "0") cout << digits[0] << endl;
else if (number == "1") cout << digits[1] << endl;
else if (number == "2") cout << digits[2] << endl;
else if (number == "3") cout << digits[3] << endl;
else if (number == "4") cout << digits[4] << endl;
else if (number == "5") cout << digits[5] << endl;
else if (number == "6") cout << digits[6] << endl;
else if (number == "7") cout << digits[7] << endl;
else if (number == "8") cout << digits[8] << endl;
else if (number == "9") cout << digits[9] << endl;
}
digits は文字列などを格納するベクトル クラスです"zero"
。"one"
このコードは正常に動作しますが、ステートメントの長いチェーンは好きではありませんif/else if
が、整数を文字列に変換する方法がわかりません。誰かがこれをより効率的にするのを手伝ってくれますか? ありがとう!