Use getline e >> quando ler o arquivo C ++

Porque os dados do arquivo se parecem com isto: a linha 1 é o nome (primeiro), a próxima linha é a pontuação (score1 score 2 .... score5) e assim por diante ... Então eu acho que preciso de getline para name e >> para Ponto

Exemplo de arquivo de dados

David Beckham
80 90 100 20 50
Ronaldinho Gaucho
99 80 100 20 60
....

Primeiro de tudo, eu tenho estrutura

struct Player {
string name;
int score[5];
} player[size]

Quando ler dados do arquivo

int i = 0;
while(!file.eof())
    {
        for (int j = 0; j < 2; j++) //read each 2 two lines
        {               
            if(j==0) // name
            {               
                getline(file, player[i].name);  
            }
                        else if(j==1) // score
            {
                for(int k=0; k<5; k++) file >> player[i].grade[k];
            }
                }
         i++; //move to next player
    }

Problema é depois de ler todas as pontuações (do primeiro jogador), parece que não vai para a próxima linha para continuar a ler o próximo nome, tipo de confusão lá em cima. Então, alguma sugestão para corrigir meu código ou nova ideia para fazer isso?

questionAnswers(2)

yourAnswerToTheQuestion