score.dat란 파일을 읽어 입력받는값없이 작성하는 코딩인데

score.dat란 파일에는

홍길동        59          70        80
이순신        85        75        90
강감찬        72        75        65
안철수        90        80        96
문재인        80        100        87

이렇게 입력되어있습니다.

그래서 이파일을 

fp = fopen("score.dat", "r");
    
    fscanf(fp, "%s",St.name);
    fscanf(fp, "%d %d %d", &St.korean, &St.english, &St.math);
    
    fscanf(fp, "%s",St.name);
    fscanf(fp, "%d %d %d", &St.korean, &St.english, &St.math);
    
    fscanf(fp, "%s",St.name);
    fscanf(fp, "%d %d %d", &St.korean, &St.english, &St.math);
    
    fscanf(fp, "%s",St.name);
    fscanf(fp, "%d %d %d", &St.korean, &St.english, &St.math);
    
    fscanf(fp, "%s",St.name);
    fscanf(fp, "%d %d %d", &St.korean, &St.english, &St.math);
    
    
    St.sum = St.korean + St.english + St.math;
    St.average = St.sum / 3.0;

이렇게 입력을 했는데 문제는 
fscanf(fp, "%s",St.name);
    fscanf(fp, "%d %d %d", &St.korean, &St.english, &St.math);

을 하나를 넣으면

홍길동        59          70        80 이렇게 뜨고

 fscanf(fp, "%s",St.name);
    fscanf(fp, "%d %d %d", &St.korean, &St.english, &St.math);
    
    fscanf(fp, "%s",St.name);
    fscanf(fp, "%d %d %d", &St.korean, &St.english, &St.math);

두개를 넣으면

이순신        85        75        90 이게 나옵니다 저게 하고싶은것은 

fscanf를 받았을때

홍길동        59          70        80
이순신        85        75        90
강감찬        72        75        65
안철수        90        80        96
문재인        80        100        87

전체다 나오게 하고싶거든요 어디를 손봐줘야할까요?