zoukankan      html  css  js  c++  java
  • C++primer plus第六版课后编程题答案10.4

    SALES.h

    #ifndef SALES_H_
    #define SALES_H_	//测试这一句的作用
    namespace SALES{
    	class Sales{
    		const static int QUARTERS=4;
    	private:
    		double sales[QUARTERS];
    		double average;
    		double max;
    		double min;
    	public:
    		Sales(const double ar[],int n);
    		Sales();
    		void showS(int n){
    			for(int i=0;i<n;i++)
    			std::cout<<sales[i]<<" ";//用于方便显示数组内容;
    		};
    		void showSales();
    	};//不能缺少";"??
    };
    #endif

    SALES.cpp

    #include <iostream>
    #include "SALES.h"
    using namespace std;
    //using namespace SALES;
    static int m=0;
    
    SALES::Sales::Sales(const double ar[],int n)
    {
    	bool flag=false;//用于判断max,min,avg是否要设置为0;
    	double Max=-999;
    	double Min=999;
    	double Avg=0;
    	double Sum=0;
    	if(n<0)
    		cout<<"
    Error input!"<<endl;
    	if(n>4)
    	{
    		n=4;
    		m=n;
    	}
    	if(n<=4&&n>0)
    	{
    		m=n;//记得要及时更新m的值,否则showS(m)容易出错
    		flag=true;//这里就不是设置为0;
    		for(int i=0;i<n;i++)
    		{
    			sales[i]=ar[i];
    			Sum+=sales[i];
    			if(Max<sales[i])
    				Max=sales[i];
    			if(Min>sales[i])
    				Min=sales[i];
    		}
    	}
    	//设置max,min,avg
    	if(flag)
    	{
    		Avg=Sum*1.0/m;
    		max=Max;
    		min=Min;
    		average=Avg;
    	}
    	else
    	{
    		max=0;
    		min=0;
    		average=0;
    	}
    }
    SALES::Sales::Sales()
    {
    	m=4;//切记更新
    	double Max=-999;
    	double Min=999;
    	double Avg=0;
    	double Sum=0;
    	int i=0;
    	while(i<4)
    	{
    		cout<<"
    Please enter the number:";
    		cin>>sales[i];
    		Sum+=sales[i];
    		if(Max<sales[i])
    			Max=sales[i];
    		if(Min>sales[i])
    			Min=sales[i];
    		i++;
    	}
    	Avg=Sum*1.0/m;
    	max=Max;
    	min=Min;
    	average=Avg;
    }
    void SALES::Sales::showSales()
    {
    	cout<<"
    show on!"<<endl;
    	cout<<"arr is:";
    	//SALES::Sales::
    	showS(m);
    	cout<<"
    "<<"max="<<max<<"  min="<<min<<"  avg="<<average<<endl;
    	cout<<"show end!"<<endl;
    }
    
    
    
    

    main104.cpp

    #include <iostream>
    #include "SALES.h"
    using namespace std;
    using namespace SALES;
    void main104()
    {
    	double arr[6]={10,5.5,4.5,7.4,5.6,9.7};
    	Sales s1(arr,4);
    	s1.showSales();
    	Sales s2=Sales();
    	s2.showSales();
    
    	system("pause");
    	
    
    
    
    
    }




  • 相关阅读:
    齐次和线性
    数组指针/指针数组
    坐标转换矩阵
    【转】GMM与K-means聚类效果实战
    利用虚函数实现多态的方式:动态绑定
    类型限定符volatile
    《剑指offer》查找二维数组内元素 c++
    windows下使用命令行编译、链接C++源文件
    关于该博客的美化
    vimium快捷键修改
  • 原文地址:https://www.cnblogs.com/qq84435/p/3664820.html
Copyright © 2011-2022 走看看