// arraylab.cpp  Example for cps171  Oct 96  J.Remen  - main program only
// Updated for Visual C++ Fall 00
// Reads numbers into an array until a sentinel of 0 is reached and counts
// how many are in the array (excluding the sentinel).
// Program attempts to deal with datafiles with different numbers of
// good data values before the sentinel, and leaves the input marker
// positioned to read the value after the sentinel in the file.
#include 
#include 
using namespace std;
							  // Max number of good data values allowed
const int MAX_SIZE = 6;
							 // Function prototype
void GetData (ifstream& infile,  int nums[], int& count);

int main()
							 // Array declared big enough to hold all the data
							 // but not the sentinel
{  int nums[MAX_SIZE], count, next;
							 // Open datafile
	ifstream infile;
	infile.open("arraylab.dat");
	if (!infile) {
         cout << "Trouble opening data file\n" ;
		 return 1;
		}
							 // Call function to get the data into the array
							 // and return the count
	GetData (infile, nums, count);
	cout << "Back in main, count is " << count << endl;
							 // Illustrate that the input file marker is at the
							 // correct position
	infile >> next;
	cout << "The next number in the datafile after the sentinel is "
		  << next << endl;
	return 0;
}
							 // Function definition goes here