第一范文网 - 专业文章范例文档资料分享平台

C++Primer - Plus(第五版)习题解答

来源:用户分享 时间:2025/5/18 9:10:52 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

Solutions for Programming Exercises in C++ Primer Plus, 5th Edition

items[top++] = item; return true; } else

return false; }

bool Stack::pop(Item & item) {

if (top > 0) {

item = items[--top]; return true; } else

return false; }

// pe10-5.cpp

#include #include

#include \// link with pe10stack.cpp

void get_customer(customer & cu); int main(void) {

using namespace std;

Stack st; // create a stack of customer structures customer temp;

double payments = 0; char c;

cout << \

<< \ while (cin >> c && (c = toupper(c)) != 'Q') {

while (cin.get() != '\\n') continue;

if (c != 'A' && c != 'P') {

cout << \ continue; }

switch (c) {

case 'A' : if (st.isfull())

cout << \ else {

get_customer(temp); st.push(temp); }

break;

case 'P' : if (st.isempty())

cout << \

SP 25 of 73 September 2, 2004

Solutions for Programming Exercises in C++ Primer Plus, 5th Edition

else {

st.pop(temp);

payments += temp.payment;

cout << temp.fullname << \ cout << \ << payments << \ }

break;

default : cout << \ }

cout << \

<< \ }

cout << \ return 0; }

void get_customer(customer & cu) {

using namespace std;

cout << \ cin.getline(cu.fullname,35);

cout << \ cin >> cu.payment;

while (cin.get() != '\\n') continue; }

PE 10-8

// pe10-8arr.h -- header file for a simple list class

#ifndef SIMPLEST_ #define SIMPLEST_

// program-specific declarations

const int TSIZE = 45; // size of array to hold title struct film {

char title[TSIZE]; int rating; };

// general type definitions typedef struct film Item;

const int MAXLIST = 10; class simplist {

private:

Item items[MAXLIST]; int count; public:

simplist(void); bool isempty(void); bool isfull(void);

SP 26 of 73 September 2, 2004

Solutions for Programming Exercises in C++ Primer Plus, 5th Edition

int itemcount();

bool additem(Item item);

void transverse( void (*pfun)(Item item)); };

#endif

// pe10-8arr.cpp -- functions supporting simple list operations #include \

simplist::simplist(void) {

count = 0; }

bool simplist::isempty(void) {

return count == 0; }

bool simplist::isfull(void) {

return count == MAXLIST; }

int simplist::itemcount() {

return count; }

bool simplist::additem(Item item) {

if (count == MAXLIST) return false; else

items[count++] = item; return true; }

void simplist::transverse( void (*pfun)(Item item)) {

for (int i = 0; i < count; i++) (*pfun)(items[i]); }

// pe10-8.cpp -- using a class definition

#include

#include // prototype for exit()

#include \ // array version

void showmovies(Item item); // to be used by transverse()

int main(void) {

using namespace std;

SP 27 of 73 September 2, 2004

Solutions for Programming Exercises in C++ Primer Plus, 5th Edition

simplist movies; // creates an empty list Item temp;

if (movies.isfull()) // invokes isfull() member function {

cout << \ exit(1); }

cout << \

while (cin.getline(temp.title,TSIZE) && temp.title[0] != '\\0') {

cout << \ cin >> temp.rating;

while(cin.get() != '\\n') continue;

if (movies.additem(temp) == false) {

cout << \ break; }

if (movies.isfull()) {

cout << \ break; }

cout << \ }

if (movies.isempty())

cout << \ else {

cout << \ movies.transverse(showmovies); }

cout << \ return 0; }

void showmovies(Item item) {

std::cout << \ << item.rating << std::endl; }

Chapter 11

PE 11-2

// pe11-2.h -- Vector class with <<, mode state // modified implementation #ifndef MODVECTOR_H_ #define MODVECTOR_H_ #include namespace VECTOR

SP 28 of 73 September 2, 2004

搜索更多关于: C++Primer - Plus(第五版)习题解答 的文档
C++Primer - Plus(第五版)习题解答.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4ipnz2rizz3pebe0ilfj_7.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top