Waiting for answer This question has not been answered yet. You can hire a professional tutor to get the answer.

QUESTION

cpp for calling all the functions. I have all the functions defined I just need the program to do the following: You will read in actor-actress.

For this i need help filling out the main.cpp for calling all the functions. I have all the functions defined I just need the program to do the following:

R1: You will read in actor-actress.csv which is formatted as a csv file (Ask the user for the file name). Then place the items in a Binary Search Tree, sorted by name.

This is a common format and is comma separated (instead of being on separate lines). So you will have comma's between the values. Blank values will just have a comma noting to go to the next field. (so you may have value,, indicating a blank field.) Each line ends in a newline, not a comma.

R3: Choose actor or movie database and add a record

R4: Choose actor or movie database, search for a record, and modify the fields.

R5: Choose actor or movie database, search for a record and delete the fields.

R6: Choose actor or movie database and sort by any single (sortable) field

R7: export to .csv file

Here is my Code:

Main.cpp

; {ActorBST actor ; mainMenuInput; userInputSearch; userInputAdd; userInputModify; userInputDelete; userInputExport; { << << ; << << ; << << ; << << ; << << ; << << ; << << ; << << ; << << ; >> mainMenuInput; (mainMenuInput == ) { << << ; << << ; << << ; >> userInputSearch; (userInputSearch == ) { << << ;} (userInputSearch == ) { << << ;} { << << ; >> userInputSearch;}} (mainMenuInput == ) { << << ; << << ; << << ; >> userInputAdd; (userInputAdd == ) { << << ;NodeActor *b;} (userInputAdd == ) { << << ;} { << << ; >> userInputAdd;}} (mainMenuInput == ) { << << ; << << ; << << ; >> userInputModify; (userInputModify == ) { << << ;} (userInputModify == ) { << << ;} { << << ; >> userInputModify;}} (mainMenuInput == ) { << << ; << << ; << << ; >> userInputDelete; (userInputDelete == ) { << << ;} (userInputDelete == ) { << << ;} { << << ; >> userInputDelete;}} (mainMenuInput == ) { << << ; << << ; << << ; >> userInputExport; (userInputExport == ) { << << ;} (userInputExport == ) { << << ;}} (mainMenuInput==){ <<;actor.readInFile();} (mainMenuInput == ) { << ;} { << << ; >> mainMenuInput;}} (mainMenuInput !=); ;}

Actor-Actress.h

; NodeActor{ year; award; winner; name; film;NodeActor* parentNode;NodeActor* leftNode;NodeActor* rightNode;NodeActor(){};NodeActor( _year, _award, _winner, _name, _film){year=_year;award=_award;winner=_winner;name=_name;film=_film;parentNode = ;leftNode = ;rightNode = ;}}; ActorBST{:ActorBST(); ~ActorBST(); ; ; name); year, award, winner, name, film); name); ; ;: ; ;/*void FixAfterAdd(NodeMovie *node);void DeleteMovieNode(NodeMovie *del);void FixAfterDelete(NodeMovie *node);int isValid(NodeMovie *node);*/ name); name);;NodeActor* root;NodeActor* null;};

Actor-Actress.cpp

using ;ActorBST :: ActorBST(){root = nullptr;}ActorBST ::~ActorBST(){DeleteTree(root);}void ActorBST::printActor(){PrintActor(root);}void ActorBST::deleteActorNode(string name) {auto node = search(name); (!node) {cout << << endl;;} (!node->leftNode && !node->rightNode) { (node->parentNode) { (node->parentNode->leftNode == node) {node->parentNode->leftNode = nullptr;} {node->parentNode->rightNode = nullptr;}delete node;;}} (node->leftNode && !node->rightNode){node->leftNode->parentNode = node->parentNode; (node->parentNode) { (node->parentNode->leftNode == node) {node->parentNode->leftNode = node->leftNode;} {node->parentNode->rightNode = node->leftNode;}}{root = root->leftNode;}delete node;;}(!node->leftNode && node->rightNode){node->rightNode->parentNode=node->parentNode; (node->parentNode){ (node->parentNode->leftNode==node){node->parentNode->leftNode=node->rightNode;}{node->parentNode->rightNode=node->rightNode;}}{root=root->rightNode;}delete node;;}auto minNode = treeMinimum(node->rightNode);node->year=minNode->year;node->award=minNode->award;node->winner=minNode->winner;node->name=minNode->name;node->film=minNode->film; (minNode->rightNode){minNode->parentNode->rightNode=minNode->parentNode;} (node->rightNode==minNode){node->rightNode=minNode->rightNode;delete minNode;;}minNode->parentNode->leftNode=minNode->rightNode;delete minNode;}void ActorBST::addActorNode(string year, string award, string winner, string name, string film){auto node = NodeActor(year, award, winner, name, film);(!root){root=node;;}auto *temp= root;NodeActor* parentNode= nullptr;(temp){parentNode=temp; (name > temp->name){temp=temp->rightNode;}{temp=temp->leftNode;}}node->parentNode=parentNode; (name > parentNode->name){parentNode->rightNode=node;}{parentNode->leftNode=node;}}void ActorBST::findActorNode(string name){auto foundActor=search(name); (!foundActor){cout << << endl;}{cout << <<endl;cout << << foundActor->year<<endl;cout << << foundActor->award<<endl;cout << << foundActor->winner<< endl;cout << << foundActor->name<<endl;cout << << foundActor->film<< endl;}}void ActorBST::DeleteTree(NodeActor *node){ (!node){;}DeleteTree(node->leftNode);DeleteTree(node->rightNode);cout << << node->name <<endl;delete node;node= nullptr;}void ActorBST::PrintActor(NodeActor *node){ (!node){;}PrintActor(node->leftNode);cout << << node->name<< endl;PrintActor(node->rightNode);}NodeActor* ActorBST::search(string name){ searchActorBSTRecursive(root, name);}NodeActor* ActorBST::searchActorBSTRecursive(NodeActor *node, string value){ (!node){ nullptr;} (node->name==value){ node;} (value >node->name){ searchActorBSTRecursive(node->rightNode, value);}{ searchActorBSTRecursive(node->leftNode, value);}}NodeActor* ActorBST::treeMinimum(NodeActor *node){ (!node){ nullptr;}(node->leftNode){node=node->leftNode;} node;}void ActorBST::readInFile() {string filename;cout <<;cin >> filename;ifstream infile(filename);string header, year, award, winner, name, film;getline(infile, header); (!infile){cout << ;;} (getline(infile, year, )){getline(infile, award, );getline(infile, winner, );getline(infile, name, );getline(infile, film);NodeActor *actor = NodeActor(year, award, winner, film, name);addActorNode(year, award, winner, film, name);}PrintActor(root);}

Movie.h

; NodeMovie{ name; year; nominations; rating; duration; genre1; genre2; release; metacritic; synopsis; isRead;NodeMovie* parentNode;NodeMovie* leftNode;NodeMovie* rightNode;NodeMovie(){};NodeMovie( _name, _year, _nominations, _rating, _duration, _genre1, _genre2, _release, _metacritic, _synopsis){name = _name;year = _year;nominations = _nominations;rating = _rating;duration = _duration;genre1 = _genre1;genre2 = _genre2;release = _release;metacritic = _metacritic;synopsis = _synopsis;parentNode = ;leftNode = ;rightNode = ;isRead = ;}}; MovieBST{:MovieBST(); ~MovieBST(); ; name); name, year, nominations, rating, duration, genre1, genre2, release, metacritic, synopsis ); name); ;: ; ; name); name);;NodeMovie* root;NodeMovie* null;};

Movie.cpp

using ;MovieBST :: MovieBST(){root = nullptr;}MovieBST ::~MovieBST(){DeleteTree(root);}void MovieBST::printMovie(){PrintMovie(root);}void MovieBST::deleteMovieNode(string name) {auto node = search(name); (!node) {cout << << endl;;} (!node->leftNode && !node->rightNode) { (node->parentNode) { (node->parentNode->leftNode == node) {node->parentNode->leftNode = nullptr;} {node->parentNode->rightNode = nullptr;}delete node;;}} (node->leftNode && !node->rightNode){node->leftNode->parentNode = node->parentNode; (node->parentNode) { (node->parentNode->leftNode == node) {node->parentNode->leftNode = node->leftNode;} {node->parentNode->rightNode = node->leftNode;}}{root = root->leftNode;}delete node;;}(!node->leftNode && node->rightNode){node->rightNode->parentNode=node->parentNode; (node->parentNode){ (node->parentNode->leftNode==node){node->parentNode->leftNode=node->rightNode;}{node->parentNode->rightNode=node->rightNode;}}{root=root->rightNode;}delete node;;}auto minNode = treeMinimum(node->rightNode);node->name=minNode->name;node->year=minNode->year;node->nominations=minNode->nominations;node->rating=minNode->rating;node->duration=minNode->duration;node->genre1=minNode->genre1;node->genre2=minNode->genre2;node->release=minNode->release;node->metacritic=minNode->metacritic;node->synopsis=minNode->synopsis; (minNode->rightNode){minNode->parentNode->rightNode=minNode->parentNode;} (node->rightNode==minNode){node->rightNode=minNode->rightNode;delete minNode;;}minNode->parentNode->leftNode=minNode->rightNode;delete minNode;}void MovieBST::addMovieNode(string name, string year, string nominations, string rating, string duration, string genre1,string genre2, string release, string metacritic, string synopsis){auto node = NodeMovie(name, year,nominations,rating,duration,genre1,genre2,release,metacritic,synopsis );(!root){root=node;;}auto *temp= root;NodeMovie* parentNode= nullptr;(temp){parentNode=temp; (name > temp->name){temp=temp->rightNode;}{temp=temp->leftNode;}}node->parentNode=parentNode; (name > parentNode->name){parentNode->rightNode=node;}{parentNode->leftNode=node;}}void MovieBST::findMovieNode(string name){auto foundMovie=search(name); (!foundMovie){cout << << endl;}{cout << <<endl;cout << << foundMovie->name<<endl;cout << << foundMovie->year<<endl;cout << << foundMovie->nominations<<endl;cout << << foundMovie->rating<< endl;cout << << foundMovie->duration<< endl;cout << << foundMovie->genre1<< endl;cout << << foundMovie->genre2<< endl;cout << << foundMovie->release<< endl;cout << << foundMovie->synopsis<< endl;}}void MovieBST::DeleteTree(NodeMovie *node){ (!node){;}DeleteTree(node->leftNode);DeleteTree(node->rightNode);cout << << node->name <<endl;delete node;node= nullptr;}void MovieBST::PrintMovie(NodeMovie *node){ (!node){;}PrintMovie(node->leftNode);cout << << node->name<< endl;PrintMovie(node->rightNode);}NodeMovie* MovieBST::search(string name){ searchMovieBSTRecursive(root, name);}NodeMovie* MovieBST::searchMovieBSTRecursive(NodeMovie *node, string value){ (!node){ nullptr;} (node->name==value){ node;} (value >node->name){ searchMovieBSTRecursive(node->rightNode, value);}{ searchMovieBSTRecursive(node->leftNode, value);}}NodeMovie* MovieBST::treeMinimum(NodeMovie *node){ (!node){ nullptr;}(node->leftNode){node=node->leftNode;} node;}
Show more
LEARN MORE EFFECTIVELY AND GET BETTER GRADES!
Ask a Question