3)某商店经销一种货物,货物成箱购进,成箱卖出,购进和卖出时以重最为单位,各箱的 重量可能不一样,商店需要记录目前库存的总重量。编写程序,通过定义类Cargo模拟商 店货物购进和卖出的情况。用c++写
时间: 2024-10-26 10:03:17 浏览: 20
行业资料-交通装置-一种成箱水果装卸用智能电动运输车.exe
在C++中,我们可以定义一个名为`Cargo`的类来模拟商店的货物购进和卖出情况。这个类可以包含属性如箱子的重量以及库存总量,同时也提供方法来进行购进和卖出操作,并更新库存。以下是简单的类设计和部分功能的实现:
```cpp
#include <iostream>
#include <vector>
class Cargo {
private:
std::vector<int> cargo_weights; // 存储每个箱子的重量
int total_weight; // 当前库存总重量
public:
// 构造函数,初始化库存为0
Cargo() : total_weight(0) {}
// 购进方法,增加一箱货物的重量到库存
void purchase(int weight) {
cargo_weights.push_back(weight);
total_weight += weight;
}
// 卖出方法,减少相应箱子的重量并从库存中扣除
bool sell(int weight) {
for (int i = 0; i < cargo_weights.size(); ++i) {
if (weight <= cargo_weights[i]) {
total_weight -= weight;
cargo_weights[i] -= weight;
return true; // 如果卖出成功返回true
}
}
return false; // 如果找不到足够重量的箱子,返回false
}
// 获取当前库存总重量
int getTotalWeight() const {
return total_weight;
}
// 打印当前库存信息
void displayInventory() const {
std::cout << "Current inventory:\n";
for (int w : cargo_weights) {
std::cout << "Box of weight: " << w << " kg\n";
}
std::cout << "Total weight: " << total_weight << " kg\n";
}
};
int main() {
Cargo store;
// 示例操作
store.purchase(10); // 购进10公斤
store.displayInventory();
store.sell(5); // 卖出5公斤
store.displayInventory();
return 0;
}
```
在这个例子中,我们创建了一个`Cargo`类,它有购买(`purchase`)、出售(`sell`)、获取总重量(`getTotalWeight`)和显示库存(`displayInventory`)等方法。主函数展示了如何实例化这个类并进行基本操作。
阅读全文