编写一个测试程序,演示Invoice类的性能

【题目描述】

                创建一个名为Invoice(发票)的类,硬件商店可以使用它表示店中售出一款商品的一张发票。一个Invoice对象应当包括作为数据成员的4部分信息:零件号(类型:string)、零件描述(类型:string)、商品售出量(类型:int)和商品单价(类型:int)。这个类必须具有一个初始化前述的4个数据成员的构造函数。接收多个实参的构造函数的定义形式如下:

类名(类型名1 形参名1,类型名2 形参名2,......)

对每个数据成员都提供一个set函数和一个get函数。此外,还要提供一个名为getInvoiceAmount的成员函数,计算发票额(即售出量与单价的乘积),然后以int类型返回该值。如果售出量是负数,那么应该把它设置为0;如果单价是负数,那么也应该把它设置为0.编写一个测试程序,演示Invoice类的性能。

【代码如下】

#include <iostream>
#include <string>
using namespace std;

class Invoice
{
public:

    Invoice(string number,string description,int volume,int price)//构造函数
    :partNumber(number),//初始化零件号
    partDescription(description),//初始化零件描述
    salesVolume(volume),//初始化售出量
    itemPrice(price)//初始化单价
    {}

    void setPartNumber(string number)//零件号对应的set和get函数
    {
       partNumber = number;
    }
    string getPartNumber()
    {
        return partNumber;
    }
    //零件描述对应的get和set函数
    void setPartDescription(string description)
    {
        partDescription = description;
    }
    string getPartDescription()
    {
        return partDescription;
    }
    //商品售出量对应的set和get函数
    void setSalesVolume(int volume)
    {
      salesVolume = volume;
    }
    int getSalesVolume()
    {
        return salesVolume;
    }
    void setItemPrice(int price)//商品单价对应的set和get函数
    {
        itemPrice = price;
    }
    int getItemPrice()
    {
        return itemPrice;
    }
    //计算并返回发票额
    int getInvoiceAmount()
    {
        if(salesVolume < 0 || itemPrice < 0)
        {
            amount = 0;
        }
        else
        {
            amount = itemPrice * salesVolume;
        }
        return amount;
    }


private:
    string partNumber;//零件号
    string partDescription;//零件描述
    int salesVolume;//商品售出量
    int itemPrice;//商品单价
    int amount;//发票额
};

int main()
{
    string numberOfPart;//零件号
    string descriptionOfPart;//零件描述
    int volumeOfSales;//商品售出量
    int priceOfItem;//商品单价
    std::cout << "请输入对应零件的零件号:" << std::endl;
    getline(cin,numberOfPart);//输入零件号
    std::cout << "请输入对应零件的零件描述:"  << std::endl;
    getline(cin,descriptionOfPart);//输入零件描述
    std::cout << "请输入对应的商品售出量:" << std::endl;
    std::cin >> volumeOfSales;//输入商品售出量
    std::cout << "请输入对应的商品单价:" << std::endl;
    std::cin >> priceOfItem;//输入商品单价
    Invoice Invoice(numberOfPart,descriptionOfPart,volumeOfSales,priceOfItem);

    std::cout << "该零件的所有信息如下:" << std::endl;
    std::cout << "零件号为:" << Invoice.getPartNumber() << std::endl;
    std::cout << "零件描述为:" << Invoice.getPartDescription() << std::endl;
    std::cout << "零件的售出量:" << Invoice.getSalesVolume() << std::endl;
    std::cout << "零件的单价:"  << Invoice.getItemPrice() << std::endl;
    std::cout << "零件的发票额为:" << Invoice.getInvoiceAmount() << std::endl;
    return 0;
}

猜你喜欢

转载自blog.csdn.net/ZQY211210400628/article/details/127878037
今日推荐