C++ Project: Movie Database with Binary Search Tree Implementation

Verified

Added on  2023/04/11

|8
|598
|172
Project
AI Summary
This C++ project develops a movie database application using a binary search tree for efficient data storage and retrieval. The application allows users to browse film titles and information, including film rank, title, producing studio, total gross, and theater details. The program features a menu-driven interface for reports and searches, utilizing classes such as Film and FilmDatabase to manage film data. The project also includes file handling for loading movie statistics from a file and provides search functionalities based on studio, release month, or title keywords. The binary tree structure ensures faster and more efficient search operations.
Document Page
[Date]
Movie Project
[Document subtitle]
mukesh bhardwaj
[company name]
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Contents
Executive Summary...............................................................................................................................2
How to run the code..............................................................................................................................4
Output Screen........................................................................................................................................5
Coding...................................................................................................................................................6
Conclusion............................................................................................................................................7
References.............................................................................................................................................7
Document Page
Executive Summary
In this project we develop an application for see the movie information . This project
having menu file is a main file for r movie title browsing the film titles along with the
following information: This program allows us to search and generate reports on the top
grossing films of 2016. The films are stored in a database implemented with a Binary Search
Tree.
To launch the program, c, run the 'make' command in the root directory, and execute the
program named 'filmz'.
This project using film.excel file for data information
Binary Tree is using therefore Search is faster and efficient
1. Film Rank (by total gross)
2. Film Title
3. Producing Studio
4. Total Gross
5. Total theaters which Showed the Film
6. Opening Weekend Gross
7. Total Theaters which Showed the Film Opening Weekend Opening Data
8. Filmz allows you to generate reports of all movies based on rank and alphabetical
ordering by title.
9. filmz also gives you the ability to search for films by:
Document Page
10. Producing Studio, Month of Release, or Title Name (full name or keywords)
Menu.cpp
In the main program showing the menu for movie project showing main menu and select the
option according to requirement.
A - About the Application
R - Reports
S - Search the Database
X - Exit the Program
Filmz.cpp
This file contains the main() function to drive the filmz application. filmz is a movie
browsing application. It loads a list of movie statistics into a database, which is built using a
binary search tree. The database is interfaced through a Menu, which holds a reference to the
database and calls the database's public methods based on user input.
We define class Film
The Film class stores the following statistics for a film:
Rank(by Total Gross), Title, Studio, Total Gross, Total Theaters,
Opening Gross, Opening Theaters, Opening Date.
Film objects will be used by the FilmDatabase class to store
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
films in the nodes of a Binary Search Tree.
class FilmDatabase
This class creates a database to hold films in a binary search tree.
The Film class is used to store the film objects, which are stored in
the nodes of the tree.
Binary search tree to hold films
Helper method to displayReport()
When rank is passed to displayReport(), searchRank() is called.
This method sets the public static variable Film::rankSearchValue to the
value passed as an argument and displays the film record if a match
is found.
How to run the code
run the 'make' command in the root directory,
and execute the program named 'filmz'.
Document Page
Output Screen
Document Page
Coding
class Film
Default Film Constructor
Film();
Film(int rank, string title, string studio, double totalGross, int totalTheaters, double openingGross, int
openingTheaters,
string openingDate);
Film(const string inputLine);
int getRank();
string getTitle();
string getStudio();
string getOpeningDate();
void displayFilmData();
bool operator<(const Film& rightOperand);
bool operator>(const Film& rightOperand);
bool operator==(const Film& rightOperand);
Film database
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
class FilmDatabase
void searchRank(int rank);
void searchTitle(string title);
void searchStudio(string studio);
void searchKeywords(string keywords);
void add(const Film& aFilm);
FilmDatabase();
FilmDatabase(const string filename);
void displayReport(const string orderBy) throw(PrecondViolatedExcep);
void displaySearch(const string searchType, const string queryString) throw(PrecondViolatedExcep);
Menu.h
class Menu
void aboutApplication();
void reportMenu();
void searchMenu();
Menu(FilmDatabase& filmDB);
void mainMenu();
Conclusion
In this project we design and develop a movie project that designed and developed using file
handling concept .This project we design in C++ using oops feature. Since we are using
binary tree for store information about movie therefore searching is easy.
References
https://en.cppreference.com/w/cpp/language/reference
https://www.tutorialspoint.com/cplusplus/cpp_references.htm
https://www.learncpp.com/cpp-tutorial/15-2-rvalue-references/
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2027.html
chevron_up_icon
1 out of 8
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]