Я пытаюсь найти способ поиска ключа на карте, вернуть его в сообщении, получить значение найденного ключа и вернуть его в другое сообщение. Например, в приведенном ниже классе есть список фруктов, найденных в продуктовом магазине, и я хочу создать оператор if, чем else, чтобы найти имя фрукта на карте, вернуть его имя в приведенном ниже сообщении и затем вернуть его цену на другом выходе , Как я могу это сделать?C++ Найти значение карты и ключ
`
#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;
}
До сих пор я видел только примеры, которые показывают, как печатать целые карты из. Самое близкое, что я видел, это тот, который был опубликован по этой ссылке (см. Второй пост): see if there is a key in a map c++, но я смущен синтаксисом, в частности, «buf.c_str()».
Когда я попытался протестировать эту функцию, я получил эту ошибку: «не подходит для оператора =» его отсылая к «если (фрукты = items.end (!)) {» , – Wormhole99
@ Wormhole88: Извините, это должно было быть 'i! = Items.end()'. Я обновил ответ. – amaurea