K
Kelly
EmployeeTable<Employee> employees;//where EmployeeTable is the array
that stores the employees
PositionIndex<EmployeeString>employee_nameIndex;//index for the
array by last name and first name
for( int i = 0; i < 3; i++ )
{
cout << "Enter Employee info:" << endl;
Employee employee;
cin >> employee;
employees.push_back( employee );
Pair<EmployeeString, unsigned long> nameIndexEntry(
employee.getNameKey(), i );
employee_nameIndex.push_back( nameIndexEntry );
}
// sort index
employee_nameIndex.sort();
// search for employee by name
char s = 0;
EmployeeString firstName;
EmployeeString lastName;
EmployeeString ssn;
cout << "Search for Employee: " << endl;
do
{
cout << "First name:";
cin >> firstName;
cout << "\nLast name:";
cin >> lastName;
cout << "\nSSN:";
cin >> ssn;
long pos = employee_nameIndex.search( lastName + firstName +ssn
);
if ( pos < 0 )
{
cout << "Employee NOT found" << endl;
}
else
{
cout << "employee found: " << endl;
cout << employees[pos];
}
cout << "Search another employee(y/n)?" << endl;
s = getch();
}while( s != 'n' );
ofstream of;
cout << "Save following Employee to Employees.dat" << endl;
cout << employees;
of.open( "employees.dat", ios_base::binary );
of << employees;
of.close();
EmployeeTable<Employee> employeesIn;
ifstream inf;
inf.open( "employees.dat", ios_base::binary );
inf >> employeesIn;
inf.close();
inf.seekg(0);
cout << "Following is Employees from employees.dat" << endl;
cout << employeesIn;
}
My array is overwritting on previous records, every time i enter values
into the record.
Please help
Kelly
that stores the employees
PositionIndex<EmployeeString>employee_nameIndex;//index for the
array by last name and first name
for( int i = 0; i < 3; i++ )
{
cout << "Enter Employee info:" << endl;
Employee employee;
cin >> employee;
employees.push_back( employee );
Pair<EmployeeString, unsigned long> nameIndexEntry(
employee.getNameKey(), i );
employee_nameIndex.push_back( nameIndexEntry );
}
// sort index
employee_nameIndex.sort();
// search for employee by name
char s = 0;
EmployeeString firstName;
EmployeeString lastName;
EmployeeString ssn;
cout << "Search for Employee: " << endl;
do
{
cout << "First name:";
cin >> firstName;
cout << "\nLast name:";
cin >> lastName;
cout << "\nSSN:";
cin >> ssn;
long pos = employee_nameIndex.search( lastName + firstName +ssn
);
if ( pos < 0 )
{
cout << "Employee NOT found" << endl;
}
else
{
cout << "employee found: " << endl;
cout << employees[pos];
}
cout << "Search another employee(y/n)?" << endl;
s = getch();
}while( s != 'n' );
ofstream of;
cout << "Save following Employee to Employees.dat" << endl;
cout << employees;
of.open( "employees.dat", ios_base::binary );
of << employees;
of.close();
EmployeeTable<Employee> employeesIn;
ifstream inf;
inf.open( "employees.dat", ios_base::binary );
inf >> employeesIn;
inf.close();
inf.seekg(0);
cout << "Following is Employees from employees.dat" << endl;
cout << employeesIn;
}
My array is overwritting on previous records, every time i enter values
into the record.
Please help
Kelly