电子商品库存管理系统:编写一个电子商品库存管理系统,可以记录商品的名称、价
时间: 2023-11-07 14:04:47 浏览: 169
Qt实现的超市商品库存管理系统
格、数量等信息,并支持增加、删除、修改商品信息,以及查询商品信息和统计库存总量。系统可以使用文件来保存和读取商品信息,也可以使用数据库来实现。
以下是一个简单的电子商品库存管理系统的程序示例,使用Python语言实现:
```python
import json
# 商品类
class Product:
def __init__(self, name, price, quantity):
self.name = name
self.price = price
self.quantity = quantity
def to_dict(self):
return {"name": self.name, "price": self.price, "quantity": self.quantity}
def __str__(self):
return f"{self.name} 价格:{self.price} 数量:{self.quantity}"
# 商品管理类
class ProductManager:
def __init__(self):
self.products = []
# 从文件中读取商品信息
def read_from_file(self, file_path):
with open(file_path, "r") as f:
data = json.load(f)
for p in data:
product = Product(p["name"], p["price"], p["quantity"])
self.products.append(product)
# 将商品信息写入文件
def write_to_file(self, file_path):
data = [p.to_dict() for p in self.products]
with open(file_path, "w") as f:
json.dump(data, f)
# 增加商品
def add_product(self, product):
self.products.append(product)
# 删除商品
def remove_product(self, name):
for p in self.products:
if p.name == name:
self.products.remove(p)
break
# 修改商品
def update_product(self, name, price, quantity):
for p in self.products:
if p.name == name:
p.price = price
p.quantity = quantity
break
# 查询商品
def query_product(self, name):
for p in self.products:
if p.name == name:
return p
return None
# 统计库存总量
def total_quantity(self):
return sum([p.quantity for p in self.products])
# 主程序
if __name__ == "__main__":
# 创建商品管理对象
manager = ProductManager()
# 从文件中读取商品信息
manager.read_from_file("products.json")
while True:
# 显示菜单
print("1. 增加商品")
print("2. 删除商品")
print("3. 修改商品")
print("4. 查询商品")
print("5. 统计库存总量")
print("6. 保存商品信息并退出")
# 获取用户选择
choice = input("请选择操作:")
if choice == "1":
name = input("请输入商品名称:")
price = float(input("请输入商品价格:"))
quantity = int(input("请输入商品数量:"))
product = Product(name, price, quantity)
manager.add_product(product)
print("商品添加成功!")
elif choice == "2":
name = input("请输入要删除的商品名称:")
manager.remove_product(name)
print("商品删除成功!")
elif choice == "3":
name = input("请输入要修改的商品名称:")
price = float(input("请输入新的商品价格:"))
quantity = int(input("请输入新的商品数量:"))
manager.update_product(name, price, quantity)
print("商品修改成功!")
elif choice == "4":
name = input("请输入要查询的商品名称:")
product = manager.query_product(name)
if product:
print(product)
else:
print("没有找到该商品!")
elif choice == "5":
total = manager.total_quantity()
print(f"库存总量为:{total}")
elif choice == "6":
# 将商品信息写入文件
manager.write_to_file("products.json")
print("商品信息保存成功,程序退出!")
break
else:
print("无效的选择,请重新输入!")
```
该程序使用了面向对象的编程方法,定义了一个`Product`类和一个`ProductManager`类,分别表示商品和商品管理功能。其中,`Product`类包含商品的名称、价格和数量等信息,并提供了将商品信息转换为字典格式的方法;`ProductManager`类包含了增加、删除、修改、查询和统计库存总量等功能,使用一个列表来存储所有商品信息,并支持从文件中读取和保存商品信息。
在主程序中,首先创建了一个`ProductManager`对象,然后显示菜单供用户选择,根据用户的选择调用相应的方法来执行相应的功能。具体实现方法如下:
1. 增加商品:用户输入商品的名称、价格和数量等信息,创建一个`Product`对象,并将其添加到`ProductManager`对象的商品列表中。
2. 删除商品:用户输入要删除的商品名称,查找商品列表中是否存在该商品,如果存在则将其从列表中删除。
3. 修改商品:用户输入要修改的商品名称、新的价格和数量等信息,查找商品列表中是否存在该商品,如果存在则更新其价格和数量。
4. 查询商品:用户输入要查询的商品名称,查找商品列表中是否存在该商品,如果存在则显示商品的详细信息。
5. 统计库存总量:计算所有商品的数量总和,并显示出来。
6. 保存商品信息并退出:将所有商品信息保存到文件中,然后退出程序。
阅读全文