#include <fstream>
#include <string>
#include <iomanip>
#include <iostream>
using namespace std;
char name;
int age;
char gender;
void sortData(string lName[], string fName[], int age[], char gender[]);
int main ()
{
// step 1
string lName[15];
string fName[15];
int age[15], i = 0, num = 0;
char gender[15];
ifstream inFile; // input stream variable for data file
ofstream outFile; // output stream variable for result data
inFile.open("data.txt");
if (!inFile) // step 3
{
cout << "Cannot open the input file." << endl;
return 1;
}
outFile.open("results.txt");// step 4
outFile << setfill(' ') << left << setw(15) << "Last Name" //header for output file
<< setfill(' ') << left << setw(22) << "First Name"
<< setfill(' ') << left << setw(7) << "Age"
<< setfill(' ') << left << setw(7) << "Gender" << endl;
while (!inFile.eof())
{
inFile >> fName[i] >> lName[i] >> age[i] >> gender[i] >>// step 5
level[i] = (name, age, gender);// step 6
i++;
num++;
}
sortData(lName, fName, age, gender,i);// step 7
for (i = 0; i < 9; i++)// step 8
{
outFile << setfill(' ') << left << setw(15) << lName[i]
<< setfill(' ') << left << setw(22) << fName[i]
<< setfill(' ') << left << setw(9) << age[i]
<< setfill(' ') << left << setw(7) << sex[i] << endl;
}
outFile << '\n' << "Number of records: " << num << endl;
return 0;
}
int cal_Fitness_Level(int age[], char sex[], int wTime[])
{
int i = 0, fL;
if(age[i]> 64) {cout << "Senior Gentelman" << endl;}
if(age[i]<40 && age[i]<65){cout << "Middle-aged Gentelman" << endl;}
if(age[i]<22 && age[i]<41){cout << "Young Gentelman" << endl;}
if (age[i] >64 && age[i] <= 19)
{
if (wTime[i] >= 48)
fL = 1;
else if (wTime[i] > 43 && wTime[i] <= 47)
fL = 2;
else if (wTime[i] > 39 && wTime[i] <= 43)
fL = 3;
else if (wTime[i] > 35 && wTime[i] <= 39)
fL = 4;
else if (wTime[i] < 35)
fL = 5;
}
else
fL = 0;
return fL;
}
void sortData(string lName[], string fName[], int age[], char sex[], int wTime[], int noOfRows)
{
int i, j;
int min;
// selection sort
for (i = 0; i < noOfRows - 1; i++)
{
// step a
min = i;
for (j = i + 1; j < noOfRows; j++)
if (lName[j] < lName[min])
min = j;
if(min!=i)// step b
lName[i].swap(lName[min]);
fName[i].swap(fName[min]);
age[i] = age[min];
sex[i] = sex[min];
wTime[i] = wTime[min];
}
}