Stage 1: Basic Classes You will make two classes (using a .h and… Stage 1: Basic Classes You will make two classes (using a .h and .cpp file as shown in class) which have only private member variables and include getter and setter methods (aka mutator and accessor methods). You should also use the string class and cout statements when appropriate (since we are now doing C++). Task 1: CCourse (30 points) Make a class CCourse that has private member variables and public functions 1. The member variables are: String name Unsigned int maxEnrollment Double average 2. Provide a blank (no parameter) constructor for the CCourse class. Notice that this should set all member variable to SAFE values like “” or 0. 3. Find getter and setter functions for EACH member variable. Setter methods should always check to make sure new values are acceptable. For example, the average can’t be < 0. 4. Find a function printCourseInfo that either returns a string or calls cout. The printed message will be all relevant information about the class (see the sample output above). It might be a good idea to take two function parameters pretext and postText to output things like "[]" or tabs. If you return a string, other functions would then call cout and output the string. 5. Finally, find a function of YOUR choice. It can be anything as long as it is appropriate for the CCourse. Examples might include returning the degree program code (BIT or ITEC for example) or testing if the course is a large course (> 60 students attending). It can be anything you like. Task 2: CStudent (30 points) Find a class CStudent that has private member variables and public functions 1. The member variables are: String name Unsigned int id CCourse* p_course (a pointer to a CCourse object or NULL) Note: I realize students take more than one class. I am just trying to make the assignment easier. ?¨v 2. Provide a blank constructor for the CStudent class. The pointer to the CCourse should start as NULL until you set it….and you need to always check if p_course is NULL when using it. 3. Find getter and setter functions for each member variable 4. Find a function printStudentInfo that returns a string or calls cout. See printCourseInfo above. 5. Find a function of YOUR choice relating the CStudents. This could return a Boolean whether a student is taking a particular class or getting the student’s first name. Anything you like. Make sure you test your classes and code BEFORE you move on to the next steps. Phase 2: The Registrar (40 points) Find a new class CRegistrar that stores all CStudent and CCourse information you need. Member variables are all private. Functions are all public. 1. The class will need arrays to store the CStudent objects and CCourse objects. You will also need to know how many students and courses you are storing. If your array of students CAN store 20 students, it doesn’t mean you have 20 students. The array is size 20 but the numStudents variable might equal 6. You may also want to record the maximum number of students and courses you can store. 2. Create a constructor that takes two parameters: the maximum number of courses and the maximum number of students. Use these numbers to dynamic arrays of CStudents and CCourses to store your data. 3. Create a destructor (~CRegistrar()) that frees the dynamics arrays IF they are not NULL. 4. Find two functions that act like setters: addStudent and addCourse. These will take a CStudent or CCourse and add them to the data stored. CCourse course = CCourse(“BIT2400”); course.setName(“BIT2400”); course.setMaxEnrollment(90); course.setCourseAverage(71.0); reg.addCourse(course); CStudent stu = CStudent(); stu.setName(“Mehdi Niknam”); stu.setID(12345); stu.setCourse(reg.getCourse(“BIT2400”)); reg.addStudent(stu); 5. Find 3 accessor functionsto get a student or course. Notice you can have two functions called getStudent because they have different parameters. We will look at this concept soon. a. getStudent(unsigned int id) b. getStudent(string studentName) c. getCourse(string courseName) 6. Find getter methods for the number of courses and the number of students currently stored. 7. Find a function getNumRegistered(CCourse* p_course) that returns the number (unsigned int) of students registered in class p_course. 8. Find a function printRegistrarInfo() that outputs all relevant registrar information to the screen. The sample output calls printRegistrarInfo twice (the second time after after the max enrollment for BIT2400 is increased). 9. Find a function you choose for CRegistar. This may be printing the students in a particular class, testing that a course isn’t over-enrolled or any number of other functions. Have fun with this. 10. Make sure you test your code. I made students and courses based on the data we used in A1. Here are two examples (put in A3_CourseClass.cpp’s main function): ……… When testing your code make sure you are using pointers correctly. If you change the max enrollment in BIT 2400, that change should be reflected everywhere BIT2400 is used afterwards. You should use multiple courses and students and test a variety of different situations such as no-one taking the course or student being registered for a course that isn’t at the registrar.Computer Science Engineering & Technology C++ Programming BIT 2400
You will get a plagiarism-free paper and you can get an originality report upon request.
All the personal information is confidential and we have 100% safe payment methods. We also guarantee good grades
Delivering a high-quality product at a reasonable price is not enough anymore.
That’s why we have developed 5 beneficial guarantees that will make your experience with our service enjoyable, easy, and safe.
You have to be 100% sure of the quality of your product to give a money-back guarantee. This describes us perfectly. Make sure that this guarantee is totally transparent.
Read moreEach paper is composed from scratch, according to your instructions. It is then checked by our plagiarism-detection software. There is no gap where plagiarism could squeeze in.
Read moreThanks to our free revisions, there is no way for you to be unsatisfied. We will work on your paper until you are completely happy with the result.
Read moreYour email is safe, as we store it according to international data protection rules. Your bank details are secure, as we use only reliable payment systems.
Read moreBy sending us your money, you buy the service we provide. Check out our terms and conditions if you prefer business talks to be laid out in official language.
Read more