Hello again guys, I finished this program a week or two ago and it works like a million bucks now. Only problem is I need it to work w/ arrays. I don't really know much about arrays that is why I didn't write the program this way. Anyhow I am reading about arrays atm and I need to know how to read an arraay from an input file.

Thanks for your help in advance :-)

Here's my code:

Code:
#include<iostream.h>
#include<fstream.h>
#include<iomanip.h>

int process_employee(int& empnum, float& emprate, float& emphours, ifstream& inData);
void process_payroll(ifstream& inData, ofstream& outData, 
					 const float& FEDERAL_TAX, 
					 const float& STATE_TAX,
					 const float& SOCSEC_TAX,
					 float& totalGP, float& totalNP, float& totalFT, float& totalST,
					 float& totalSS);
void print_summary(ofstream& outData, float& totalGP, float& totalNP, 
				  float& totalFT, float& totalST, float& totalSS);

int main()
{
const float FEDERAL_TAX = .15; 
const float STATE_TAX = .0524;
const float SOCSEC_TAX = .07;

float totalGP = 0, totalNP = 0, totalFT = 0, totalST = 0, totalSS = 0;
char flag = ' ';
int excesshours = 0;

ifstream inData;
ofstream outData;

inData.open("A:\indata.txt", ios::in);
outData.open("A:\outdata.txt", ios::out);

process_payroll(inData, outData, FEDERAL_TAX, STATE_TAX, SOCSEC_TAX, totalGP, totalNP,
				totalFT, totalST, totalSS);
print_summary(outData, totalGP, totalNP, totalFT, totalST, totalSS);


}

int process_employee(int& empnum, float& emprate, float& emphours, ifstream& inData)
{
  inData >> empnum;
  if(inData.eof()) return 0;
  
  inData >> emprate;
  if(inData.eof()) return 0;

  inData >> emphours;
  if(inData.eof()) return 0;

  return 1;
}

void process_payroll(ifstream& inData, ofstream& outData, 
					 const float& FEDERAL_TAX, 
					 const float& STATE_TAX,
					 const float& SOCSEC_TAX,
					 float& totalGP, float& totalNP, float& totalFT, float& totalST,
					 float& totalSS)
{
  int flag = 0;
  int empnum;
  float emprate, emphours, gross, paynet = 0, fed = 0, state = 0, socSec = 0;
  char rateType;

  outData << "Employee Payroll\n" << endl;

  outData << setw(10) << "Employee" << setw(10) << "Hours" << " " 
	  << setw(10) << "Rate" << setw(10) << "Gross" << setw(10) << "Net"
       << setw(10) << "Fed"<< setw(10) <<  "State" << setw(10) << "Soc. Sec" << endl;
 
  flag = process_employee(empnum,emprate,emphours,inData);
  while(flag == 1)
  {
	
	  gross = (emprate * emphours);
	  rateType = ' ';

	  //$.15 bonus per hour for employees who work 35 hours or less
	  if(emphours <= 35)
	  {
		  gross +=  .15 * emphours;
		  rateType = '*';
	  }
	  
	  if(emphours > 40)
	  {
		  //add overtime on top of regular wage
			gross += (emprate * .5) * (emphours - 40);
			rateType = '$';
	  }

	  fed = FEDERAL_TAX * gross;
	  state = STATE_TAX * gross;
	  socSec = SOCSEC_TAX * gross;

	  paynet = gross - fed - state - socSec;

	  //add up totals
	  totalGP += gross;
	  totalNP += paynet;
	  totalFT += fed;
	  totalST += state;
	  totalSS += socSec;

	  //print statements here for individual 

	  outData <<  setw(10) << empnum << setw(10) << emphours << rateType 
	   << setw(10) << emprate << setw(10) << gross << setw(10) << paynet
       << setw(10) << fed << setw(10) <<  state << setw(10) << socSec << endl; 

      flag = process_employee(empnum,emprate,emphours,inData);

  }
}
		  
void print_summary(ofstream& outData, float& totalGP, float& totalNP, 
				  float& totalFT, float& totalST, float& totalSS)
{
  outData << "Summary-Totals for all employees\n" << endl;

  	  outData <<  setw(13) << "Gross Pay" << setw(13) << "Net Pay" << setw(13) 
	  << "Fedral Tax" << setw(13) << "State Tax" << setw(13) << "Social Security" 
	  << endl; 

	  outData <<  setw(13) << totalGP << setw(13) << totalNP << setw(13) 
	  << totalFT << setw(13) << totalST << setw(13) << totalSS
	  << endl; 
}