#ifndef ORGANIZINGTYPES_H #define ORGANIZINGTYPES_H using namespace std; class Student{ public: Student(); Student(string Name, string Number, string Email, string Street1, string Street2, string City,string State, string Zip, string Other); bool isEmpty(); string FindEmail(); void Print(ofstream& Out); private: string name; string number; string email; string address1; string address2; string city; string state; string zip; string other; }; class MultiMedia{ public: MultiMedia(); MultiMedia(string Name, string Type, string Author, string Email, string Price, string Availability ); bool isEmpty(); string FindEmail(); void Print(ofstream& Out, bool DontPrintEmail); private: string name; string type; string author; string email; string price; string availability; }; class Organizer{ public: bool AddItem(string Name, string Type, string Author, string Email, string Price, string Availability); bool AddStudent(string Name, string Number, string Email, string Street1, string Street2, string City,string State, string Zip, string Other); bool deleteEmail(string Email); void PrintItems(ofstream& Out); void PrintStudents(ofstream& Out); void PrintOneStudent(ofstream& Out, string Email); private: Student StudentArray[100]; MultiMedia MediaArray[100]; }; MultiMedia::MultiMedia() { name=""; type=""; email=""; price=""; availability=""; } MultiMedia::MultiMedia(string Name, string Type, string Author, string Email, string Price, string Availability ) { name=Name; type=Type; author=Author; email=Email; price=Price; availability=Availability; } Student::Student() { name=""; number=""; email=""; address1=""; address2=""; city=""; state=""; zip=""; other=""; } Student::Student(string Name, string Number, string Email, string Street1, string Street2, string City,string State, string Zip, string Other) { name=Name; number=Number; email=Email; address1=Street1; address2=Street2; city=City; state=State; zip=Zip; other=Other; } bool MultiMedia::isEmpty() { if (email=="") return true; return false; } bool Student::isEmpty() { if (email=="") return true; return false; } /* Organizer::AddItem Parameters: Name - Name of item Type - Type of Media Author - Author of Media Email - Owner's email address Price - Cost of Media Availability - Availability of Media In - Input file stream Calls: MultiMedia::isEmpty(); Student::FindEmail(); */ bool Organizer::AddItem(string Name, string Type, string Author, string Email, string Price, string Availability ) { bool StudentExists=false; for(int i=0; i<100; i++) { if (StudentArray[i].FindEmail()==Email) StudentExists=true; } if (StudentExists==false) return false; if (Email=="") return false; MultiMedia Media(Name,Type,Author, Email, Price, Availability); for(int i=0;i<100;i++) { if (MediaArray[i].isEmpty()==true) { MediaArray[i]=Media; return true; } } return false; } /* Organizer::AddStudent Parameters: Name - Name of Student Number - Student's phone number Email - Student's Email Street 1 - first part of street address Street 2 - second part of street address city/state/zip - third part of street address Other-Miscellaneous comment In - Input file stream pre-conditions: None post-conditions: Calls:StudentArray::isEmpty().*/ bool Organizer::AddStudent(string Name, string Number, string Email, string Street1, string Street2, string City,string State, string Zip, string Other) { if (Email=="") { return false; } Student Person(Name,Number,Email,Street1,Street2,City,State,Zip,Other); for(int i=0;i<100;i++) { if (StudentArray[i].isEmpty()==true) { StudentArray[i]=Person; return true; } } return false; } /* Organizer::deleteEmail Parameters: Email- Email of user to delete pre-conditions: None post-conditions: None Calls:MultiMedia::MediaArray()*/ bool Organizer::deleteEmail(string Email) { MultiMedia Media; Student Person; bool returnvalue=false; for(int i=0; i<100;i++) { if (StudentArray[i].FindEmail()==Email) { StudentArray[i]=Person; returnvalue=true; } if (MediaArray[i].FindEmail()==Email) MediaArray[i]=Media; } return returnvalue; } /* Organizer::printOneStudent Parameters: Out-Output file stream Email - Email of user to print pre-conditions: None post-conditions: Prints student info and all items associated with them. Calls:Student::FindEmail, Student::Print,MultiMedia::FindEmail, MultiMedia::Print */ void Organizer::PrintOneStudent(ofstream& Out, string Email) { bool FoundStudent=false; for(int i=0; i<100;i++) { if (StudentArray[i].FindEmail()==Email) { StudentArray[i].Print(Out); FoundStudent=true; } } for(int i=0; i<100;i++) { if (MediaArray[i].FindEmail()==Email) MediaArray[i].Print(Out, true); } if (FoundStudent==false) Out<