miguelnaotilt miguelnaotilt - 1 month ago
137 0

No description

C

vai tiltar ao caralho

#include <stdio.h>
#include <stdlib.h>
typedef struct staluno{
char nome[51];
int idade;
int ordem;
};

void removefile(){
remove( alunos );
}

int addaluno(char *name){
    FILE *f;
    tAluno aluno;
    //Abre para gravação em modo append
    f=fopen(name,"ab");
    if (!f)
    {
        printf("Erro ao abrir o ficheiro!");
        //Devolve 2 se houver erro. Não é depois utilizado neste exemplo...
        return 2;
    }
    //Pedir dados do aluno
    //Escreva o nome do aluno"
    fgets(aluno.nome,50,stdin);fflush(stdin);
    //Escreva a idade do aluno"
    scanf("%d",&aluno.idade);fflush(stdin);
    //Gravar o aluno no ficheiro
    fwrite(&aluno,sizeof(tAluno),1,f);
    fclose(f);
    return 1;
}

int apresentaalunordenado(char *name){
    FILE *f;
    tAluno aluno;
    int i=1;
    //Abre para leitura
    f=fopen(name,"rb");
    if (!f)
    {
        printf("Erro ao abrir o ficheiro!");
        return 0;
    }
    //Lê o primeiro registo
    fread(&aluno,sizeof(tAluno),1,f);
    //Se não for o fim do ficheiro (existe registo)
    while(!feof(f)){
        //Apresenta o número do registo
        printf("%d\n",i++);
        //Mostra dados do registo (aluno)
        printf("Nome: %sIdade: %d\n\n",aluno.nome,aluno.idade);
        //Lê registo seguinte
        fread(&aluno,sizeof(tAluno),1,f);
    }
    fclose(f);
    return 1;
}
}