If you know there is a fixed number of grades/courses, then you actually won't need to check for the newline.
If you do want to read until the newline, then you need two steps. First, you read the entire line into a string, and then, you use the string to read in all the other variables (using a stringstream that acts as a fstream but on a string, found in #include <sstream>). Here is how to add this:
string s;
getline(dataIn, s); //read the entire line until the newline character, into string s.
stringstream ss(s); //create a stringstream to read from the string s.
while( (counter < 8) && //while not at the end of counter.
(ss >> arg.gradepoint[counter] >> arg.hours[counter]) ) //and stream is not empty.
{
total = total + arg.gradepoint[counter];
counter++;
};