C++ Primer 课后习题1.24

原题:

编写程序,读入几笔不同的交易。对于每笔新读入的交易,要确定它的ISBN 是否和以前的交易的ISBN 一样,并且记下每一个ISBN 的交易的总数。

通过给定多笔不同的交易来测试程序。这些交易必须代表多个不同的ISBN,但是每个ISBN的记录应分在同一组。

修改:

要求可随意输入不同的ISBN交易信息,并将输入的所有交易分类别输出。

 1 #include <iostream>
 2 #include <vector>
 3 #include "Sales_item.h"
 4 #include <algorithm>
 5 using namespace std;
 6
 7 int main()
 8 {
 9     cout<<"输入交易信息:"<<endl;
10     Sales_item book,tatol;
11     vector<Sales_item> vctBooks;
12     bool flag = true;
13     if (cin>>tatol)
14     {
15          vctBooks.push_back(tatol);
16         while (cin>>book)
17         {
18             vector<Sales_item>::iterator iter;
19             int cnt = 0;
20              for (iter = vctBooks.begin(); iter != vctBooks.end(); ++iter)
21             {
22                 cnt++;
23                 if (iter->same_isbn(book))
24                 {
25                     (*iter) += book;
26                     flag = false;
27                     break;
28                 }
29             }
30             if(cnt == vctBooks.size() && flag)
31             {
32                 vctBooks.push_back(book);
33                 flag = true;
34                 cnt = 0;
35             }else
36             {
37                 flag = true;
38             }
39         }
40     }
41     vector<Sales_item>::iterator iter;
42     for (iter = vctBooks.begin(); iter != vctBooks.end(); iter++)
43     {
44         cout<<*iter<<endl;
45     }
46
47     return 0;
48 }

 结果:

时间: 2024-08-01 14:03:56

C++ Primer 课后习题1.24的相关文章

C++ Primer 课后习题9.39 统计单词个数并记录最大单词和最短单词

习题9.39: 已知有如下string对象: string line1 = "We were her pride of 10 she named us:"; string line2 = "Benjamin, Phoenix, the Prodigal"; string line3 = "and perspicacious perspicacious pacific Suzanne"; string sentence = line1 + ' '

c++ primer 消息处理示例+课后习题完成

最近又重新浏览了c++ primer , 感觉以前看的太浅显了,所以抽空又翻了翻,感觉里面很多的知识还是不是熟悉,正好今天看到复制控制这章的例题--消息处理示例,同时也把课后习题要求了顺带完成了. 贴一下代码,供大家参考,相互学习哈! //Msg类 #ifndef MSG_H #define MSG_H #include "Folder.h" #include <set> #include <string> using std::string; using st

C Primer Plus 第十二章课后习题……2015.5.10

第十二章课后习题 1.自动存储 寄存器存储 静态空连接 2.静态空连接 内部链接 外部链接 3.静态外部链接  静态内部链接 4.空连接 5.在声明中使用表面这个变量或函数已经定义过 6.都分配一个具有100个int值的数组,calloc还把每个元素设置为零. 7.daisy全局变量  lily局部变量 8.#include<stdio.h> char color='B'; void first(void); void second(void); int main(void) { extern

计算机组成原理_第四版课后习题答案(完整版)

计算机组成原理_第四版课后习题答案(完整版) ?第一章 1.?比较数字计算机和模拟计算机的特点. 解:模拟计算机的特点:数值由连续量来表示,运算过程是连续的: 数字计算机的特点:数值由数字量(离散量)来表示,运算按位进行. 两者主要区别见P1?表1.1. 2.?数字计算机如何分类?分类的依据是什么? 解:分类: 数字计算机分为专用计算机和通用计算机.通用计算机又分为巨型机.大型机. 中型机.小型机.微型机和单片机六类. 分类依据:专用和通用是根据计算机的效率.速度.价格.运行的经济性和适应性来划

黑马程序员---Objective-C基础学习---一道课后习题引发的思考

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一道课后习题引发的思考 /* 需求:设计一个类Point2D,用来表示二维平面中某个点 1> 属性 * double x * double y 2> 方法 * 属性相应的set和get方法 * 设计一个对象方法同时设置x和y * 设计一个对象方法计算跟其他点的距离 * 设计一个类方法计算两个点之间的距离 3> 提示 * C语言的math.h中有个函数:double pow(double

《数据结构教程》(李春葆 主编)课后习题【练习题6】

[6.5] 1 #include <iostream> 2 3 using namespace std; 4 #define MAXN 100 5 #define N 4 6 #define M 4 7 int x,y,num; 8 int a[MAXN][MAXN] = { 9 {0,2,3,4}, 10 {1,5,6,7}, 11 {8,9,10,11}, 12 {12,13,14,15}}; 13 bool FindX(int X) 14 { 15 while(a[x][y]!=X){

Thinking in C++ 课后习题自己实现 第二章

最近在看Thinking in C++,今天下午自己实现了第二章的课后习题.虽然看起来是一件微不足道的小事情,但是对于我来说,这是成长路上的一点点小积淀.我的梦想是有一天可以在程序的世界里自由驰骋,做出一些属于自己的东西.现在只是刚刚起步,还需要坚持不懈的努力.把自己实现的代码贴出来留作纪念.这些代码在vs2015上编译通过. 1 /* 2 Thinking in C++ 2-3 3 本程序的目的是统计打开文件中以空格隔开的单词个数,这里直接使用了>> 操作符一次取出一个单词 4 直到文件结束

曾经做过的40道程序设计课后习题总结(一)

曾经做过的40道程序设计课后习题总结(一) 课后习题目录 1 斐波那契数列2 判断素数3 水仙花数4 分解质因数5 杨辉三角6 学习成绩查询7 求最大公约数与最小公倍数8 完全平方数9 统计字母.空格.数字和其它字符个数10 求主对角线之和11 完数求解12 求s=a+aa+aaa+aaaa+aa...a的值13 高度计算14 乘法口诀15 无重复三位数16 菱形打印17 利润计算18 第几天判断19 从小到大输出数列20 猴子吃桃问题21 乒乓球比赛22 求分数之和23 求阶乘的和24 递归求

1026: C语言程序设计教程(第三版)课后习题7.4数组排序

1026: C语言程序设计教程(第三版)课后习题7.4 题目描述 已有一个已排好的9个元素的数组,今输入一个数要求按原来排序的规律将它插入数组中. 输入 第一行,原始数列. 第二行,需要插入的数字. 输出 排序后的数列 样例输入 1 7 8 17 23 24 59 62 101 50 样例输出 1 7 8 17 23 24 50 59 62 101 提示 来源 #include<stdio.h> int main() {     int a[10],i,t;     for(i=0; i<