【发布时间】:2017-07-17 13:44:26
【问题描述】:
this example 是我最了解如何在 C++ 中搜索地图的方法,我仍然需要帮助。
我为电话簿创建了地图。
map<string,int> PhBook;
现在我让用户为其添加姓名和电话。
getline(cin >> ws,name);
cin >> phone;
PhBook[name] = phone;
我还想做的是让用户在地图中搜索可能的名称并相应地打印“电话 = ....”或“未找到”消息。
那么我该怎么做呢?因为我是新手,所以我想要最简单的解决方案。我的困难在于我不知道如何使用元素(人名)搜索地图。
【问题讨论】:
-
打开你的 C++ 书籍到地图章节。我相信您的书解释了如何使用地图的
find()方法。 -
你可以使用
std::map<string,int>::const_iterator result = PhBook.find(input); If (result == PhBook.end() ) " cout <<" name not found "<<endl; else cout<<" phone "<<result->second<<std::endl; -
cppreference 示例准确地向您展示了如何按照您的要求进行操作。您不了解其中的哪一部分,或者它没有做您真正想做的事情?
-
从 cpp 参考和 Masums 解决方案中,我了解了迭代器及其“指针功能”,但我想我需要更多关于“second”和“PhBook”的解释.end()" 命令可以。
-
它不会打印任何东西,但我也没有收到错误消息。我没有代码示例可以给你,因为它是一个非常简单的示例,我只是在测试一些东西。
标签: c++ dictionary search find