Please write a program keeping the list of 5 senior project students entered to a project competition with their novel projects in a text file considering their names, surnames and 5 scores earned from referees in the project competition. project.txt will include: Ece Yildiz 5 6 7 8 9 Can Sahin 77778 Sevil Gunduz 6 5 7 8 7 Mutlu Sunal 6 7 7 8 7 Cem Duru 5 4565 Follow the following steps while you are writing your program: Create project t structure with 4 members: . • 2 char arrays for names and surnames, please assume that the length of each field is maximum 30 . 1 double array for keeping referee scores 1 double variable for keeping the average score earned from the referees Use 5 functions: . double calculate Average Score(const project_t *project); calculateAverageScore function gets a pointer to a constant project_t. Then it calculates the average score of the projects and returns it. If the difference between the maximum and minimum score of a project is higher than 5 then exclude the maximum and minimum scores of the project when calculating the average score. • int scanProject(FILE *filep, project_t *projectp); scanProject function gets a pointer to FILE and a pointer to project_t. It reads name, surname and referee points from the file, and fills project_t pointed to, by projectp. Returns 1 if the read operation is successful; otherwise, returns 0. int loadProjects(project_t projects[]); loadProjects function gets an array of project_t. Opens the text file with the entered name. For each array element reads data by calling scanProject function and computes the average score by calling calculate Average Score function. Stops reading when scanProject function returns 0. Returns the number of read projects. int findPrintLoser(dee_t project s[], int numofProjects), findPrintLoser function gets an array of project_t and the number of projects. Finds the student with the worst score according to the average score, prints it by calling printProject function and returns its index in the array main function is where you declare an array of projects and call loadProjects function, print all project suing printProject function and call findPrintLoser function. #include #include #define MAX 30 typedef struct { //write your code here }project_t; double calculateAverageScore(const project_t *projectp); int scanProject(FILE *filep, project_t *projectp); int loadProjects(project_t projects[]); void printProject(const project_t *projectp); int findPrintLoser(project_t projects[], int numofProjects); int main(void) { project_t projects[MAX]; int numofProjects; numofProjects = loadProjects (projects); printf("Projects:\n"); for (int i = 0; i < numofProjects; i++) printProject(&projects[i]); findPrintLoser (projects, numofProjects); return 0; } double calculateAverageScore(const project_t *projectp) { //write your code here } int scanProject(FILE *infile, project_t *projectp) { //write your code here } int loadProjects(project_t projects[]) { //write your code here } void printProject(const project_t *projectp) { //write your code here } int findPrintLoser (project_t projects[], int numofProjects) { //write your code here }