用c++写一个超市库存管理系统并对代码进行解释
时间: 2024-01-27 20:05:43 浏览: 138
好的,下面是一个简单的超市库存管理系统的C++代码,注释中会对代码进行解释:
```cpp
#include <iostream>
#include <string>
#include <vector>
using namespace std;
// 商品类
class Product {
public:
// 构造函数
Product(string name, float price, int quantity) {
this->name = name;
this->price = price;
this->quantity = quantity;
}
// 获取商品信息
void getInfo() {
cout << "Name: " << name << endl;
cout << "Price: " << price << endl;
cout << "Quantity: " << quantity << endl;
}
// 获取商品名称
string getName() {
return name;
}
// 获取商品价格
float getPrice() {
return price;
}
// 获取商品数量
int getQuantity() {
return quantity;
}
private:
string name;
float price;
int quantity;
};
// 超市类
class Supermarket {
public:
// 添加商品
void addProduct(Product product) {
products.push_back(product);
}
// 显示所有商品信息
void showAllProducts() {
for (int i = 0; i < products.size(); i++) {
products[i].getInfo();
cout << endl;
}
}
// 根据名称查找商品
Product* findProductByName(string name) {
for (int i = 0; i < products.size(); i++) {
if (products[i].getName() == name) {
return &products[i];
}
}
return NULL;
}
private:
vector<Product> products;
};
int main() {
// 创建超市实例
Supermarket supermarket;
// 添加商品
Product product1("apple", 2.5, 100);
supermarket.addProduct(product1);
Product product2("orange", 3, 50);
supermarket.addProduct(product2);
// 显示所有商品信息
supermarket.showAllProducts();
// 根据名称查找商品
Product* p = supermarket.findProductByName("apple");
if (p != NULL) {
cout << "Found product: " << p->getName() << endl;
} else {
cout << "Product not found." << endl;
}
return 0;
}
```
这个超市库存管理系统包含两个类:`Product`(商品类)和`Supermarket`(超市类)。
`Product`类表示一个商品,包含名称、价格和数量三个属性,以及获取商品信息、商品名称、商品价格和商品数量四个方法。
`Supermarket`类表示一个超市,包含一个商品列表,以及添加商品、显示所有商品信息和根据名称查找商品三个方法。
在`main()`函数中,首先创建一个`Supermarket`实例,然后添加两个商品,分别为`apple`和`orange`。接着显示所有商品信息,然后根据名称查找商品。如果找到了商品,就输出其名称,否则输出“Product not found.”。
这个超市库存管理系统可以实现添加商品、显示所有商品信息和根据名称查找商品等功能。但是它还有很多不完善的地方,比如没有考虑商品重复添加的情况、没有实现修改商品信息和删除商品等功能。在实际开发中,需要根据实际需求进行扩展和完善。
阅读全文