C++Primer第五版 7.1.1节练习

练习7.1:使用2.6.1节练习定义的Sales_data类为1.6节(第21页)的交易处理程序编写一个新版本。
答案:见云盘程序 练习7.1.cpp。
练习7.1

/*
*练习7.1
*日期:2015/6/30
*问题描述:练习7.1:使用2.6.1节练习定义的Sales_data类为1.6节(第21页)的交易处理程序编写一个新版本。
*功能;使用一个定义的结构体来重写21页那个程序
*说明:这个程序我写的及其糟糕,只是为了能用Sales_data而写 
*作者:Nick Feng 
*邮箱:nickgreen23@163.com 
*/


#include<iostream>

using namespace std;

struct Sales_data {
    std::string bookNo;
    unsigned units_sold = 0;
    double revenue = 0.0;
}; 

int main()
{
    Sales_data total;//保存下一条交易记录的变量
    //读入第一条交易记录,并确保有数据可以处理
    total.bookNo = "abcdefg";
    total.revenue = 0.2;
    total.units_sold = 10;
    if (total.bookNo != ""){
        Sales_data trans; //保存和的变量
        //读入并处理剩余交易记录
        trans.bookNo = "abcdefg";
        trans.revenue = 0.2;
        trans.units_sold = 10;

            //如果我们仍在处理相同的书
            if (total.bookNo == trans.bookNo)
                total.units_sold += trans.units_sold; 
                //更新总销售额
            else {
                //打印前一本书的结果
                std::cout << total.units_sold * total.revenue << std::endl;
                total.units_sold = trans.units_sold; 
                //total现在表示下一本书的销售额 
            } 
        } 
        std::cout << total.units_sold * total.revenue << std::endl; 
        //打印最后一本书的结果 
    if(total.bookNo=="") {
        //没有输入!警告读者
        std::cerr << "No data?" << std::endl;
        return -1; //表示失败 
    } 
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值