题目描述
图书库存管理系统用于管理图书的库存信息。
编写一个图书库存管理系统,要求如下:
·使用函数完成对程序的模块化
图书信息包括:书名、书号、出版时间、价格、数量
·系统功能:显示书目信息、显示图书库存信息、添加书目信息、修改图书库存库存量
编写思路
我们使用一个列表books
来存储图书信息,每本图书都表示为一个字典,包含书名、书号、出版时间、价格和数量等信息。
然后,我们定义了几个函数来实现不同的功能。display_menu
函数用于显示系统菜单,display_books
函数用于显示所有的书目信息,display_inventory
函数用于显示图书库存信息,add_book
函数用于添加书目信息,modify_inventory
函数用于修改图书库存量。
最后,我们使用一个无限循环来接收用户的选择,并根据选择调用相应的函数。当用户选择退出程序时,循环结束。
源代码
books = []
def display_menu():
print("图书库存管理系统")
print("1. 显示书目信息")
print("2. 显示图书库存信息")
print("3. 添加书目信息")
print("4. 修改图书库存量")
print("0. 退出程序")
def display_books():
if len(books) == 0:
print("暂无书目信息")
else:
print("书名\t书号\t出版时间\t价格\t数量")
for book in books:
print(f"{book['title']}\t{book['isbn']}\t{book['publish_date']}\t{book['price']}\t{book['quantity']}")
def display_inventory():
total_quantity = 0
total_value = 0
if len(books) == 0:
print("暂无图书库存信息")
else:
print("图书库存信息")
print("书名\t数量\t价值")
for book in books:
quantity = book['quantity']
value = book['price'] * quantity
print(f"{book['title']}\t{quantity}\t{value}")
total_quantity += quantity
total_value += value
print(f"总数量: {total_quantity}")
print(f"总价值: {total_value}")
def add_book():
title = input("请输入书名: ")
isbn = input("请输入书号: ")
publish_date = input("请输入出版时间: ")
price = float(input("请输入价格: "))
quantity = int(input("请输入数量: "))
book = {
'title': title,
'isbn': isbn,
'publish_date': publish_date,
'price': price,
'quantity': quantity
}
books.append(book)
print("书目信息已添加")
def modify_inventory():
if len(books) == 0:
print("暂无图书库存信息")
else:
isbn = input("请输入要修改库存量的书号: ")
found = False
for book in books:
if book['isbn'] == isbn:
quantity = int(input("请输入新的库存量: "))
book['quantity'] = quantity
found = True
print("图书库存量已修改")
break
if not found:
print("未找到对应的书号")
while True:
display_menu()
choice = input("请选择功能: ")
if choice == '1':
display_books()
elif choice == '2':
display_inventory()
elif choice == '3':
add_book()
elif choice == '4':
modify_inventory()
elif choice == '0':
print("感谢使用图书库存管理系统,再见!")
break
else:
print("无效的选择,请重新输入")
© 版权声明
本站资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!
THE END