-
Notifications
You must be signed in to change notification settings - Fork 1
/
alternate.py
110 lines (99 loc) · 3.84 KB
/
alternate.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
import tkinter as tk
import pyttsx3
from datetime import datetime
class Item:
def _init_(self, item_id, name, price, quantity):
self.item_id = item_id
self.name = name
self.price = price
self.quantity = quantity
class ShoppingCart:
def _init_(self):
self.items = []
def add_item(self, item, quantity):
self.items.append({"item": item, "quantity": quantity})
def calculate_total(self):
total = 0
for item in self.items:
total += item["item"].price * item["quantity"]
return total
class ShoppingApp:
def _init_(self, root):
self.root = root
self.root.title("Shopping Mall Management System")
self.cart = ShoppingCart()
self.sales = 0
self.purchase_date = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
self.items = [
Item(1, "Item A", 10.0, 50),
Item(2, "Item B", 5.0, 30)
]
import tkinter as tk
from datetime import datetime
class Item:
def _init_(self, item_id, name, price, quantity):
self.item_id = item_id
self.name = name
self.price = price
self.quantity = quantity
class ShoppingCart:
def _init_(self):
self.items = []
def add_item(self, item, quantity):
self.items.append({"item": item, "quantity": quantity})
def calculate_total(self):
total = 0
for item in self.items:
total += item["item"].price * item["quantity"]
return total
class ShoppingApp:
def _init_(self, root):
self.root = root
self.root.title("Shopping Mall Management System")
self.cart = ShoppingCart()
self.sales = 0
self.purchase_date = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
self.items = [
Item(1, "Item A", 10.0, 50),
Item(2, "Item B", 5.0, 30)
]
self.create_ui()
def create_ui(self):
tk.Label(self.root, text="Select Item:").pack()
self.item_var = tk.StringVar()
self.item_var.set(self.items[0].name)
item_options = [item.name for item in self.items]
item_dropdown = tk.OptionMenu(self.root, self.item_var, *item_options)
item_dropdown.pack()
tk.Label(self.root, text="Quantity:").pack()
self.quantity_entry = tk.Entry(self.root)
self.quantity_entry.pack()
add_to_cart_button = tk.Button(self.root, text="Add to Cart", command=self.add_to_cart)
add_to_cart_button.pack()
calculate_sales_button = tk.Button(self.root, text="Calculate Sales", command=self.calculate_sales)
calculate_sales_button.pack()
self.invoice_text = tk.Text(self.root, height=10, width=40)
self.invoice_text.pack()
def add_to_cart(self):
selected_item_name = self.item_var.get()
quantity = int(self.quantity_entry.get())
selected_item = next(item for item in self.items if item.name == selected_item_name)
self.cart.add_item(selected_item, quantity)
self.update_invoice()
def update_invoice(self):
self.invoice_text.delete(1.0, tk.END)
self.invoice_text.insert(tk.END, "Invoice:\n")
for item in self.cart.items:
self.invoice_text.insert(tk.END, f"{item['item'].name} - Quantity: {item['quantity']} - Price: ${item['item'].price * item['quantity']:.2f}\n")
self.invoice_text.insert(tk.END, f"Total: ${self.cart.calculate_total():.2f}\n")
self.invoice_text.insert(tk.END, f"Date of Purchase: {self.purchase_date}")
def calculate_sales(self):
self.sales += self.cart.calculate_total()
self.purchase_date = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
self.cart = ShoppingCart()
self.update_invoice()
print(f"Total Sales: ${self.sales:.2f}")
if _name_ == "_main_":
root = tk.Tk()
app = ShoppingApp(root)
root.mainloop()