/* Project 2 for CS 1704, Spring 2004 Programmer: John Christopher Humphreys OS: Windows XP Professional System: Pentium M, 512 MB Compiler: Microsoft Visual Studio.net 2003 Last Modified: February 14, 2004 Purpose- This program will store student data and data of certain items in two arrays. Classes will be created to hold and manage data of each kind, and a class will manage the arrays. Data can be edited, printed, or cleared by the controlling class, and all commands, taken from an input file, will be processed and executed. Format for Comment Block provided by (http://courses.cs.vt.edu/~cs1704/spring2004/Standards/ProgramHeader.txt) */ #include "Student.h" // Include Student class Student::Student() /* Student::Student Constructor Parameters: Student Students[] Pre: None Post: An object of type Student has been created Returns: None Called by: Control::Control() Calls: None */ { Name = E_mail = Address1 = Address2 = City = State = Other = ""; Zipcode = 0; Number = 0; } string Student::PrintName() const /* Student::PrintName Accessor Parameters: Student Students[] Pre: None Post: The name of the object is returned to the calling function Returns: None Called by: Control::PrintStudents() Control::AddStudent() Calls: None */ { return Name;} __int64 Student::PrintNumber() const /* Student::PrintNumber Accessor Parameters: Student Students[] Pre: None Post: The number of the object is returned to the calling function Returns: None Called by: Control::PrintStudents() Control::AddStudent() Calls: None */ { return Number;} string Student::PrintE_mail() const /* Student::PrintE_mail Accessor Parameters: Student Students[] Pre: None Post: The e-mail of the object is returned to the calling function Returns: None Called by: Control::Control() Control::PrintStudents() Control::AddItem() Control::AddStudent() Calls: None */ { return E_mail;} string Student::PrintAddress1() const /* Student::PrintAddress1 Accessor Parameters: Student Students[] Pre: None Post: The first address line of the object is returned to the calling function Returns: None Called by: Control::PrintStudents() Control::AddStudent() Calls: None */ { return Address1;} string Student::PrintAddress2() const /* Student::PrintAddress2 Accessor Parameters: Student Students[] Pre: None Post: The second address line of the object is returned to the calling function Returns: None Called by: Control::PrintStudents() Control::AddStudent() Calls: None */ { return Address2;} string Student::PrintCity() const /* Student::PrintCity Accessor Parameters: Student Students[] Pre: None Post: The city of the object is returned to the calling function Returns: None Called by: Control::PrintStudents() Control::AddStudent() Calls: None */ { return City;} string Student::PrintState() const /* Student::PrintState Accessor Parameters: Student Students[] Pre: None Post: The state of the object is returned to the calling function Returns: None Called by: Control::PrintStudents() Control::AddStudent() Calls: None */ { return State;} int Student::PrintZipcode() const /* Student::PrintZipcode Accessor Parameters: Student Students[] Pre: None Post: The zipcode of the object is returned to the calling function Returns: None Called by: Control::PrintStudents() Control::AddStudent() Calls: None */ { return Zipcode;} string Student::PrintOther() const /* Student::PrintOther Accessor Parameters: Student Students[] Pre: None Post: The other comment of the object is returned to the calling function Returns: None Called by: Control::PrintStudents() Control::AddStudent() Calls: None */ { return Other;} void Student::AddName(string NewName) /* Student::AddName Mutator Parameters: Student Students[] Pre: None Post: The name of the object is stored as NewName Returns: None Called by: Control::Control() Control::AddStudent() Calls: None */ { Name = NewName;} void Student::AddNumber(__int64 NewNumber) /* Student::AddNumber Mutator Parameters: Student Students[] Pre: None Post: The number of the object is stored as NewNumber Returns: None Called by: Control::Control() Control::AddStudent() Calls: None */ { Number = NewNumber;} void Student::AddE_mail(string NewE_mail) /* Student::AddE_mail Mutator Parameters: Student Students[] Pre: None Post: The e-mail of the object is stored as NewE_mail Returns: None Called by: Control::Control() Control::AddStudent() Calls: None */ { E_mail = NewE_mail;} void Student::AddAddress1(string NewAddress1) /* Student::AddAddress1 Mutator Parameters: Student Students[] Pre: None Post: The first address line of the object is stored as NewAddress1 Returns: None Called by: Control::Control() Control::AddStudent() Calls: None */ { Address1 = NewAddress1;} void Student::AddAddress2(string NewAddress2) /* Student::AddAddress2 Mutator Parameters: Student Students[] Pre: None Post: The second address line of the object is stored as NewAddress2 Returns: None Called by: Control::Control() Control::AddStudent() Calls: None */ { Address2 = NewAddress2;} void Student::AddCity(string NewCity) /* Student::AddName Mutator Parameters: Student Students[] Pre: None Post: The name of the object is stored as NewNamme Returns: None Called by: Control::Control() Control::AddStudent() Calls: None */ { City = NewCity;} void Student::AddState(string NewState) /* Student::AddName Mutator Parameters: Student Students[] Pre: None Post: The name of the object is stored as NewNamme Returns: None Called by: Control::Control() Control::AddStudent() Calls: None */ { State = NewState;} void Student::AddZipcode(int NewZipcode) /* Student::AddName Mutator Parameters: Student Students[] Pre: None Post: The name of the object is stored as NewNamme Returns: None Called by: Control::Control() Control::AddStudent() Calls: None */ { Zipcode = NewZipcode;} void Student::AddOther(string NewOther) /* Student::AddName Mutator Parameters: Student Students[] Pre: None Post: The name of the object is stored as NewNamme Returns: None Called by: Control::Control() Control::AddStudent() Calls: None */ { Other = NewOther;} // Design Change, delete functions were created and used rather than using the add functions void Student::DeleteName() /* Student::DeleteName Mutator Parameters: Student Students[] Pre: None Post: The name of the object is cleared Returns: None Called by: Control::DeleteAllE_mail() Calls: None */ { Name = "";} void Student::DeleteNumber() /* Student::DeleteNumber Mutator Parameters: Student Students[] Pre: None Post: The number of the object is cleared Returns: None Called by: Control::DeleteAllE_mail() Calls: None */ { Number = 0;} void Student::DeleteE_mail() /* Student::DeleteE_mail Mutator Parameters: Student Students[] Pre: None Post: The e-mail of the object is cleared Returns: None Called by: Control::DeleteAllE_mail() Calls: None */ { E_mail = "";} void Student::DeleteAddress1() /* Student::DeleteAddress1 Mutator Parameters: Student Students[] Pre: None Post: The first address line of the object is cleared Returns: None Called by: Control::DeleteAllE_mail() Calls: None */ { Address1 = "";} void Student::DeleteAddress2() /* Student::DeleteAddress2 Mutator Parameters: Student Students[] Pre: None Post: The second address line of the object is cleared Returns: None Called by: Control::DeleteAllE_mail() Calls: None */ { Address2 = "";} void Student::DeleteCity() /* Student::DeleteCity Mutator Parameters: Student Students[] Pre: None Post: The city of the object is cleared Returns: None Called by: Control::DeleteAllE_mail() Calls: None */ { City = "";} void Student::DeleteState() /* Student::DeleteState Mutator Parameters: Student Students[] Pre: None Post: The state of the object is cleared Returns: None Called by: Control::DeleteAllE_mail() Calls: None */ { State = "";} void Student::DeleteZipcode() /* Student::DeleteZipcode Mutator Parameters: Student Students[] Pre: None Post: The zipcode of the object is cleared Returns: None Called by: Control::DeleteAllE_mail() Calls: None */ { Zipcode = 0;} void Student::DeleteOther() /* Student::DeleteOther Mutator Parameters: Student Students[] Pre: None Post: The other comment of the object is cleared Returns: None Called by: Control::DeleteAllE_mail() Calls: None */ { Other = "";} /*On my honor: - I have not discussed the C++ language code in my program with anyone other than my instructor or the teaching assistants assigned to this course. - I have not used C++ language code obtained from another student, or any other unauthorized source, either modified or unmodified. - If any C++ language code or documentation used in my program was obtained from another source, such as a textbook or course notes, that has been clearly noted with a proper citation in the comments of my program. - I have not designed this program in such a way as to defeat or interfere with the normal operation of the Curator System. */