销售商品

/*
* 程序的版权和版本声明部分
* Copyright (c)2014, 烟台大学计算机学院学生
* All rightsreserved.
* 文件名称:a.cpp
* 作    者:孔云
* 完成日期:2014年4月13日
* 版 本 号: v1.0
* 输入描述:主函数中已给出数据
* 问题描述:商店销售某一商品,每天公布统一的折扣(discount)。同时允许销售人员在销售时灵活掌握售价(price),在此基础上,一次购10件以上者,还可以享受9.8折优惠。现已知当天m个销货员销售情况为

         销货员号(num)            销货件数(quantity)       销货单价(price)

               101                                              5                            23.5

               102                                            12                            24.56

               103                                           100                           21.5
* 输出描述:销售总件数和平均价。
*/
#include <iostream>
using namespace std;
class Product
{
public:
    Product(int m,int q,float p):num(m),quantity(q),price(p) {};
    void total();
    static float average();
    static void display();
private:
    int num;//销货员号
    int quantity;//销货件数
    float price;//销货单价
    static float discount;//商店统一折扣
    static float sum;//总销售款
    static int n;//商品销售总件数
};
void Product::total()//求销售款和销售件数
{
    float rate=1.0;
    if(quantity>10)
    {
        rate=0.98*rate;
    }
    sum=sum+quantity*price*rate*(1-discount);
    n=n+quantity;
}
void Product::display()//输出销售总件数和平均价
{
    cout<<"销售总件数:"<<sum<<endl;
    cout<<"平均价:"<<average()<<endl;
}
float Product::average()//求平均价
{
    return (sum/n);
}
float Product::discount=0.05;//对静态数据成员初始化
float Product::sum=0;//对静态数据成员初始化
int Product::n=0;//对静态数据成员初始化
int main()
{
    Product Prod[3]= {Product(101,5,23.5),Product(102,12,24.56),Product(103,100,21.5)};//定义Product类对象数组,并给出数据
    for(int i=0; i<3; i++)
    {
        Prod[i].total();//统计3个销售员的销售情况
    }
    Product::display();//输出结果
    return 0;
}

销售商品_第1张图片

心得体会:对静态数据成员初始化不可用参数初始化表,对其初始化一般形式:数据类型  类名::静态数据成员名=初值,对于静态成员函数在C++中主要用来访问静态数据成员,而不访问非静态数据成员。奋斗

你可能感兴趣的:(销售商品)