C++ Primer Plus第六版编程练习9.4解答

来源:互联网 发布:男双肩包推荐 知乎 编辑:程序博客网 时间:2024/05/20 18:19

sales.h

#ifndef SALES_H_INCLUDED#define SALES_H_INCLUDEDnamespace SALES{    const int QUARTERS=4;    struct Sales    {        double sales[QUARTERS];        double average;        double max;        double min;    };    void setSales(Sales & s,const double ar[],int n);    void setSales(Sales & s);    void showSales(const Sales & s);}#endif // SALES_H_INCLUDED

sales.cpp

#include "sales.h"#include <iostream>namespace SALES{    using namespace std;    void setSales(Sales & s,const double ar[],int n)    {        double sum=0;        s.max=ar[0],s.min=ar[0];        for(int i=0; i<n; i++)        {            s.sales[i]=ar[i];            sum+=ar[i];            if(ar[i]>s.max)                s.max=ar[i];            if(ar[i]<s.min)                s.min=ar[i];        }        s.average=sum/n;    }    void setSales(Sales & s)    {        cout<<"Enter sales: ";        cin>>s.sales[0];        double sum=s.sales[0];        s.max=s.sales[0],s.min=s.sales[0];        for(int i=1;i<QUARTERS;i++)        {            cout<<"Enter sales: ";            cin>>s.sales[i];            sum+=s.sales[i];            if(s.sales[i]>s.max)                s.max=s.sales[i];            if(s.sales[i]<s.min)                s.min=s.sales[i];        }        s.average=sum/QUARTERS;    }    void showSales(const Sales & s)    {        for(int i=0;i<QUARTERS;i++)            cout<<"sales #"<<i+1<<" : "<<s.sales[i]<<endl;        cout<<"average: "<<s.average<<endl;        cout<<"max: "<<s.max<<endl;        cout<<"min: "<<s.min<<endl;        cout<<endl;    }}


main.cpp

#include <iostream>#include "sales.h"int main(){    using namespace SALES;    Sales s1,s2;    std::cout<<"non-interactive version\n";    double array[QUARTERS]={234.3,342.33,345.5,454.23};    setSales(s1,array,QUARTERS);    showSales(s1);    std::cout<<"interactive version\n";    setSales(s2);    showSales(s2);    return 0;}

0 0