Hello,

I've checked google now intermidintly for two days, and I could not find a solution for my problem, so I decided I would post my own thread on here.

The program I'm designing is supposed to ask the user for a file name, open that file, then take the average and find the least and greatest. My problem is, my program is getting stuck just accepting data from a file, and I'm not sure why. It never even gets to any of my functions.

Here's some of my code:

#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;

void Average(double NumbersFromFile[50], int);
void Least(double NumbersFromFile[50], int);
void Greatest(double NumbersFromFile[50], int);

int main()
{
    int Counter=0;
    double NumbersFromFile[50]={0};
    char FileName[50]={0};

    cout << "What is the name of you file?" << endl;
    cin >> FileName;

    ifstream InputFile;
    InputFile.open(FileName);
	
     if(InputFile)
    {
	cout << "Error!";
	return 0;
    }
	
    
    while(!InputFile.eof())
     {	

        InputFile >> NumbersFromFile[Counter];
        Counter++;
     }

	
    InputFile.close();

    Least(NumbersFromFile, Counter);
    Greatest(NumbersFromFile, Counter);
    Average(NumbersFromFile, Counter);

    return 0;


}

Any help would be greatly appreciated.

Modify your code with,

if(!InputFile)
    {
	cout << "Error!";
	return 0;
    }

What happen if value count exceed 50?

while(!InputFile.eof())
     {	
        InputFile >> NumbersFromFile[Counter];
        Counter++;
       if(Counter==50)
            break;
     }

Adatapost,

That is great advice about adding the break for my while loop, I should have had it for robustness in the first place.

I suppose I still have a follow up question though. Any file name I enter, it breaks now, because it doesn't open the file correctly.

I don't know what I am doing wrong for it not to open the file correctly though.

Once again, I appreciate your help. From the computer science books I have, the input file part of my code should be exactly right.

I have created an output file, just to check to see if that would work, and it works fine. My input file on the other hand, even if I write the name of the file into my code instead of having it be user entered, still does not open.

I'm not sure what I'm doing different between the two.

This article has been dead for over six months. Start a new discussion instead.