Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

UniVault is a console-based record management and simulation system written in C++. The entire system is built on raw heap memory and pointer arithmetic with no STL containers, no classes, and no structs anywhere in the codebase.

The campus is modeled as a 3D grid allocated entirely on the heap. Every room is accessed through pointer arithmetic only. Grid dimensions are pulled from a config file on startup so nothing is hardcoded.

Records are stored in four parallel dynamic arrays for names, IDs, GPAs, and statuses. Every time a record is added or removed, the arrays grow or shrink manually through a copy-and-grow approach using new and delete. No realloc anywhere.

The simulation engine runs on each step and applies a random outcome to every record in the system. Events are tracked using bitwise flags. When a record graduates, its memory is freed, the arrays compact by shifting indexes, and the grid slot is cleared through a full pointer arithmetic scan.

The live dashboard clears and redraws on every operation showing actual heap memory addresses of room pointers alongside record data, GPA values, and statuses in a formatted console layout.

All state saves to disk and reloads automatically on the next startup. Names are tokenized for file-safe storage and converted back on load.

Technical boundaries enforced throughout: no STL, no classes, no structs, no global variables, no bracket indexing on the grid, no fixed-size name buffers, no realloc, and full heap cleanup before exit.

Stack: C++, manual heap memory, pointer arithmetic, file I/O, bitwise operations

To build and run: g++ -o univault main.cpp ./univault

About

Console-based C++ system for record management and simulation built with heap-allocated 3D grid architecture, dynamic memory, pointer arithmetic, and file persistence.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages