查找电话号码
题目描述:
文件phonebook1.txt中有若干联系人的姓名和电话号码。
高富帅 13312342222
白富美 13412343333
孙悟空 13512345555
唐三藏 13612346666
猪悟能 13712347777
沙悟净 13812348888
请你编写一个简单的通信录程序,当从键盘输入一个姓名时查找到对应的电话号码并输出。如果没找到则显示Not found. 由于目前的自动裁判系统暂时不能支持用户读入文件,我们编写程序从键盘输入文件中的姓名和电话号码,当输入的名字为noname时,表示结束。noname后面有一个名字,需要查找其对应的电话号码。
输入样例:
白富美 13412343333
孙悟空 13512345555
唐三藏 13612346666
猪悟能 13712347777
沙悟净 13812348888
noname
白骨精
输出样例:
Not found.
- 解题思路:很明显,题目中姓名和电话号码一一对应,在C++中map容器可以很好地反映出键与键值一一对相应的关系。在java中容器中的映射接口Map可以反映出键与键值一一对相应的关系。其大致流程为:声明容器对象,将姓名和电话号码的关系添加到容器中,然后输入要查找的姓名,判断该键是否在容器中,如果在,输出对应的键值,如果不在输出Not found.
C++编程
#include<iostream>
#include<map>
#include<string>
using namespace std;
int main() {
map<string,string> m;
string name;
string phone;
string flag("noname");
cin>>name