Film-On-A-Whim is a C++ movie discovery application that helps users find random movie recommendations based on a selected genre and IMDb rating range. The project compares two custom data structures—a Max Heap and a B+ Tree—to retrieve matching movies from the same dataset.
- Search for movies by genre
- Filter movies by IMDb rating range
- Receive up to five random movie recommendations
- Compare results from a custom Max Heap and a custom B+ Tree
- Menu-driven command-line interface
This project implements the following data structures from scratch:
- Max Heap
- B+ Tree
The project uses a cleaned IMDb movie dataset (Movies.csv) containing over 100,000 movie records.
Each movie includes:
- Title
- Release year
- Genre(s)
- IMDb rating
- Number of votes
- C++17 or later
- A C++ compiler (Visual Studio, g++, Clang, etc.)
- Clone the repository.
- Open the project in your preferred C++ IDE.
- Place
Movies.csvin the project's root directory (the same folder as the executable). - Build and run the project.
- From the main menu:
- Select Find Movies
- Enter a genre.
- Enter a minimum and maximum IMDb rating.
- View movie recommendations generated by both data structures.
main.cpp– User interface and program flowDataLoader.*– Loads and parses the movie datasetMovie.*– Movie data modelMaxHeap.*– Custom Max Heap implementationbtree.*– Custom B+ Tree implementation
- Alice Krupitsky (@alicekrupitsky)
- Sunay Kanade (@sunayk64)
- Jack Reinhart (@deweyyyyyy)