All projects

C++ · 2024

Virtual Restaurant Simulator

A restaurant simulation designed around clean class hierarchies, so new staff roles extend it without rewrites.

When
Jul 2024 to Oct 2024
My role
Team project
Stack
C++ · OOP · Makefile

Problem

Model a working restaurant, staff, menus, orders and inventory, and keep it maintainable as new staff types get added, instead of collapsing into one giant switch statement.

Approach

A 14-class architecture using multi-level inheritance, abstract base classes and virtual methods, so each staff role defines its own behaviour through one shared interface. Adding a role means adding a class, not editing the code that already works.

Inventory, menu and order data persist to three separate files and reload on start, so a session can be saved and resumed. Input validation handles case-insensitive matching, stock caps and low-stock alerts, so malformed input cannot crash it.

Impact

A command-line simulation that runs a full restaurant cycle and stays easy to extend. The project where I learned to think in class boundaries and polymorphism.