#include <stdio.h>
#include <stdlib.h>

#define NOME_MAX 25             /* tamanho maximo dum nome. */
#define NOMECAD "25"            /* idem em formato de cadeia. */
#define NOMEMAT_MAX (NOME_MAX+1) /* 25 para o nome e 1 para o '\0'. */

int main(int argc, char *argv[])

{
    int numero, teste, trabalho;
    char nome[NOME_MAX];
    FILE *entrada;
    
    if(argc != 2)
    {
        fprintf(stderr, "Tem de passar um argumento!\n");
        return EXIT_FAILURE;
    }
    if((entrada = fopen(argv[1], "r")) == 0)
    {
        fprintf(stderr, "Erro abrindo o ficheiro \"%s\".\n", argv[1]);
        return EXIT_FAILURE;
    }
    while(fscanf(entrada, "%d %" NOMECAD "c %d %d", 
                 &numero, nome, &teste, &trabalho) == 4)
        printf("Numero: %d\nNome: %s\n"
               "Nota no teste: %d\nNota do trabalho: %d\n\n", 
               numero, nome, teste, trabalho);

    fclose(entrada);

    return EXIT_SUCCESS;
}