// The function defintions of the student class #include"student.h" #include ///////////////////////student() // The constructor // // Parameters: fullName - name of the student // Eaddress - email address // street - street address // apt - apt number // city - the city // State - the state // info - optional information // Zcode - the zipcode // Area - teh area code // First - the first three digits of the phone # // Second - the last digits of the phone # // // Pre: // // Post: a student object is created // // Returns: // // Called by: // Calls: student::student(string fullName, string Eaddress, string street, string apt, string city, string State, string info, int Zcode, int Area, int First, int Second) { // Assign values name = fullName; email = Eaddress; street_name = street; apartment = apt; cityName = city; state = State; other = info; zip = Zcode; area = Area; first = First; second = Second; } ///////////////////////get_name() // returns private data member name // // Parameters: // // Pre: student object is created // // Post: // // Returns: name // // Called by: // Calls: string student::get_name() { return name; } ///////////////////////get_email() // returns private data member email // // Parameters: // // Pre: student object is created // // Post: // // Returns: email // // Called by: add_student(), add_item(), delete_entry(), print() // Calls: string student::get_email() { return email; } ///////////////////////get_street_name() // returns private data member street_name // // Parameters: // // Pre: student object is created // // Post: // // Returns: street_name // // Called by: // Calls: string student::get_street_name() { return street_name; } ///////////////////////get_apartment() // returns private data member apartment // // Parameters: // // Pre: student object is created // // Post: // // Returns: apartment // // Called by: // Calls: string student::get_apartment() { return apartment; } ///////////////////////get_cityName() // returns private data member cityName // // Parameters: // // Pre: student object is created // // Post: // // Returns: cityName // // Called by: // Calls: string student::get_cityName() { return cityName; } ///////////////////////get_state() // returns private data member state // // Parameters: // // Pre: student object is created // // Post: // // Returns: state // // Called by: // Calls: string student::get_state() { return state; } ///////////////////////get_other() // returns private data member other // // Parameters: // // Pre: student object is created // // Post: // // Returns: other // // Called by: // Calls: string student::get_other() { return other; } ///////////////////////get_zip() // returns private data member zip // // Parameters: // // Pre: student object is created // // Post: // // Returns: zip // // Called by: // Calls: int student::get_zip() { return zip; } ///////////////////////get_area() // returns private data member area // // Parameters: // // Pre: student object is created // // Post: // // Returns: area // // Called by: // Calls: int student::get_area() { return area; } ///////////////////////get_first() // returns private data member first // // Parameters: // // Pre: student object is created // // Post: // // Returns: first // // Called by: // Calls: int student::get_first() { return first; } ///////////////////////get_second() // returns private data member second // // Parameters: // // Pre: student object is created // // Post: // // Returns: second // // Called by: // Calls: int student::get_second() { return second; } ///////////////////////set_name() // sets the private data member name // // Parameters: newName - the new name // // Pre: student object is created // // Post: name = newName // // Returns: // // Called by: database() // Calls: void student::set_name(string newName) { name = newName; return; } ///////////////////////set_phone() // sets the private data members area, first, second // // Parameters: Area - new area code // First - new first // Second - new second // // Pre: student object is created // // Post: new phone number // // Returns: // // Called by: database() // Calls: void student::set_phone(int Area, int First, int Second) { area = Area; first = First; second = Second; return; } ///////////////////////set_email() // sets the private data member email // // Parameters: newEmail - the new email address // // Pre: student object is created // // Post: email = newEmail // // Returns: // // Called by: database() // Calls: void student::set_email(string newEmail) { email = newEmail; return; } ///////////////////////set_street_name() // sets the private data member street_name // // Parameters: newStreet - teh new street address // // Pre: student object is created // // Post: street_name = newStreet // // Returns: // // Called by: database() // Calls: void student::set_street_name(string newStreet) { street_name = newStreet; return; } ///////////////////////set_apt() // sets the private data member apartment // // Parameters: newApt - the new apartment address // // Pre: student object is created // // Post: apartment = newApt // // Returns: // // Called by: database() // Calls: void student::set_apt(string newApt) { apartment = newApt; return; } ///////////////////////set_city() // sets the private data member cityName // // Parameters: newCity - the new city // // Pre: student object is created // // Post: city = newCity // // Returns: // // Called by: database() // Calls: void student::set_city(string newCity) { cityName = newCity; return; } ///////////////////////set_state() // sets the private data member state // // Parameters: newState - the new state // // Pre: student object is created // // Post: state = newState // // Returns: // // Called by: database() // Calls: void student::set_state(string newState) { state = newState; return; } ///////////////////////set_info() // sets the private data member other // // Parameters: newInfo - the new optional information // // Pre: student object is created // // Post: other = newInfo // // Returns: // // Called by: database() // Calls: void student::set_info(string newInfo) { other = newInfo; return; } ///////////////////////set_zip() // sets the private data member zip // // Parameters: newZip - the new zip code // // Pre: student object is created // // Post: zip = newZip // // Returns: // // Called by: database() // Calls: void student::set_zip(int newZip) { zip = newZip; return; } ///////////////////////operator<<() // Output operator // // Parameters: out - the output stream // output - what to output // // Pre: output stream is initialized and opened // // Post: the class is printed out // // Returns: out // // Called by: print() // Calls: ostream& operator<<(ostream& out, const student& output) { // Print out the name if it is listed if(output.name != "") { out << "Name:" << endl << '\t' << output.name << endl; } // Print out the Phone # if((output.area != 0) && (output.first != 0) && (output.second != 0)) { out << "Phone Number:" << endl << '\t' << setfill('0') << "(" << setw(3) << right << output.area << ") " << setw(3) << output.first << "-" << setw(4) << output.second << setfill(' ') << left << endl; } // Print out the Email if(output.email != "") { out << "Email:" << endl << '\t' << output.email << endl; } // Print out address if((output.street_name != "") || (output.apartment != "") || (output.cityName !="") || (output.state != "") || (output.zip != 0)) { out << "Address:" << endl; // Print out the street name if(output.street_name != "") { out << '\t' << output.street_name << endl; } // Print out the apartment address if(output.apartment != "") { out << '\t' << output.apartment << endl; } if(output.cityName != "") { out << '\t' << output.cityName; if(output.state != "") { out << ", " << output.state; } if((output.state == "") && (output.zip != 0)) { out << ", " << setw(5) << right << setfill('0') << output.zip << left << setfill(' '); } else if(output.zip != 0) { out << " " << setw(5) << right << setfill('0') << output.zip << left << setfill(' '); } out << endl; } if((output.state != "") && (output.cityName == "")) { out << '\t' << output.state; if(output.zip != 0) { out << " " << setw(5) << setfill('0') << right << output.zip << left << setfill(' '); } out << endl; } if((output.zip != 0) && (output.cityName == "") && (output.state == "")) { out << '\t' << setw(5) << right << setfill('0') << output.zip << setfill(' ') << left << endl; } } // Print out other information if(output.other != "") { out << "Other:" << endl << '\t' << output.other << endl; } return out; } ///////////////////////operator=() // Shallow copy assignment operator // // Parameters: RHS - the item to be copied // // Pre: RHS is initailized // // Post: RHS is copied to *this // // Returns: *this(the object itself) // // Called by: add_student() // Calls: student& student::operator =(const student& RHS ) { // Check for self assignment if( this != &RHS ) { // Assign values name = RHS.name; email = RHS.email; street_name = RHS.street_name; apartment = RHS.apartment; cityName = RHS.cityName; state = RHS.state; other = RHS.other; zip = RHS.zip; area = RHS.area; first = RHS.first; second = RHS.second; } return *this; }