• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

gunky

Erro em estruturas...[Resolvido]

1 mensagem neste tópico

Boas tenho 1 array de estruturas e quero chamar 1 funçao que preenche essa estrutura, guarda num ficheiro e depois volte a ler do mesmo ficheiro....

ta-me a dar problemas a aceder aos campos....

alguem tem alguma ideia de onde esta o erro?!

cumps


typedef struct aluno{

char nome[150];
char cod[10];  //codigo do aluno e unico
int idade;
//Disciplina inscricao;  // campo que guarda as disciplinas o nivel e as notas do aluno
}ALUNO;


ALUNO array_a[200];	

void escreve(ALUNO *al[200])
{
FILE *fp;
int i=0;


fp=fopen("Alunos.dat","wb");
if(fp==NULL)
	printf("Erro abrir ficheiro");


for(;i<1;i++)
{
	printf("nome:\n");
	fflush(stdin);
	gets(al[i]->nome);
	printf("codigo:\n");
	fflush(stdin);
	gets(al[i]->cod);
	printf("idade:\n");	
	fflush(stdin);
	scanf(" %d", &(al[i]->idade));	 
	printf("------------->%d\n",al[i]->idade);

	fwrite(&al,sizeof(ALUNO),1,fp);

}
fclose(fp);

fp=fopen("Alunos.dat","rb");
if(fp==NULL)
	printf("Erro abrir ficheiro");



	for(i=0;i<1;i++)
	{
		while ( fread(&al, sizeof(ALUNO), 1, fp) == 1 )

		printf("------>valor de i:%d\n\n\n",i);
		printf("nome ------ %s\n", al[i]->nome);
		printf("------>valor de i:%d\n\n\n",i);
		printf("codigo ------ %s\n", al[i]->cod);
		printf("------>valor de i:%d\n\n\n",i);
		printf("idade ------ %d\n", al[i]->idade);
		printf("------>valor de i:%d\n\n\n",i);
		printf("\n");
		system("pause");
	}


	fclose(fp);

}

int main()
{
ALUNO n;

escreve(&n);

return 0;

}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora