习题3.13
具体要求如下:
1)(Invoice类)创建一个名为Invoice(发票)的类,商店可以使用它表示店中售出一款商品的一张发票。
2)一个Invoice对象应当包括作为数据成员的4部分的信息:零件号(类型: string)、零件描述(类型:string)、售出量(类型:int)和单价(类型:int)。
3)这个类必须具有一个初始化前述的4个数据成员的构造函数,对每个数据成员都提供一个设置函数和一个获取函数。
4)还要提供一个名为getInvoiceAmount的成员函数,计算发票额(即售出量与单价的乘积),并以int类型返回该值。如果售出量是负数,那么应该设置为0;如果单价是负数,那么应该设置为0。
5)编写一个测试程序,演示Invoice类的性能。
具体代码实现如下:
1)(Invoice类)创建一个名为Invoice(发票)的类,商店可以使用它表示店中售出一款商品的一张发票。
class Invoice
{
};
2)一个Invoice对象应当包括作为数据成员的4部分的信息:零件号(类型: string)、零件描述(类型:string)、售出量(类型:int)和单价(类型:int)。
private:
string num;//零件号
string des;//零件描述
int sales;//售出量
int price;//单价
int sum;//用来放总数
3)这个类必须具有一个初始化前述的4个数据成员的构造函数,对每个数据成员都提供一个设置函数和一个获取函数。
public:
void setNum( string number )
{
num = number;
}
string getNum()
{
return num;
}
void setDes( string describe )
{
des = describe;
}
string getDes()
{
return des;
}
void setSales( int sales1)
{
sales = sales1;
}
int getSales()
{
return sales;
}
void setPrice( int price1 )
{
price=price1;
}
int getPrice()
{
return price;
}
4)还要提供一个名为getInvoiceAmount的成员函数,计算发票额(即售出量与单价的乘积),并以int类型返回该值。如果售出量是负数,那么应该设置为0;如果单价是负数,那么应该设置为0。
int getInvoiceAmount()
{
if(sales < 0)
{
sales=0;
sum=0;
}
else
{
return sum=price*sales;
}
}
5)编写一个测试程序,演示Invoice类的性能。
int main()
{
Invoice a;
a.setNum("001");
cout << a.getNum() << endl;
a.setDes("sss");
cout << a.getDes() << endl;
a.setSales(66);
cout << a.getSales() << endl;
a.setPrice(500);
cout << a.getPrice() << endl;
cout << a.getInvoiceAmount() << endl;
return 0;
}
全部的运行代码如下:
#include<iostream>
#include<string>
using namespace std;
class Invoice
{
public:
void setNum( string number )
{
num = number;
}
string getNum()
{
return num;
}
void setDes( string describe )
{
des = describe;
}
string getDes()
{
return des;
}
void setSales( int sales1)
{
sales = sales1;
}
int getSales()
{
return sales;
}
void setPrice( int price1 )
{
price=price1;
}
int getPrice()
{
return price;
}
int getInvoiceAmount()
{
if(sales < 0)
{
sales=0;
sum=0;
}
else
{
return sum=price*sales;
}
}
private:
string num;//零件号
string des;//零件描述
int sales;//售出量
int price;//单价
int sum;//用来放总数
};
int main()
{
Invoice a;
a.setNum("001");
cout << a.getNum() << endl;
a.setDes("sss");
cout << a.getDes() << endl;
a.setSales(66);
cout << a.getSales() << endl;
a.setPrice(500);
cout << a.getPrice() << endl;
cout << a.getInvoiceAmount() << endl;
return 0;
}