【C++ Primer | 08】课后习题答案
生活随笔
收集整理的這篇文章主要介紹了
【C++ Primer | 08】课后习题答案
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
文章目錄
- 練習(xí)8.13
練習(xí)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; }總結(jié)
以上是生活随笔為你收集整理的【C++ Primer | 08】课后习题答案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。