Ok, so the simplest way to read a data assuming your text pattern and function prototype is :
1 2 3 4 5 6 7
void ReadData(ifstream& fin, string& name , int& id, float &grossIncome )
{
// ...
if( getline( fin, name ) )
fin >> id >> grossIncome;
}
~~~~~~~~~~~~~~~~~~~
I'm not sure how you will print the datas since if you call Print function( which only accepts a single type parameter of name, Id etc.. ) it will just print again everything messing your screen.
A nicer alternative is to make an array on main, pass it to the readFile function and store the input in the array parameter, pass the array again to other functions and do other calculations, etc.. then finally pass it to another function that will print the contents of the array...