Hello,

I am just learning how to use the seekg operator. In the code I have written, my intent was to move to the third line of data in an external text file, work with that line of data, and then stop. I used an if statement (if newValue == '\n') to try and tell the program that my wish is to read one, and only one line of code.
I have had success in getting it to read the line I want, but it also reads every line after that line, rather than breaking once the newline character is encountered. Can someone help me tell this program what I really want it to do?
Here is my program:
Code:
/* This program will make a first pass to find the average
 * of the numbers in an external file,
 * and a second pass to find the difference between 
 * each number and the average. 
 * It is being modified to read and operate on
 * only one line from the external data file.
 */


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

int main()
{
	ifstream inStream("data.txt");
	assert(inStream.is_open());

	double newValue,
		   sum = 0.0,
		   average = 0.0;
	int count = 0;

	for (;;)
	{
		inStream >> newValue;
		if (inStream.eof()) break;
		sum += newValue;
		count++;
	}

	if (count > 0)
		average = sum / count;
	inStream.clear();
	inStream.seekg(24, ios::beg);
    // 12 bytes per line in data.txt file
	for (;;)
	{
		inStream >> newValue;		
		if (inStream.eof()) break;		 		
		cout << "New Value = " << newValue << ": " << newValue - average << endl;		
		if (newValue == '\n') break;		
	}
			
	inStream.close();
}