void InternationalTeam::addMember(EmployeeList* employees) { std::vector<Employee*>* members = getMembersToChange(); bool isValidTeam = false; do { system("cls"); cout << "Adding Member" << endl; Employee* ePtr = employees->selectEmployee(); if (ePtr != NULL) { if (ePtr->isFullTime()) { if (ePtr->getTeam() == NULL) { ePtr->setTeam((Team*) this); members->push_back(ePtr); } else { cout << "This employee is already on a team" << endl; cin.ignore(); } } else { cout << "\nOnly full time employees are allowed to join an international team." << endl; cin.ignore(); } } else { cout << "No employee was selected" << endl; cin.ignore(); } isValidTeam = (members->size() > 0); if (! isValidTeam) { cout << "A team must have at least one full time employee." << endl; cin.ignore(); } } while (! isValidTeam); map<string, Date*>::const_iterator iter; for (int i = ((int) members->size() - 1); i > -1; i--) { iter = empJoinDates.find(members->at(i)->getEmployeeId()); if (iter == empJoinDates.end()) { time_t t = time(0); // get time now struct tm* now = localtime(& t); Date* date = new Date(now->tm_mon + 1, now->tm_mday, now->tm_year + 1900, members->at(i)); empJoinDates.insert(pair<string, Date*>(members->at(i)->getEmployeeId(), date)); } else { return; } } }