文章目录

  • 练习8.13

练习8.13

include <iostream>
#include <sstream>
#include <fstream>
#include <string>
#include <vector>
using namespace std;struct PersonInfo
{string name;vector<string> phones;
};bool valid(const string& str)
{return isdigit(str[0]);
}string format(const string& str)
{return str.substr(0,3) + "-" + str.substr(3,3) + "-" + str.substr(6);
}int main()
{ifstream ifs("phonenumbers.txt");if (!ifs){cerr << "no phone numbers?" << endl;return -1;}string line, word;vector<PersonInfo> people;istringstream record;while (getline(ifs, line)){PersonInfo info;record.clear();record.str(line);record >> info.name;while (record >> word)info.phones.push_back(word);people.push_back(info);}for (const auto &entry : people){ostringstream formatted, badNums;for (const auto &nums : entry.phones)if (!valid(nums)) badNums << " " << nums;else formatted << " " << format(nums);if (badNums.str().empty())cout << entry.name << " " << formatted.str() << endl;elsecerr << "input error: " << entry.name<< " invalid number(s) " << badNums.str() << endl;}return 0;
}

【C++ Primer | 08】课后习题答案相关推荐

  1. C++ Primer - 5th Edition - 书中源代码 - 课后习题答案

    C++ Primer - 5th Edition - 书中源代码 - 课后习题答案 C++ Primer - 5th Edition - 书中源代码 - 课后习题答案 1. C++ Primer, 5 ...

  2. 谢希仁计算机网络第五版课后习题答案(1~6章)

    计算机网络课后习题答案 第一章   概述 1 第二章   物理层 4 第三章   数据链路层 7 第四章   网络层 11 第五章   传输层 19 第六章   应用层 24 第一章   概述 1-0 ...

  3. 整理对应_JSP第二版课后习题答案【侵权联系我删除】

    JSP第二版课后习题下载:https://download.csdn.net/download/weixin_42859280/11265785 JSP第二版课后习题答案下载:https://down ...

  4. 软件测试黑马程序员课后答案_软件测试课后习题答案

    软件测试课后习题答案 [篇一:软件测试基础习题及答案] > 软件测试是一个过程或者一系列过程,用来确认计算和代码完成了 其应该完成的功能,并且不执行其不应该有的操作. 2 .软件测试的目标是什么 ...

  5. 新视野教育计算机题库,校园网.新视野教育计算机等级考试《二级公共基础》课后习题答案...

    <二级公共基础>课后习题答案 第一章 第一节 1.答案:D 解析:算法的时间复杂度不仅与问题的规模有关,而且与输入数据有关,即输入数据所有的可能取值范围及输入各种数据或数据集的概率有关.所 ...

  6. 化工原理第四版课后习题答案

    化工原理第四版课后习题答案

  7. Android基础---学习历程【上课用到的资源---学期!汇总!整理】【课本源码、课后习题答案、上课课件与录播】

    专业课 名:Android开发基础A      2020年 上半年[大二下学期]学的. 目   录 推荐博客 学习帮助文档(必看) 课本(Android 移动开发基础 案例教程) 课本源码and课后习 ...

  8. c语言课后答案第八章,C++第一至第八章课后习题答案

    9. 请将下列十进制数转换为二进制.八进制和十六进制数: (1) 79 (2) 127 (3) 64 (4) 512 (5) 567 (6) 128 (7) 960 (8) 100 数字 79 127 ...

  9. python语言用什么来表明每行代码的层次关系_2021年尔雅通识课《切削原理与刀具》课后习题答案...

    2021年尔雅通识课<切削原理与刀具>课后习题答案 二战后南海局势比较稳定的原因不包括() 答:冷战后相当长时间内,中美战略关系极不稳定 日本是一个多地震国家,主要因为它位于海岛上. 答: ...

  10. 第11章 Internet 服务器应用课后习题答案

    Internet 服务器应用课后习题答案 (自己整理的仅供参考) 1. POP3为用户提供发送邮件服务,SMTP则用于接受邮件,电子邮箱客户端则用于收发电子邮件 POP3是Post Office Pr ...

最新文章

  1. 利用BP神经网络教计算机进行非线函数拟合(代码部分多层)
  2. SpringBoot面试杀手锏——自动配置原理
  3. .Net桌面程序的旗舰--参加亚控科技组态王7.0发布有感
  4. PAT练习之字符串处理
  5. idea中reload all from disk_SpringBoot IDEA中实现热部署
  6. 【SQL】服务器环境下的SQL
  7. 《JavaScript高级程序设计》笔记 - Map与Object的差异与选择
  8. python queue get 方法_Python语言中的Queue(队列)
  9. iPhone 12再陷“信号门”:用户称每天需多次重启恢复;蚂蚁集团打新资金退款如期到账;Mutt 2.0 发布|极客头条
  10. java 维文生成图片_维文、哈萨克文、柯尔克孜文检测 (java实现把UTF-8转为unicode)...
  11. java验证码功能一般怎么做的_java制作简单验证码功能
  12. at24c16如何划分出多个读写区_AVR学习笔记九、基于AT24C16的数据存储实验
  13. cisco路由器如何查看内网流量情况
  14. 微信支付普通商户模式实现分账操作
  15. InstallShield Premier,复杂的多服务器应用程序
  16. Tensorflow2中load_weights的一些研究
  17. 基于医疗RFID手术用品智能柜管理应用方案
  18. Google Drive资源下载(附DPED dataset百度云链接)
  19. JS节点操作——连缀
  20. PKCS #5: Password-Based Cryptography Specification Version 2.1 中文翻译

热门文章

  1. 关于数据库表的“记录”与“字段”
  2. C++ vector类详解
  3. Adroid学习之 从源码角度分析-禁止使用回退按钮方案
  4. WPF CanExecuteChanged
  5. 如何解决EDM邮件营销中的图片难题
  6. 科学计算机二进制算法,计算机是怎么理解二进制的?
  7. canvas换图时候会闪烁_Canvas实现图片上标注、缩放、移动和保存历史状态,纯干货(附CSS 3变化公式)...
  8. 服务器旧图片维护,图片服务器
  9. 有温度传感器的风机控制系统C语言,毕业论文--基于单片机的工业风机控制器设计与实现.doc...
  10. python实现单例模式的几种方式_基于Python中单例模式的几种实现方式及优化详解...