Sales_data.h

 1 #ifndef SALES_DATA_H
2 #define SALES_DATA_H
3
4 #include "Version_test.h"
5
6 #include <string>
7
8 struct Sales_data {
9 std::string bookNo;
10 #ifdef IN_CLASS_INITS
11 unsigned units_sold = 0;
12 double revenue = 0.0;
13 #else
14 unsigned units_sold;
15 double revenue;
16 #endif
17 };
18 #endif
  • 定义了Slaes_data类
  • 作者想让读者自己定义一遍Sales_item类,所以在此没有定义操作

Sales_data.cpp

 1 #include <iostream>
2 #include <string>
3 #include "Sales_data.h"
4
5 int main()
6 {
7 Sales_data data1, data2;
8
9 // code to read into data1 and data2
10 double price = 0; // price per book, used to calculate total revenue
11
12 // read the first transactions: ISBN, number of books sold, price per book
13 std::cin >> data1.bookNo >> data1.units_sold >> price;
14 // calculate total revenue from price and units_sold
15 data1.revenue = data1.units_sold * price;
16
17 // read the second transaction
18 std::cin >> data2.bookNo >> data2.units_sold >> price;
19 data2.revenue = data2.units_sold * price;
20
21 // code to check whether data1 and data2 have the same ISBN
22 // and if so print the sum of data1 and data2
23 if (data1.bookNo == data2.bookNo) {
24 unsigned totalCnt = data1.units_sold + data2.units_sold;
25 double totalRevenue = data1.revenue + data2.revenue;
26
27 // print: ISBN, total sold, total revenue, average price per book
28 std::cout << data1.bookNo << " " << totalCnt
29 << " " << totalRevenue << " ";
30 if (totalCnt != 0)
31 std::cout << totalRevenue/totalCnt << std::endl;
32 else
33 std::cout << "(no sales)" << std::endl;
34
35 return 0; // indicate success
36 } else { // transactions weren't for the same ISBN
37 std::cerr << "Data must refer to the same ISBN"
38 << std::endl;
39 return -1; // indicate failure
40 }
41 }
  • 读入data1和data2的代码
  • 检查data1和data2的ISBN是否相同
  • 如相同,求data1和data2的和

最新文章

  1. [WCF编程]12.事务:服务事务编程(上)
  2. java 项目创建中的问题汇总
  3. 【洛谷P2889】Milking Time
  4. Xamarin安装和跳坑指南
  5. 7.7---找只含3,5,7的数(CC150)
  6. SharePoint 2010 文档管理之文档推送
  7. 什么是J2EE,包括哪些规范!
  8. 运用Ntop监控网络流量(视频Demo)
  9. RHEL 5.4下部署LVS(DR)+keepalived实现高性能高可用负载均衡
  10. C语言的指针移位问题
  11. 深入分析Cookie的安全性问题
  12. myeclipse的新建severlet不见解决方法
  13. CODEVS 1638 修复公路
  14. Date对象
  15. 有用的jQuery布局插件推荐
  16. 学派Delphi方法(推荐)——————————【Badboy】
  17. eclipse android ndk 提示Type &#39;JNIEnv&#39; could not be resolved 等信息解决办法
  18. DML触发器1
  19. Angular组件——中间人模式
  20. [转] CMake

热门文章

  1. 全网最详细的Linux命令系列-cat命令
  2. 通过Dapr实现一个简单的基于.net的微服务电商系统(三)——一步一步教你如何撸Dapr
  3. Java(41-55)【 流程控制语句】
  4. 【CTF】XCTF Misc 心仪的公司 &amp; 就在其中 writeup
  5. webpack的构建流程
  6. pod详解
  7. 绕过阿里云waf进行mysql limit注入证明
  8. 1040 Longest Symmetric String
  9. 1148 Werewolf - Simple Version
  10. ListBox控件的另一种数据绑定方式