Overloaded Cook is a C++ simulation system designed to model real-time task scheduling, user progression, and persistent data management. While presented in the form of a restaurant simulation, the project demonstrates advanced use of object-oriented programming (OOP), file I/O streams, and event handling to replicate real-world scheduling and state management challenges.
- Event Handling Engine – Processes dynamic in-game events and schedules tasks in real time.
- Polymorphic Class Design – Implements a hierarchy of task objects (e.g., dishes, actions, quotas) using OOP principles.
- Progression & XP System – Tracks user performance, experience, and skill growth through configurable metrics.
- Daily Quota Simulation – Users must complete a defined set of tasks under constraints, modeling real-world scheduling systems.
- File I/O Persistence – Save and load functionality using C++ file streams ensures session continuity and replayability.
- Scalable Architecture – Easily extendable to add new event types, task categories, or progression models.
- Language: C++17
- Core Concepts: Object-Oriented Programming, Polymorphism, Inheritance, File I/O Streams, Event-Driven Simulation
- Interface: Console-based CLI
Clone the repository:
git clone https://github.com/usmaan677/File-I-O-Simulation-System.git
cd File-I-O-Simulation-SystemCompile the project using g++ (or your preferred compiler):
g++ -std=c++17 main.cpp -o overloaded_cook
Run the program:
./overloaded_cook
-
**The system generates dynamic events representing scheduled tasks.
-
**Users interact through text-based prompts, selecting which tasks to prioritize.
-
**XP and proficiency metrics are updated automatically.
-
**Progress and state are saved to external files for future sessions.