1. For each of the first three parts of this problem, you need to write a function. For the fourth part, you need to write a main program. Where functions from one part of a problem are appropriate for another part, they must be used. 1A. Write a function called has_both_letters, which takes a string and two characters as parameters. The function should return true if both of the characters appear in the string, false if at least one of the two characters does not appear in the string. (Assume the two characters are different.) Example: has_both_letters("coffee",'c','f') is true has_both_letters("coffee",'a','b') is false has_both_letters("coffee",'f','g') is false 1B. Write a function called get_two_different which has two parameters. The function should ask the user for two different letters. If the two letters are the same, continually ask the user for two different letters until they are different. When the user finally enters two different letters, set the first parameter to the first letter entered, and set the second parameter to the second letter entered. Example: Here is what may happen when you run this function: Give me two different letters: a a I want different ones. Try again: b b I want different ones. Try again: c f Thank you 1C. Write a function called found_word which takes an input stream and two characters (which will be different letters) as parameters. Assume that the input stream is associated with a file which has already been opened. (Also assume that the file contains only words, with no capital letters and no punctuation.) The function should return true if there is a word in the file containing those two letters, false if there is no word containing both of those letters. Example: Suppose the file looks like this: everybody in the computer science class went wild when the professor brought in chocolate covered coffee beans If the letters were 'c' and 'f' then the function would return true in this case, because "coffee" is a word in the file containing 'c' and 'f'. But if the letters were 'f' and 'g' then the function would return false, because no word contains both those letters. 1D. Write a main program that continually asks the user for two different letters, until it gets two different letters. When it does, it prints a message saying whether or not the file "beans.txt" contains a word containing both of the user's letters. Example: This may happen when you run your program: Give me two different letters: a a I want different ones. Try again: b b I want different ones. Try again: c f Thank you beans.txt has a word containing c and f assuming that beans.txt is the file from part C. 2. For the first part of this problem, you need to write a class. For the other parts, you need to write member functions of this class. It is not necessary to give the prototypes for the functions from parts B,C,D. In other words, in part A, you can leave the public section empty, even though the prototypes would be there in a real program. 2A. Define a class called course. The private data fields of this class will contain the name of the course, the number of credits for the course, and the period of the course. Assume the period is a single character, as at Clarkson. (Note that a digit is a character.) Example: "Introduction to Computer Science" is a 4 credit course that meets in period 5. 2B. Write a member function of course called get_credits which returns the number of credits of the course. 2C. Write a member function of course called same_name which takes another course as a parameter, and returns true if the course has the same name as the other course, false otherwise. 2D. Write a member function of course called same_period which takes another course as parameter, and returns true if the course meets during the same period as the other course. (Assume that if two courses both meet in period 5 then they meet at the same time. In other words, don't think it might be period 5 on different days.) 3. For the first part of this problem, you need to write a class. For the other parts, you need to write member functions of this class. It is not necessary to give the prototypes for the functions from parts B,C,D,E. The class from question 2 will be incorporated into this question. Where it is appropriate to use the functions from other parts of this question or to use functions from question 2, then you must do so. Remember that friend functions are not allowed on this test. 3A. Define a class called student. The private data fields of this class will contain the first name of the student, the last name of the student, the number of courses the student is taking this semester, an array of all the courses the student is taking this semester (never more than 20), and a value to be set true if the student is an honors student, and false if the student is not. 3B. Write a member function of student called total_credits, which returns the number of credits the student is taking this semester. 3C. Write a member function of student called already_taking, which takes a course as parameter, and returns true if the student is taking that course (I mean that the student is taking a course with that name), false otherwise. 3D. Write a member function of student called conflicting, which takes a course as parameter, and returns true if the student is taking a course during that period, false otherwise. 3E. Write a member function of student called add_a_course, which takes a course as parameter and does the following. If the student is already taking the course, then print a message saying so and don't add the course to the array. Otherwise, if the course conflicts with one the student is taking, then print a message saying so but add the course to the array anway. If this course would give the student more than 19 hours of credits, then don't add the course unless the student is an honors student. If none of those conditions apply, then just add the course. 4. Go home and celebrate, because you no longer have to worry about me putting you to sleep at 2:00 three days a week. Example: Bye bye. Have a nice summer.