// File: TestElected // Test Governor, Senator and President classes #include #include #include #include "President.h" #include "Senator.h" #include "Governor.h" using namespace std; char readPersonFromFile(ifstream &Source,string &first,string &last, string &social,string &place,int &birthMonth,int &birthDay,int &birthYear, int &term,int &startMonth,int &startDay,int &startYear,int &entity, float &amount); int main() {/*PublicEmployee*/ Person *Officials[10]; int count=0; ifstream Data; string first,last,social,place; int birthMonth,birthDay,birthYear,term,startMonth,startDay,startYear,entity; float amount; Data.open("Elected.txt"); if (Data.fail()) exit(-1); while (!Data.eof()) { char office=readPersonFromFile(Data,first,last,social,place, birthMonth,birthDay,birthYear,term,startMonth,startDay,startYear, entity,amount); if (!office) break; switch (office) { case 'P':Officials[count++]=new President(first,last,social,place, birthMonth,birthDay,birthYear, term,startMonth,startDay,startYear,entity,amount); break; case 'S':Officials[count++]=new Senator(first,last,social,place, birthMonth,birthDay,birthYear, term,startMonth,startDay,startYear,entity,amount); break; case 'G':Officials[count++]=new Governor(first,last,social,place, birthMonth,birthDay,birthYear, term,startMonth,startDay,startYear,entity,amount); } } for (int i=0;iprint(cout); } char readPersonFromFile(ifstream &Source,string &first,string &last, string &social,string &place,int &birthMonth,int &birthDay,int &birthYear, int &term,int &startMonth,int &startDay,int &startYear,int &entity, float &amount) {char office; if ((office=Source.get())<0) return('\0'); Source >> first; Source.ignore(1); getline(Source,last); getline(Source,social); getline(Source,place); Source >> birthMonth >> birthDay >> birthYear >> term >> startMonth >> startDay >> startYear >> entity >> amount; Source.ignore(100,'\n'); return(office); }