exercises 2.41

 1 #include <iostream>
 2 #include "Sales_data.h"
 3 #include <string>
 4 using namespace std;
 5 extern void fun121();
 6 extern void fun123_124();
 7 extern void fun122();
 8 
 9 int main(int argc, char** argv) {
10     fun121();
11     fun122();
12     fun123_124();
13     return 0;
14 }
15 
16 void fun121(){
17     Sales_data data1,data2,totalData;
18     
19     data1.bookNo="0-201-0000-x";
20     data1.units_sold=2;
21     data1.revenue=66.6;
22     
23     data2.bookNo="0-201-0000-x";
24     data2.units_sold=3;
25     data2.revenue=99.9;
26     
27     if (data1.bookNo==data2.bookNo){
28         totalData.bookNo=data1.bookNo;
29         totalData.units_sold=data1.units_sold+data2.units_sold;
30         totalData.revenue = data1.revenue+data2.revenue;
31     }else{
32         cout<<"isbn is not same"<<endl;
33     }
34     
35     cout<<totalData.bookNo<<" sell: "<<totalData.units_sold<<" total: "<<totalData.revenue<<endl;
36 }
37 
38 void fun123_124(){
39     double price=33.3;
40     Sales_data temp,data3;
41     
42     cin>>data3.bookNo;
43     cin>>data3.units_sold;
44     data3.revenue=data3.units_sold*price;
45     
46     while(cin>>temp.bookNo && cin>>temp.units_sold){
47         if(temp.bookNo!=data3.bookNo){
48             cout<<data3.bookNo<<" sell: "<<data3.units_sold<<" total: "<<data3.revenue<<endl;
49             data3.bookNo=temp.bookNo;
50             data3.units_sold=temp.units_sold;
51             data3.revenue=temp.units_sold*price;
52         }else{
53             data3.revenue+=temp.units_sold*price;
54             data3.units_sold+=temp.units_sold;
55         }
56     }
57     
58     cout<<data3.bookNo<<" sell: "<<data3.units_sold<<" total: "<<data3.revenue<<endl;
59 }
60 
61 void fun122(){
62     double price=33.3;
63     Sales_data temp,totalData;
64     
65     cin>>totalData.bookNo;
66     cin>>totalData.units_sold;
67     totalData.revenue=totalData.units_sold*price;
68     
69     cout<<totalData.bookNo<<" sell: "<<totalData.units_sold<<" total: "<<totalData.revenue<<endl;
70     
71     while(cin>>temp.bookNo && cin>>temp.units_sold){
72         if(temp.bookNo==totalData.bookNo){
73             totalData.units_sold+=temp.units_sold;
74             totalData.revenue+=temp.units_sold*price;
75             cout<<totalData.bookNo<<" sell: "<<totalData.units_sold<<" total: "<<totalData.revenue<<endl;
76         }else{
77             cout<<"not the same isbn"<<endl;
78             cout<<totalData.bookNo<<" sell: "<<totalData.units_sold<<" total: "<<totalData.revenue<<endl;
79             break;
80         }
81     }
82 }
1 #IFNDEF SALES_DATA
2 #DEFINE SALES_DATA
3 struct Sales_data {
4     std::string bookNo;
5     unsigned units_sold = 0;
6     double revenue = 0.0;
7 };
8 #ENDIF

 

posted @ 2015-04-14 15:23  无敌烤皮蛋  阅读(107)  评论(0)    收藏  举报