File Type: cpp Add the following to your linked list of strings program: 1. allow the user to search for an item (indicate the result of the search) 2. allow the user to insert an item (print the linked list after insertion) 3. allow the user to delete an item (print the linked list after deletion) Here\'s the program I need to have remodified for this assignment as shown below. #include #include #include using namespace std; int main() { struct nodeType { string info; nodeType *link; }; nodeType *first, *newNode, *last; string x; //string input variable cout << \"Enter a string of some kind. Enter \'Done\' when finished.\" << endl; getline(cin, x); first = NULL; last = NULL; while (x != \"Done\") { newNode = new nodeType; newNode->info = x; newNode->link = NULL; if (first == NULL) { first = newNode; last = newNode; } else { last->link = newNode; last = newNode; } cout << newNode->info << \" \"; cout << \"Enter a string of some kind. Enter \'Done\' when finished.\" << endl; getline(cin, x); } return 0; } Solution In the main function, you need to enter the following: main() { int ch, nodes, ele, posi; sin_llist sl; start = NULL; while(1) { cout<<\"1.Search for an item\"<>ch; switch(ch) { case 1: cout<<\"Searching an item:\"<>val; struct node *z; z = start; while (z != NULL) { posi++; if (z->info == val) { flag = true; cout<<\"Element \"<next; } if (!flag) cout<<\"Element \"<>y; struct node *tem, *k; temp = create_node(y); if (start == NULL) { start = tem; start->next = NULL; } else { k = start; start = tem; start->next = k; } cout<<\"Element Inserted at beginning\"<>posi; struct node *z, *ptr; z = start; if (posi == 1) { start = z->next; } else { while (z != NULL) { z = z->next; count++; } if (posi > 0 && posi <= count) { z = start; for (i = 1;i < pos;i++) { ptr = z; z = z->next; } ptr->next = z->next; } else { cout<<\"Position out of range\"<.