1. Write a function called first_last that takes two strings as parameters and returns true if the two strings begin and end with the same character as each other, otherwise false. For example, if the strings are "car" and "computer", it should return true. 2. Write a function called pass_fail that takes an input stream and two output streams as parameters. Each streams will be already associated with a file. Every line in the input file will contain the first name, the last name, and the grade of a student. The function should go through the input file and copy the first and last name of all passing students to the first output file, and the first and last name of all failing students to the second output file. The passing grade is 60. 3. Part A of this question will tell you to write a class. In that class you should include the prototypes for the member functions in the other parts of the question. Some parts of this question will need functions from previous parts. You must figure out when that is needed. 3A. Create a class called course, which has four private data members: the course number (example: CS141), the professor of the course (example: Lynch), the number of students in the course (example: 50), and the number of students that the classroom can hold (example: 120). Note that the course number is not actually a number, since it contains letters. 3B. Write a member function of course called get_professor, which takes a string as parameter. The function will put the name of the professor into the string passed as parameter. 3C. Write a member function of course called match_course, which takes a course number as paramter. The function will return true if that parameter is the course number of this course, otherwise false. 3D. Write a member function of course called extra_space, which returns how many more students can fit in the classroom for the course. 3E. Write a nonmember function called full which takes a course as parameter and returns true if that class can fit no more students, otherwise false. 4. Part A of this question will tell you to write a class. In that class you should include the prototypes for the member functions in the other parts of the question. Some parts of this question will need functions from previous parts of the question, and some will also need functions from the previous question. You must figure out when that is needed. 4A. Create a class called student, which has private data members containing the first and last name of the student, the number of courses that the student is taking, and an array of all the courses the student is taking. 4B. Write a member function of student, called withdraw, which removes the student from all courses. 4C. Write a member function of student called has_professor, which takes the name of a professor as parameter, and returns true if the student is taking a class with that professor. 4D. Write a member function of student called both_in, which takes another student and a course number as parameter. The function should return true if both sudents are in the course with that number, otherwise false. 4E. Write a member function of student called all_full, which returns true if all the courses the student is taking are full. [Please use the full function from the previous question.] 4F. Write a nonmember function called both_have_prof, which takes two students and the name of a professor as parameters. The function should return true if both students are taking a class with that professor, otherwise false.