I figured it out. I read the names using a getline and then used the get command to read in the numbers into a character array. Then I used the atof function to convert to a floating point. I also had to use an additional getline after the get statement to clear the new line character from the file.
Reading strings from a file is easy as is reading numbers. It gets complicated when you try to read both. After you read in a number, I found out that you have to clear the newline character after the number. I did it with a getline.
infile.open("Name_height.dat",ios::in);
getline(infile,l_name); //gets the first name
while(!infile.eof())
{
infile>>h;
cout <<l_name<<'\t'<<h<<endl;
getline(infile,nl); // removes the new line character from the file stream
getline(infile,l_name); // gets all the other names
}