#include "Student.h" #include using namespace std; Student::Student() :Name("**"), Email("**"), Address("**"), Address2("**"), City("**"), State("**"), Other("**"), Areacode(-1), PhoneNumber(-1), Zipcode(-1), isEmpty(true) {} Student::Student(Student &A) :Name(A.Name), Email(A.Email), Address(A.Address), Address2(A.Address2), City(A.City), State(A.State), Other(A.Other), Areacode(A.Areacode), PhoneNumber(A.PhoneNumber), Zipcode(A.Zipcode), isEmpty(A.isEmpty) {} bool Student::Set(ifstream &In) { char dummy; string Variable; int info, Phonenumber; bool flag=false,success=true; assert(!In.fail()); getline(In, Variable, '\n'); while(In&&Variable!="@") { switch(ConvertVariable(Variable)) { case NAME: getline(In,Name, '\n');break; case EMAIL: getline(In, Email, '\n'); flag=true;break; case ADDRESS: getline(In, Address, '\n');break; case ADDRESS2: getline(In, Address2, '\n');break; case CITY: getline(In, City, '\n');break; case STATE: getline(In, State, '\n');break; case OTHER: getline(In, Other, '\n');break; case PHONE: In>>dummy; In>>info; if(VerifyAreaCode(info)){Areacode=info;}else{success=false;}In>>dummy; In>>Phonenumber; Phonenumber*=10000; In>>dummy; In>>info; Phonenumber+=info; if(VerifyPhone(Phonenumber)){PhoneNumber=Phonenumber;}else{success=false;}break; case ZIP: In>>info;if(VerifyZip(info)){Zipcode=info;}else{success=false;}break; case END: break; } In>>dummy; getline(In, Variable, '\n'); } if(flag&&success) isEmpty=false; return !isEmpty; } void Student::Delete() { Name="**"; Email="**"; Address="**"; Address2="**"; City="**"; State="**"; Other="**"; Areacode=-1; PhoneNumber=-1; Zipcode=-1; isEmpty=true; } bool Student::IsEmpty() { return isEmpty; } string Student::eMail() { return Email; } void Student::Print(ostream &Out) { assert(!Out.fail()); if(Name!="**") Out<<"Name:\n"<<'\t'<10) Out<<"0"<10) Out<<"0"<10) Out<<"-00"<100) Out<<"-0"<0&&zip<100000); } bool Student::VerifyPhone(int &pn) { return(pn>0&&pn<10000000); } bool Student::VerifyAreaCode(int &ac) { return(ac>0&&ac<1000); }