マップでキーを検索し、メッセージで返し、見つかったキーの値を取得して、別のメッセージで返す方法を見つけようとしています。たとえば、以下のクラスには食料品店で見つかった果物のリストがあり、if than elseステートメントを作成して、マップで果物の名前を見つけ、以下のメッセージでその名前を返し、別の出力でその価格を返します。 。これどうやってするの?
`
#include <iostream>
#include <string>
#include <set>
#include <map>
#include<utility>
using namespace std;
int main()
{
map<string,double> items;
items["apples"] = 1.56;
items["oranges"] = 2.34;
items["bananas"] = 3.00;
items["limes"] = 4.45;
items["grapefruits"] = 6.00;
string fruit = "apples";
//If a fruit is in map
cout << "Your fruit is: " << "(fruitname value here)"
<<"\n";
<< "your price is: " <<"(fruitname price here)"
<< "\n";
// return the fruitname and its price
return 0;
}
これまでのところ、マップ全体を印刷する方法を示す例しか見ていません。私が見た中で最も近いのは、このリンクに投稿されたものです(2番目の投稿を参照):マップc ++にキーがあるかどうかを確認しますが、構文、特に「buf.c_str()」に混乱しています。