超市信息管理系统 功能要求: 1.每一条记录包括一个商品的编号,名称,价格,条形码,进货日期。库存,销售数量。 2.输入功能:可以一次完成若干条记录的输入。 3.显示功能:完成全部记录的显示。 4.查找功能:完成按商品编号查找记录并显示。 5.排序功能:按销售数量从高到低或者按照商品编号进行排序。 6. 插入功能:按编号插入一条记录。 7.将记录保存在文件中。 8. 应提供一个菜单来调用各个功能,调用菜单的界面应尽可能清晰美观。 9.删除功能 10.修改功能 11.代码尽可能高级简洁
时间: 2023-12-06 08:45:35 浏览: 94
超市管理系统功能需求分析
4星 · 用户满意度95%
以下是一个简单的超市信息管理系统的代码实现,实现了所有功能要求:
```python
import csv
class Product:
def __init__(self, id, name, price, barcode, purchase_date, stock, sales):
self.id = id
self.name = name
self.price = price
self.barcode = barcode
self.purchase_date = purchase_date
self.stock = stock
self.sales = sales
def to_list(self):
return [self.id, self.name, self.price, self.barcode, self.purchase_date, self.stock, self.sales]
class Supermarket:
def __init__(self):
self.products = []
def load_from_file(self, filename):
self.products = []
with open(filename, 'r', newline='') as f:
reader = csv.reader(f)
for row in reader:
product = Product(*row)
self.products.append(product)
def save_to_file(self, filename):
with open(filename, 'w', newline='') as f:
writer = csv.writer(f)
for product in self.products:
writer.writerow(product.to_list())
def add_product(self, product):
self.products.append(product)
def remove_product(self, id):
for product in self.products:
if product.id == id:
self.products.remove(product)
return True
return False
def find_product_by_id(self, id):
for product in self.products:
if product.id == id:
return product
return None
def sort_by_sales(self):
self.products.sort(key=lambda x: x.sales, reverse=True)
def sort_by_id(self):
self.products.sort(key=lambda x: x.id)
def insert_product(self, product):
for i in range(len(self.products)):
if self.products[i].id > product.id:
self.products.insert(i, product)
return
self.products.append(product)
def modify_product(self, id, name, price, barcode, purchase_date, stock, sales):
product = self.find_product_by_id(id)
if product:
product.name = name
product.price = price
product.barcode = barcode
product.purchase_date = purchase_date
product.stock = stock
product.sales = sales
return True
return False
if __name__ == '__main__':
market = Supermarket()
market.load_from_file('products.csv')
while True:
print('超市信息管理系统')
print('1. 输入商品信息')
print('2. 显示全部商品信息')
print('3. 按编号查找商品信息')
print('4. 按销量排序')
print('5. 按编号排序')
print('6. 插入商品信息')
print('7. 删除商品信息')
print('8. 修改商品信息')
print('9. 保存并退出')
choice = input('请输入要执行的操作(1-9): ')
if choice == '1':
count = int(input('请输入要输入的商品数量: '))
for i in range(count):
id = input('请输入商品编号: ')
name = input('请输入商品名称: ')
price = float(input('请输入商品价格: '))
barcode = input('请输入商品条形码: ')
purchase_date = input('请输入进货日期: ')
stock = int(input('请输入库存: '))
sales = int(input('请输入销售数量: '))
product = Product(id, name, price, barcode, purchase_date, stock, sales)
market.add_product(product)
elif choice == '2':
for product in market.products:
print(product.to_list())
elif choice == '3':
id = input('请输入要查找的商品编号: ')
product = market.find_product_by_id(id)
if product:
print(product.to_list())
else:
print('没有找到该商品')
elif choice == '4':
market.sort_by_sales()
for product in market.products:
print(product.to_list())
elif choice == '5':
market.sort_by_id()
for product in market.products:
print(product.to_list())
elif choice == '6':
id = input('请输入要插入的商品编号: ')
name = input('请输入商品名称: ')
price = float(input('请输入商品价格: '))
barcode = input('请输入商品条形码: ')
purchase_date = input('请输入进货日期: ')
stock = int(input('请输入库存: '))
sales = int(input('请输入销售数量: '))
product = Product(id, name, price, barcode, purchase_date, stock, sales)
market.insert_product(product)
elif choice == '7':
id = input('请输入要删除的商品编号: ')
if market.remove_product(id):
print('删除成功')
else:
print('没有找到该商品')
elif choice == '8':
id = input('请输入要修改的商品编号: ')
product = market.find_product_by_id(id)
if product:
name = input('请输入商品名称: ')
price = float(input('请输入商品价格: '))
barcode = input('请输入商品条形码: ')
purchase_date = input('请输入进货日期: ')
stock = int(input('请输入库存: '))
sales = int(input('请输入销售数量: '))
if market.modify_product(id, name, price, barcode, purchase_date, stock, sales):
print('修改成功')
else:
print('修改失败')
else:
print('没有找到该商品')
elif choice == '9':
market.save_to_file('products.csv')
print('保存成功')
break
input('按回车键继续...')
```
需要注意的是,上述代码中使用了 Python 自带的 csv 模块来读写 csv 文件,需要先导入该模块。此外,代码中的 Product 类和 to_list 方法可以使代码更加简洁易读。
阅读全文