Please answer the 4 questions using C. The expected output is shown below. Thank you! --------------------------------------------------------------------------------------------------- // Write your name here // Write the compiler used: Visual studio or gcc // Reminder that your file name is incredibly important. Please do not change it. // Reminder that we are compiling on Gradescope using GCC. // READ BEFORE YOU START: // You are given a partially completed program that creates a list of game items like you'd see in a folder. // Each item has this information: item's name, game's name, type of item, item ID. // The struct 'itemRecord' holds information of one item. Variety is an enum. // An array of structs called 'list' is made to hold the list of items. // To begin, you should trace through the given code and understand how it works. // Please read the instructions above each required function and follow the directions carefully. // You should not modify any of the given code, the return types, or the parameters. Otherwise, you risk getting compilation errors. // You are not allowed to modify main(). // You can use string library functions. // WRITE COMMENTS FOR IMPORANT STEPS IN YOUR CODE. #include <stdio.h> #include <stdlib.h> #include <string.h> #pragma warning(disable: 4996) // for Visual Studio Only #define MAX_ITEMS 15 #define MAX_NAME_LENGTH 25 typedef enum { Health = 0, Equip, Etc } itemType; // enum type struct itemRecord { // struct for item details char itemName[MAX_NAME_LENGTH]; char gameName[MAX_NAME_LENGTH]; itemType variety; unsigned int itemID; }; struct itemRecord list[MAX_ITEMS]; // declare list of items int count = 0; // the number of items currently stored in the list (initialized to 0) // functions already implmented void flushStdIn(); void executeAction(char); void save(char* fileName); void display(); // functions that need implementation: int add(char* itemName_input, char* gameName_input, char* variety_input, unsigned int idNumber_input); // 10 points void sort(); // 10 points int delete(unsigned int idNumber_input); // 10 points void load(char* fileName); // 10 points int main() { char* fileName = "Item_List.txt"; load(fileName); // load list of items from file (if it exists). Initially there will be no file. char choice = 'i'; // initialized to a dummy value do { printf("\nEnter your selection:\n"); printf("\t a: add a new item\n"); printf("\t d: display item list\n"); printf("\t r: remove an item from list\n"); printf("\t s: sort item list by ID\n"); printf("\t q: quit\n"); choice = getchar(); flushStdIn(); executeAction(choice); } while (choice != 'q'); save(fileName); // save list of items to file (overwrites file, if it exists) return 0; } // flush out leftover '\n' characters void flushStdIn() { char c; do c = getchar(); while (c != '\n' && c != EOF); } // ask for details from user for the given selection and perform that action .