Programming language is C
Problem 3: Student Management System In this problem you have to implement a system that keeps track of students, courses and enrollments. Your system should be able to have enrollment and unenrollment capability and it should be able to answer the queries described below Syntax enroll student firstname student lastname course name unenroll student_firstname student lastname Drop that course for that student. If not enrolled course name grade student_firstname student lastname course_name grade ave course_name What it means? Enroll the student in that course. If already enrolled do nothing. do nothing Grade that student for that course! If not enrolled already do nothing. Ave grade of the class (ignore ungraded). If no one is graded, print O. Compute the gpa of the student (assume every course has same number of credits). If not graded gpa student firstname student lastname print o Total number of enrollments in the given class. Find the top student of the class. If no one is graded, return the first student that was enrolled If more than one student are top students (same count course_name topstudent course_name maximum grade), print them, separated by commas Name of the students who take two or more classes together with the given student. Print first name and last names (with a space between them) separated by a comma. List courses (one in a line) that the student is enrolled in. Separate each with a comma and a findmutual studentfirstname student lastname listcourses student_name space (e.g. john smith, jane smith). Print all the first names that share the same given last name (comma separated). findfirstnames student lastname First, the number of students (N) and courses (M) is given in the first line (space separated). Then the name of the students is given in the next N following lines. First name and last name is given separated by space in each line. Then the name of the courses follows in M lines (a course name may contain spaces so the whole line will be the course's name). Then comes a series of queries with the syntax defined above. For each query, print the result in a newline (except enroll, unenroll and grade). Queries can be either upper or lower case. One way of handling this, is to change everything to lowercase first and have selection statements on lowercase string literals. In al cases, if there are multiple results (course or student names), print them separated by comma-space (e.g. john doe, jane doe, john smith). Everything should be printed in lower case