Question: Note: Program must be 100% original and every code given must be exactly as given 1.0 Overview Professor Albus Dumbledore, headmaster of Hogwarts School of
| Note: Program must be 100% original and every code given must be exactly as given 1.0 Overview | ||||
| Professor Albus Dumbledore, headmaster of Hogwarts School of Witchcraft and Wizardry is interested in introducing his faculty and students to one of the newest discovered branches of the magical arts. That is Computational Magic. It was discovered when representatives from the Division of Magical Research of the Ministry of Magic found that many Muggle computer programmers were actually unknown witches and wizards who were creating new spells and working magic through their code. As a first step Professor Dumbledore has requested that a Computational Magic device be created that will allow the school to transfer all their student records from the old parchment and quill system to a computerized system. In this assignment a C++ class will be created that will store all information on one Hogwarts student. | ||||
| 2.0 Requirements | ||||
| The student shall define, develop, document, prototype, test, and modify as required the software system. | ||||
| 2.1 This software system shall define a student record class called Student (file names shall be Student.h and Student.cpp) which contains all information on one student enrolled at Hogwarts. | ||||
| 2.1.1 The Student class shall contain private variables as described below: | ||||
| 2.1.1.1 An integer variable, called m_iStudentID which shall hold a student's ID number. | ||||
| 2.1.1.2 Two character arrays, called m_sMagicalName and m_sWizardFamilyName each capable of holding a string of up to 64 characters. | ||||
| 2.1.1.3 A character array, called m_sHouse capable of holding a string of up to 64 characters. This will hold the name of the house a student is assigned to: Gryffindor, Ravenclaw, Hufflepuff, or Slytherin | ||||
| 2.1.1.4 A 2D array of characters, called m_sClasses that contains 8 rows with 32 characters per row. This can be treated as a one-dimensional array of character arrays each holding the name of a class the student is taking. {C} | ||||
| 2.1.1.5 An array of eight integers called m_iGrades which shall hold a student's numerical grades in each class. | ||||
| 2.1.2 The Student class shall contain public functions as described below: | ||||
| 2.1.2.1 Two constructor functions. The first shall be a default constructor which takes no arguments (Student()). The second constructor shall take four arguments (Student(int iID, char *mName, char *wName, char *hName)) an int giving the student's ID, and three character arrays giving the student's first name, family name, and the name of the student's house. | ||||
| 2.1.2.2 A destructor function which shall clear all externally allocated memory before terminating. | ||||
| 2.1.2.3 Get/Set functions There will be a getVariable() and a setVariable() designed to return the value stored in or set the value stored in a student's data. Specifically these functions shall be prototyped as: | ||||
| 2.1.2.3.1 int getStudentID(), void setStudentID(int iID) - Get and set the student's ID. | ||||
| 2.1.2.3.2 void getName(char *mName, char *wName), void setName(char *mName, char *wName) - Get and set the student's name and wizarding family name. | ||||
| 2.1.2.3.3 void getHouse(char *hName), void setHouse(char *hName) - Get and set the student's house name. | ||||
| 2.1.2.3.4 void getClass(int idx, char *className), void setClass(int idx, char *className) - Get and set a class name. The integer argument idx given the index in the class name array for the class. | ||||
| 2.1.2.3.5 void setGrade(int idx, int grade) - Set a grade. This function shall set a numeric grade in the array m_iGrades at the given index. | ||||
| 2.1.2.3.6 void getGrade(int idx, int &iGrade, char &cGrade) - Get a grade. This getGrade function shall be a reference function and shall return using the cGrade reference argument a letter grade based on the current Hogwarts grading system (95-100=Outstanding (O), 90-94=Exceeds Expectations (E), 80-89=Acceptable (A), 70-79=Poor (P), 60-69=Dreadful (D), <60=Troll (T)). It shall also return a numeric grade using the iGrade reference argument. | ||||
| 2.1.2.3.7 void getGrade(int idx, int *iGrade, char *cGrade) - Get a grade. This getGrade function shall be a pointer function and shall return using the cGrade pointer argument a letter grade based on the current Hogwarts grading system (95-100=Outstanding (O), 90-94=Exceeds Expectations (E), 80-89=Acceptable (A), 70-79=Poor (P), 60-69=Dreadful (D), <60=Troll (T)). It shall also return a numeric grade using the iGrade pointer argument. | ||||
| 2.1.2.3.8 void printStudentInfo() - Print all information on this student. This includes, student ID, first and last names, the list of classes, and the current grade. | ||||
| 2.2 The class file and its' associated header file must be capable of being compiled and linked in with the instructor's driver program (main(), found in a separate file) for testing. Do not turn in a file with a main function in it. | ||||
| 3.0 Deliverables | ||||
| These products shall be delivered to the instructor electronically via e-mail as specified below. 3.1 Sprint Report -- The student shall provide a filled out Sprint Report form for instructor approval NLT (Not Later Than) Monday, September 17. 3.2 Program source files -- The student shall provide fully tested electronic copies of the .cpp and .h files. These files must be submitted to the instructor via e-mail NLT (Not Later Than) Monday, September 17. | ||||
| 4.0 Period of Performance | ||||
| The period of performance of this assignment is 18 days from the date of assignment. Under no circumstances will any deliverables be accepted after the DDD for this assignment. | ||||
| A note on program grading: The instructor will test your program by compiling your Student.cpp and Student.h files with a driver program containing a main() function. This driver will exhaustively test your source code. Do not turn in any files containing a main() function.
| ||||
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
