**See attachment for part of the code (program 2)**
C++ Data Structures Programming Assignment #3Problem StatementYou are to develop a C++ program to read Baseball player statistics from an input file. Each player should be stored in a Player object.This program adds on to the requirements for Program #2(**see attachement). Please see that assignment. This will read in the same type of player data from an input file and write the results to an output file.New RequirementsYou are to re-implement the PlayerList data structure/data type that stores players using a doubly linked-list. Store the players in the list in alphabetical order (By lastname use firstname to further distinguish in the event there is more than 1 player with the same last name).You must implement the same operations on this new version of PlayerList that were required for assignment #2. In addition you will need to add at least two new operations to support the following requirement:We are going to use our player list as a sort of directory or white pages of sorts. Prompt the user to look up a player by first and last name. If the player is found in the list print out only that player’s record. If the player is not found you should print the two nearest players (the 1st one before and the 1st one after) to the desired player. Note – in order for this to work your operations are going to have to have some concept of where the search stops in the list (in the middle at the end etc). You can implement the printer operation as a method on the list so it has this information at its disposal.Some Examples – Suppose I have the following players in my listHank AaronAndruw JonesChipper JonesJohn SmithJosh Thomas If I search for Hank Aaron only Hank Aaron should be displayed as found in the list If I search for Mark Jones then Chipper Jones and John Smith should be displayed as two nearest to the desired information (before and after). If I search for Jack Williams then John Smith and Josh Thomas should be displayed.Prompt the user to perform lookups until the user is ready to quit the program (i.e. use a while loop of some sort).Page 2 of 2Other Requirements: Please make sure that you create a Win32 Console Application in Visual Studio 2012 or 2015. Make sure you create an empty project with no pre-compiled header. Make sure the first comment in your program indicates which version of Visual Studio your project works with. Split your program code files into the appropriate .cpp and .h files for each of your classes. (Exception – your NODE class can be defined in the same file as the PlayerList). Name your project Program3 so I can easily find it on your storage media.String Comparisons in C++http://www.cplusplus.com/reference/string/string/compare/TURN IN:Please turn in a print out of each of your program files. Submit the electronic version of your project on a flash drive or CD/DVD. Make sure your name and the name of the file is in the comments at the top of each program file.Please put your program and media in a clasp envelope. DO NOT FOLD your print out.Grading Requirements Your program must be well-commented. Comment all variables functions and remember to have a section of comments at the top of your program that includes your name date course section and a description of what your program does. Use good variable names. Use good and consistent naming conventions for class members. Use proper code indentation to make sure your program is easy to read and understand. You will receive no more than 50% credit if your program does not compile. If your program compiles but does not execute correctly you will receive no more than 70% credit.