C++ primer plus中文编程练习答案第17章.docx
《C++ primer plus中文编程练习答案第17章.docx》由会员分享,可在线阅读,更多相关《C++ primer plus中文编程练习答案第17章.docx(13页珍藏版)》请在三一办公上搜索。
1、C+ primer plus中文编程练习答案第17章1、 /count.cpp #include using namespace std; int main charch; int count = 0; cout Enter a string($ to quit):n; while (cin.get(ch) if (ch != $) count+; coutch; else cin.putback(ch); break; cout Count is count endl; system(pause); return 0; 2、 /filein.cpp #include #include #in
2、clude int main(intargc, char *argv) using namespace std; if (argc = 1) cerr Usage: argv0 filenamesn; exit(EXIT_FAILURE); ofstreamfout(argv1, ios:out|ios:app); if (!fout.is_open) cerr Cant open argv1 file for output.n; exit(EXIT_FAILURE); charch; cout Enter a string: n; while (cin.get(ch) if (ch != n
3、) foutch; else break; foutendl; fout.close; system(pause); return 0; 3、 /copy.cpp #include #include #include int main(intargc, char *argv) using namespace std; if (argc = 1) cerr Usage: argv0 filenamesn; exit(EXIT_FAILURE); ifstream fin; charch; fin.open(argv1, ios:in); if (!fin.is_open) cerr Could
4、not open argv1 endl; exit(EXIT_FAILURE); ofstreamfout(argv2, ios:out | ios:trunc); if (!fout.is_open) cerr Could not open argv1 endl; exit(EXIT_FAILURE); cout Here are the current contents of th argv1 file:n; while (fin.get(ch) coutch; foutch; fin.close; fout.close; system(pause); return 0; /a.txt A
5、bcdefghijklmnopqrstuvwxyz 4、 /copy_cat.cpp #include #include #include #include using namespace std; const char *file1 = a.txt; const char *file2 = b.txt; const char *file3 = c.txt; int main ifstream fin1, fin2; fin1.open(file1); fin2.open(file2); ofstreamfout; fout.open(file3, ios_base:out | ios_bas
6、e:trunc); string s1, s2; if (!fin1.is_open | !fin2.is_open) cerr Cant open file1 or file2 endl; exit(EXIT_FAILURE); if (!fout.is_open) cerr Cant open file3 endl; exit(EXIT_FAILURE); while (!fin1.eof & !fin2.eof) getline(fin1, s1); cout File1 s1 endl; getline(fin2, s2); cout File2 s2 endl; fout s1 s2
7、 endl; while (!fin1.eof) getline(fin1, s1); cout More file1 s1 endl; fout s1 endl; while (!fin2.eof) getline(fin2, s2); cout More file2 s2 endl; fout s2 endl; fin1.close; fin2.close; fout.close; system(pause); return 0; /a.txt eggs kites donuts balloons hammers stones /b.txt zero lassitude finance d
8、rama 5、 /name.cpp #include #include #include #include #include #include const char *file1 = mat.dat; const char *file2 = pat.dat; const char *file3 = matnpat.dat; int main using namespace std; string fname1; set A; ifstreamfinA, finB; finA.open(file1); finB.open(file2); ofstreamfout; ostream_iterato
9、rout1(cout, ), out2(fout, n); fout.open(file3, ios_base:out | ios_base:trunc); if (!finA.is_open | !finB.is_open) cerr Cant open file1 or file2 endl; exit(EXIT_FAILURE); if (!fout.is_open) cerr Cant open file3 endl; exit(EXIT_FAILURE); while (!finA.eof) getline(finA, fname1); A.insert(fname1); cout
10、Mats friends: n; copy(A.begin, A.end, out1); coutendl; string fname2; set B; while (!finB.eof) getline(finB, fname2); B.insert(fname2); cout Pats friends: n; copy(B.begin, B.end, out1); coutendl; cout Union of Mat and Pats friends: ; set_union(A.begin, A.end, B.begin, B.end, out1); set_union(A.begin
11、, A.end, B.begin, B.end, out2); coutendl; finA.close; finB.close; fout.close; system(pause); return 0; 6、 /emp.h #ifndef EMP_H_ #define EMP_H_ #include #include #include using namespace std; enumclasstype Employee, Manager, Fink, Highfink ; classabstr_emp private: stringfname; stringlname; string jo
12、b; public: abstr_emp; abstr_emp(const string &fn, const string &ln, const string &j); virtual void ShowAllconst; virtual void SetAll; friendostream&operator(ostream&os, constabstr_emp&e); virtual abstr_emp = 0; virtual void writeall(ofstream&ofs); virtual void getall(ifstream&ifs); ; class employee
13、:public abstr_emp public: employee; employee(const string &fn, const string &ln, const string &j); virtual void ShowAllconst; virtual void SetAll; virtual void writeall(ofstream&ofs); virtual void getall(ifstream&ifs); ; class manager :virtual public abstr_emp private: intinchargeof; protected: intI
14、nChargeOfconst return inchargeof; int&InChargeOf return inchargeof; public: manager; manager(const string &fn, const string &ln, const string &j, intico = 0); manager(constabstr_emp&e, intico = 0); manager(const manager &m); virtual void ShowAllconst; virtual void SetAll; virtual void writeall(ofstr
15、eam&ofs); virtual void getall(ifstream&ifs); voidgetInCharge coutinchargeof; voidwriteInCharge(ofstream&ofs) ofsinchargeofinchargeof; ; class fink :virtual public abstr_emp private: stringreportsto; protected: const string ReportsToconst return reportsto; string&ReportsTo return reportsto; public: f
16、ink; fink(const string &fn, const string &ln, const string &j, const string &rpo); fink(constabstr_emp&e, const string &rpo); fink(const fink &e); virtual void ShowAllconst; virtual void SetAll; virtual void writeall(ofstream&ofs); virtual void getall(ifstream&ifs); voidgetReportsTo coutreportsto; v
17、oidwriteReportsTo(ofstream&ofs) ofsreportstoreportsto; ; classhighfink :public manager, public fink public: highfink; highfink(const string &fn, const string &ln, const string &j, const string &rpo, intico = 0); highfink(constabstr_emp&e, const string &rpo, intico = 0); highfink(const fink &f, intic
18、o = 0); highfink(const manager &m, const string &rpo); highfink(consthighfink&h); virtual void ShowAllconst; virtual void SetAll; virtual void writeall(ofstream&ofs); virtual void getall(ifstream&ifs); ; #endif /emp.cpp #include emp.h abstr_emp:abstr_emp :fname(no one), lname(no one), job(no job) ab
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ primer plus中文编程练习答案第17章 plus 中文 编程 练习 答案 17

链接地址:https://www.31ppt.com/p-3153747.html