-1】 基于控制台的购书系统变中国门教育我们正在行 本案例要求,使用所学知识编写一个基于控制台的购书系统,实 现购书功能。程序输出所有图书的信息,包括每本书的编号、书 名、单价、库存。 顾客购书时,根据提示输入图书编号选购需要的书,并根据提示 输入购买书的的数量。购买完毕后输出顾客的订单信息,包括订 单号、订单明细、订单总额。
时间: 2023-05-14 16:04:42 浏览: 102
开发基于控制台的购书系统_java源代码.doc
很高兴为您解答这个问题!以下是一个基于控制台的购书系统的示例代码:
```python
class Book:
def __init__(self, id, name, price, stock):
self.id = id
self.name = name
self.price = price
self.stock = stock
class Order:
def __init__(self, id, book, quantity):
self.id = id
self.book = book
self.quantity = quantity
class BookStore:
def __init__(self):
self.books = [
Book(1, "Python编程从入门到实践", 69.9, 10),
Book(2, "Java核心技术", 89.9, 5),
Book(3, "C++ Primer", 99.9, 3),
Book(4, "算法导论", 129.9, 2),
Book(5, "深入浅出MySQL", 79.9, 8)
]
self.orders = []
self.order_id = 1
def show_books(self):
print("编号\t书名\t\t\t单价\t库存")
for book in self.books:
print(f"{book.id}\t{book.name}\t\t{book.price}\t{book.stock}")
def buy_book(self):
book_id = int(input("请输入要购买的图书编号:"))
book = None
for b in self.books:
if b.id == book_id:
book = b
break
if book is None:
print("没有找到该图书!")
return
quantity = int(input("请输入购买数量:"))
if quantity > book.stock:
print("库存不足!")
return
order = Order(self.order_id, book, quantity)
self.orders.append(order)
self.order_id += 1
book.stock -= quantity
print("购买成功!")
def show_orders(self):
print("订单号\t书名\t\t\t单价\t数量\t总价")
total_price = 0
for order in self.orders:
book = order.book
price = book.price
quantity = order.quantity
order_price = price * quantity
total_price += order_price
print(f"{order.id}\t{book.name}\t\t{price}\t{quantity}\t{order_price}")
print(f"订单总额:{total_price}")
store = BookStore()
store.show_books()
store.buy_book()
store.show_orders()
```
这个程序实现了购书系统的基本功能,包括展示所有图书信息、购买图书、展示订单信息等。您可以根据自己的需求进行修改和扩展。希望能对您有所帮助!
阅读全文