【問題】
記の実行結果に倣い、コンソールから、英単語を入力すると、それに対応する日本語が出てくるようにしなさい。なお、英語と日本語の対応には、mapを用いること。また、英語と日本語の対応は、以下の表を用いること。
英単語と日本語の対応表
英語 日本語
cat 猫
dog 犬
bird 鳥
tiger トラ
【出力結果】
英語で動物の名前を入力してください:cat ← コンソールから英単語を入力
「猫」です。
英語で動物の名前を入力してください:horse
対応するデータは登録されていません。
【コード】
#include <iostream>
#include <string>
#include <map>
using namespace std;
int main()
{
map <string, string> score; // map のデータ構造を用意する。
cout << "英語で動物の名前を入力してください:" ;
string names[] = { "cat","dog","bird","tiger" };
score[names[0]] = '猫'; score[names[1]] = '犬'; score[names[2]] = '鳥'; score[names[3]] = 'トラ'; int i = 0; cin >> names[i]; if (names[i] == "cat") { i = 0; } else if (names[i] == "dog") { i = 1; } else if (names[i] == "bird") { i = 2; } else if (names[i] == "tiger") { i = 3; } else { cout << "対応するデータは登録されていません。" << endl; } cout << names[i] << endl; cout << "「" << score[names[i]] << "」です。" << endl; return 0;
}
【問題点】
catと入力するとLと表示されます。
どうしてでしょうか?
回答1件
あなたの回答
tips
プレビュー