#include #include #include struct person { string fname, lname; int ssn, bd; void print() { cout << fname << " " << lname << ", SSN=" << ssn << ", born " << bd << "\n"; } person(int s, string f, string l, int b) { ssn = s; fname = f; lname = l; bd = b; } }; person * * read_data(int & num_read) { ifstream in("/home/www/class/een118/labs/database10.txt"); if (in.fail()) { cerr << "No file\n"; exit(1); } person * * array = new person * [100]; // Also, array is a variable. If it turns out the array isn't // big enough, we can throw it away and make a bigger one int size = 100; int num = 0; while (true) { int a, b; string c, d; in >> a >> c >> d >> b; // The file contains ssn fname lname bd if (in.fail()) break; if (num >= size) // make it grow { int newsize = size+100; person * * newarray = new person * [newsize]; // make new array for (int i=0; ibd, oldestpos = 0; for (int i=1; ibd < oldest) { oldest = data[i]->bd; oldestpos = i; } return data[oldestpos]; } void main() { int datasize; person * * data = read_data(datasize); person * x = find_oldest(data, datasize); x->print(); cout << "Change his name...\n"; x->fname = "Old Man"; x->print(); int a = 2+2; person * y = find_oldest(data, datasize); y->print(); }