C++ Primer 第10章 习题 10.18
//10-18.cpp
//定义一个map对象,其元素的键是家族姓氏,
//而值则是存储该家族孩子名字的vector对象。
//进行基于家族姓氏的查询,输出该家族的所有孩子的名字
#include<iostream>
#include<map>
#include<vector>
#include<string>
using namespace std;int main()
{map<string,vector<string> > children;string surname,childName;//读入条目(家族姓氏及其所有孩子的名字发)do{cout<<"Enter surname(Ctrl-Z to end):"<<endl;cin>>surname;if(!cin) //读入结束break;//插入新条目vector<string> chd;pair<map<string,vector<string> >::iterator,bool> ret=children.insert(make_pair(surname,chd));if(!ret.second) //该姓氏已在map容器中存在{cout<<"repeated surname: "<<surname<<endl;continue;}cout<<"Enter children's name(Ctrl-Z to end):"<<endl;while(cin>>childName) //读入该家族所有孩子的名字ret.first->second.push_back(childName);cin.clear(); //使输入流从新有效} while(cin);cin.clear(); //使输入流从新有效//读入要查询的家族cout<<"Enter a surname to search:"<<endl;cin>>surname;//根据读入的家族姓氏进行查找map<string,vector<string> >::iterator iter=children.find(surname);//输出查询结果if(iter==children.end()) //找不到该家族姓氏cout<<"no this surname: "<<surname<<endl;else{//找到该家族姓氏cout<<"children: "<<endl;//输出该家族中所有孩子的名字vector<string>::iterator it=iter->second.begin();while(it!=iter->second.end())cout<<*it++<<endl;}cout<<endl;return 0;
}
转载于:https://www.cnblogs.com/wwj9413/archive/2012/02/23/2638648.html
C++ Primer 第10章 习题 10.18相关推荐
- C++ Primer 第10章 习题10.23
//10.23.cpp //编写程序将被排除的单词存储在vector对象中,而不是存储在set对象中 //函数restricted_wc,根据形参指定文件建立单词排除集 //将被排除的单词存储在vec ...
- C++ Primer 第10章 习题10.24
//10.24.cpp //建立一个单词排除集 //用于识别以's'借位.但这个结尾的's',又不能删除的单词 //使用这个排除集删除输入单词尾部的's',生成该单词的非复数版本 //如果输入的是排除 ...
- Java黑皮书课后题第10章:10.2(BMI类)将下面的新构造方法加入BMI类中
Java黑皮书课后题第10章:10.2(BMI类)将下面的新构造方法加入BMI类中 题目 程序说明 题目槽点 代码:Test2_BMI.java 运行实例 题目 程序说明 Test2_BMI.java ...
- Java黑皮书课后题第10章:*10.26(计算器)修改程序清单7-9,接收一个字符串表达式,其中操作符和操作数由0到多个空格隔开
第10章:*10.26(计算器) 题目 程序清单7-9 本题代码:大幅优化升级 题目 程序清单7-9 对代码进行了修改:原代码将"."认做乘号,修改后将"*"作 ...
- Java黑皮书课后题第10章:**10.25(新的字符串split方法)String类中的split方法会返回一个字符串数组,该数组是由分隔符分隔开的子串构成的
Java黑皮书课后题第10章:**10.25(新的字符串split方法) 题目 代码 运行实例 题目 代码 public class Test25 {public static String[] sp ...
- Java黑皮书课后题第10章:10.21(被5或6整除)找出能被5或6整除的大于Long.MAX_VALUE的前10个数字
Java黑皮书课后题第10章:10.21(被5或6整除)找出能被5或6整除的大于Long.MAX_VALUE的前10个数字 题目 代码 结果 题目 都在上面 代码 import java.math.B ...
- Java黑皮书课后题第10章:*10.13(几何:MyRectangle2D类)定义MyRectangle2D类
Java黑皮书课后题第10章:10.3 题目 程序 代码 Test13.java Test13_MyRectangle2D.java 运行 UML 题目 程序 Test13.java:测试程序 Tes ...
- Java黑皮书课后题第10章:*10.1(Time类)设计一个名为Time的类。编写一个测试程序,创建两个Time对象(使用new Time()和new Time(555550000))
Java黑皮书课后题第10章:*10.1设计一个名为Time的类.编写一个测试程序,创建两个Time对象 题目 程序 代码 Test1.java Test1_Time.java 运行结果 UML 题目 ...
- 《C语言入门经典》Ivor Horton第10章习题2
//习题10.2 编写一个程序,读入以下数值,并输出它们的和: //$3.50,$4.75,$9.95,$2.50 #include<stdio.h> #define count 4 in ...
最新文章
- java整数常量区_在Java中,我可以用二进制格式定义一个整数常量吗?
- Windows PowerShell in Action
- web.py 0.3 新手指南 - 安装
- opencv角点检测学习总结
- Android项目实战(十三):浅谈EventBus
- html value一点就消失,input输入框内文字消失用value和placeholder有什么区别
- Vulhub 靶场下载使用
- Datrium公司以几近疯狂的方式提升速度表现
- php编辑页面代码,0069 PHP编程实现后台网页:新闻创建和编辑
- 4.7 什么是深度卷积网络?
- JAVA关键字final修饰类,Java入门之认识final关键字、权限修饰符和内部类
- paip.基于navicate mysql的自动化报表工具总结
- Mysql + keepalived 实现双主热备读写分离
- 滤波器基础06——滤波器设计软件
- 计算机毕业设计-网上购书系统【代码讲解+安装调试+文档指导】
- NPOI导出Excel2007-xlsx格式文件,用于web时需要注意的问题-XSSFWorkbook处理问题
- Cocos2dx和Unity3D对比
- 上海东方美谷JW万豪、福清喜来登、宁波杭州湾凯悦等酒店开业 | 中国酒店周刊...
- Python之Sqlitespy连接并把Excel内容写到数据库的表中
- 本地生活服务,快手直播电商外的又一大金矿!