Please need help on following program using c++ language. Please include all header files and main file with their own title. Extend the class linkedListType by adding the following operations: Write a function that returns the info of the kth element of the linked list. If no such element exists, terminate the program. Write a function that deletes the kth element of the linked list. If no such element exists, terminate the program. Provide the definitions of these functions in the class linkedListType. Also, write a program to test these functions. (Use either the class unorderedLinkedList or the class orderedLinkedList to test your function.) Solution C++ Code for the given problem is below..... ..................................................... /* * C++ Program to Implement Singly Linked List */ #include #include #include //using namespace std; /* * Node Declaration */ typedef struct nodetype { int info; nodetype *next ; } node; /* * Class Declaration */ class linkedListType { public: void insfrombeg( node **head, int); void delfromkth(node **head,int); void findthekthnode(node *head,int); void traverse(node *head); int item,ch,kth; node *ptr,*head,*temp; }; /* * Main :contains menu */ void main() { int item,ch,kth; node *ptr,*head,*temp; linkedListType s1; clrscr(); while (1) { while(1) { cout<<\"PRESS (1) FOR INSERT INTO LIST\"<>ch; switch(ch) { case 1: cout<<\"ENTER THE VALUE \"<>item; s1.insfrombeg(&head,item); break; case 2: s1.traverse(head); break; case 3: cout<<\"ENTER THE Kth Element which you want\'s to delete\"<>kth; s1.delfromkth(&head,kth); break; case 4: cout<<\"ENTER THE Kth Element which you want\'s to search \ \"<>kth; s1.findthekthnode(head,kth); break; case 5: exit(1); } } // getch(); } } /* * Inserting element in beginning */ void linkedListType::insfrombeg(node **head,int item) { temp= ( node * ) malloc (sizeof( node )); temp->info= item; temp->next= NULL; if(*head == NULL) { temp->next= *head; *head= temp; } else { temp->next= *head; *head= temp; } } /* * Delete element at a given position */ void linkedListType::delfromkth(node **head,int kth) { node* temp1=*head,*temp2; if(*head ==NULL) { cout<<\"LINK LIST IS EMPTY\ \"<next; free(temp); } else for(int j=0;jnext; temp2= temp1->next; temp1->next=temp2->next; free(temp2); } /* * Searching an element */ void linkedListType::findthekthnode(node *head,int kth) { ptr=head; int i=1; while((ptr!=NULL)) { if(i==kth) { cout<<\"\ The Element at\"<< kth<< \"position with value is \\t \"<info<info<next; i++; } } } /* * Traverse Link List */ void linkedListType::traverse(node *head) { ptr = head; while((ptr->next)->next!=NULL) { cout<info<<\"\\t\"; ptr=ptr->next; } cout< #include #include typedef struct nodetype { int info; nodetype *next ; } node; int item,ch,kth,total=1; node *ptr,*head,*temp; void insfrombeg( node **head, int); void delfromkth(node **head,int); void findthekthnode(node *head,int); void traverse(node *head); void main() { clrscr(); while(1) { printf(\"PRESS .