This project is a C++-based inventory and purchase management system, designed to manage purchase orders, sales, and supplier records. It implements Object-Oriented Programming (OOP) principles to enhance system structure and efficiency. The system consists of three main user roles:
- Admin (manages users and has full system control)
- Purchase Manager (handles purchase orders and supplier interactions)
- Sales Manager (manages sales records and inventory)
- To develop a structured and efficient inventory system using C++ and OOP concepts.
- To automate purchase order management, sales tracking, and supplier handling.
- To enhance programming skills in C++ and learn data handling techniques.
User Authentication & Roles
- The system starts with a login screen for Admin, Sales Manager, and Purchase Manager.
- Admin can create new users and assign access levels.
- User Authentication & RolesThe system starts with a login screen for Admin, Sales Manager, and Purchase Manager.Admin can create new users and assign access levels.
Purchase Management
- Purchase managers can generate and modify purchase orders.
- Suppliers and item details are stored and updated as needed.
- Purchase ManagementPurchase managers can generate and modify purchase orders.Suppliers and item details are stored and updated as needed.
Sales Management
- Sales managers can add, edit, or delete sales records.
- The system tracks item stock and transactions.
- Sales ManagementSales managers can add, edit, or delete sales records.The system tracks item stock and transactions.
File Storage & Data Handling
The system saves data into text files, including:
users.txt
(stores user credentials and roles)items.txt
(stores inventory data)suppliers.txt
(supplier details)sales.txt
(sales transaction history)purchase_orders.txt
(purchase orders management
Implementation of OOP Concepts
- Encapsulation: Hides data inside classes (e.g., User, Supplier).
- Inheritance: Classes like SalesEntry, PurchaseOrder inherit base FileManager.
- Polymorphism: A method (
HandleUserInput
) behaves differently based on user role. - Abstraction: Hides implementation details, only exposing necessary methods.
23 projects • 3 followers
Final-year Computer Engineering student at APU with a focus on software development and robotics.
Comments
Please log in or sign up to comment.