In deze oefening moet je een voorraadbeheersysteem implementeren met behulp van stacks. Het doel is om realistische voorraadoperaties te simuleren, waarbij producten in batches worden beheerd en het Last-In-First-Out (LIFO)-principe wordt toegepast. Deze aanpak weerspiegelt scenario’s waarin de meest recent toegevoegde voorraad als eerste wordt gebruikt, zoals bij duurzame goederen.

Inventory

Implementeer de Inventory_Manager klasse (11 punten)

Maak de Inventory_Manager klasse (1 punt) die de voorraad beheert voor meerdere producten. Elk object bevat een woordenboek van producten waarbij product_name als sleutel wordt gebruikt.

Deze klasse moet de volgende methoden bevatten:

Product [product_name] already exists.
Product [product_name] not found
[product_name],[batch_quantity],[batch_cost_per_unit]
Current Inventory:
Product Widget:
 Batch(quantity=100, cost_per_unit=2.5)
 Batch(quantity=50, cost_per_unit=2.0)

Product Gadget:
 Batch(quantity=70, cost_per_unit=3.0)

Test je code (2 punten)

Voeg een main-methode toe die twee producten toevoegt en voor elk product minimaal 2 batches. Print vervolgens je voorraad, simuleer vraag en sla je voorraad op in een CSV-bestand.