用c++编写程序,设计一个商品销售类InvoiceItem类,需要完成如下功能: 1)询问客户购买的商品名称和数量。 2)从InvoiceItem对象获得每个商品的成本价。 3)在成本价的基础上加.上30%的利润,得到每个商品的单价。 4)将商品单价与购买商品的数量相乘,得到商品小计。 5)将商品小计乘6%,得到商品的销售税。 6)将商品小计与商品销售税相加得到该商品的销售额。 7)显示客户本次交易购买商品的小计、零售税和销售额。 注意:在一个程序中实现上述两个类,可以根据自己的需要随意修改lavoicelten类。输入有效性检验:购买的商品数量不能为负数。
时间: 2024-04-27 20:23:34 浏览: 6
好的,我会根据您的要求来设计一个类来实现这些功能。以下是一个可能的实现:
```c++
#include <iostream>
#include <string>
using namespace std;
class InvoiceItem {
private:
string name; // 商品名称
double cost; // 成本价
int quantity; // 商品数量
public:
InvoiceItem() {
name = "";
cost = 0.0;
quantity = 0;
}
void setName(string n) {
name = n;
}
void setCost(double c) {
cost = c;
}
void setQuantity(int q) {
if (q >= 0) {
quantity = q;
}
}
double getCost() const {
return cost;
}
double getPrice() const {
return cost * 1.3; // 单价等于成本价加上30%的利润
}
double getSubtotal() const {
return getPrice() * quantity; // 商品小计等于单价乘以数量
}
double getTax() const {
return getSubtotal() * 0.06; // 商品销售税等于商品小计乘以6%
}
double getTotal() const {
return getSubtotal() + getTax(); // 销售额等于商品小计加上商品销售税
}
void display() const {
cout << "商品名称:" << name << endl;
cout << "商品数量:" << quantity << endl;
cout << "商品单价:" << getPrice() << endl;
cout << "商品小计:" << getSubtotal() << endl;
cout << "商品销售税:" << getTax() << endl;
cout << "销售额:" << getTotal() << endl;
}
};
int main() {
InvoiceItem item; // 创建一个商品销售对象
// 询问客户购买的商品名称和数量
string name;
int quantity;
cout << "请输入商品名称:";
getline(cin, name);
item.setName(name);
cout << "请输入商品数量:";
cin >> quantity;
item.setQuantity(quantity);
// 从InvoiceItem对象获得每个商品的成本价
double cost;
cout << "请输入商品的成本价:";
cin >> cost;
item.setCost(cost);
// 显示客户本次交易购买商品的小计、零售税和销售额
item.display();
return 0;
}
```
注意,在这个实现中,我们为类添加了一些成员函数来实现各个功能,例如:
- `setName`、`setCost`、`setQuantity`:用来设置商品名称、成本价和数量。
- `getPrice`、`getSubtotal`、`getTax`、`getTotal`:分别用来计算商品的单价、小计、销售税和销售额。
- `display`:用来显示客户本次交易购买商品的小计、零售税和销售额。
在实现中,我们还使用了输入有效性检验,确保购买的商品数量不能为负数。