I have this program I'm writing to read and calculate principle and interest from a file and printing a table to an output file. Everything works fine except I can't figure out why I'm stuck in the while loop in the main. It prints all of my data correctly, but it constantly waits for another value and doesn't exit. Can anyone shed some light for me?
int main()
{
ifstream inData;
ofstream outData;
float principle=0;
int years;
float rate;
inData.open("inputdata.txt");
if (!inData){
cout<<"Error opening file."<<endl;
return 1;}
outData.open("outputdata.txt");
if (!outData){
cout<<"Error opening file."<<endl;
return 1;}
getData(inData, principle, years, rate);
while(!inData.eof(){
printTable(outData, principle, years, rate);
principle=0;
getData(inData, principle, years, rate);
}
return 0;
}
void getData (ifstream& inData, float& principle, int& years, float& rate)
{
char temp;
int temp2=0;
inData.get(temp);
while(temp!=' '){
if(isdigit(temp)){
temp2=temp-'0';
principle=(10*principle)+temp2;}
inData.get(temp);
}
inData>>years>>rate;
}