/* one way to read through the file */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXS 256
#define MAXG 10

typedef struct {

  char name[MAXS];
  int grades[MAXG];
} studR;

void PrintSR(studR s) {

  int i;

  printf("name: %s\n", s.name);
  printf("grades: ");
  for (i=0; i < 3; i++) {
    printf("%d ", s.grades[i]);
  }
  printf("\n");
}

int main(void) {

  FILE *fp;
  studR AllStuds[10];
  int numS, i;

  fp = fopen("students.txt", "r");
  if (fp == NULL) {
    printf("Invalid file exiting\n");
     exit(0);
  }

  i =0;
  while ( fscanf(fp, "%s %d %d %d\n", AllStuds[i].name, &(AllStuds[i].grades[0]), &(AllStuds[i].grades[1]), &(AllStuds[i].grades[2])) == 4) {
    i++;
  }
  numS = i;
  for (i=0; i< numS; i++) {
    PrintSR(AllStuds[i]);
  }

  exit(0);
}