Skip to content

Latest commit

 

History

History
26 lines (21 loc) · 1.52 KB

README.md

File metadata and controls

26 lines (21 loc) · 1.52 KB

RUHungry

Overview

RU Hungry is a Java-based restaurant management simulation where you manage a fictional restaurant by handling the menu, stock, transactions, and guests. The project involves hash tables, separate chaining, object referencing, and OOP principles. Your task is to run RU Hungry for a day by seating guests, taking orders, managing donations, and restocking the pantry.

Features

  • Menu Management: Create and manage the restaurant's menu using hash tables and linked lists.
  • Stock Management: Handle the stockroom inventory with efficient searching, adding, and updating using hash tables with chaining.
  • Transactions: Record all transactions (orders, donations, restocks) in a linked list for end-of-day receipts.
  • Seating Guests: Efficiently seat guests based on table availability and manage the waiting queue.
  • Order Processing: Check dish availability and process customer orders, including handling out-of-stock scenarios.
  • Donations: Manage donations to the Rutgers Pantry, ensuring sufficient profit for donations to occur.

Data Structures

  • 1D Arrays: For restaurant seating and menu categories.
  • Hash Tables: For managing stock with ingredient IDs as keys.
  • Linked Lists: For menu items, stock items, and transactions.
  • Queues: For managing the waiting list of guests.

Concepts Covered

  • Object-Oriented Programming (OOP)
  • Hash Tables and Separate Chaining
  • Linked Lists and Queues
  • File I/O for reading input files
  • Efficient searching and updating mechanisms