Fich: Nombre, DNI, edad. Fwrite - fseek - fread

fichero examenD.html
#include <stdio.h>

	struct datos{
		char nombre[20];
		int DNI;
		int edad;
		char domicilio[50];
	}personas[3];

int main(){
	
	FILE *fichero;
	int i=0;
	int numero, numero2;
	
	if((fichero = fopen("gente.dat","wb"))==NULL){
		printf("No se pudo abrir el archivo\n");
	}
	else{
		do{
			puts("Nombre: ");
			gets(personas[i].nombre);
			puts("DNI: ");
			scanf("%d",&personas[i].DNI);
			fflush(stdin);
			puts("Edad: ");
			scanf("%d",&personas[i].edad);
			fflush(stdin);
			puts("Domicilio: ");
			gets(personas[i].domicilio);
			
			fwrite(&personas[i], sizeof(personas),1,fichero);
			i++;
			
		}while(i<3);
		fclose(fichero);
	}
	if((fichero = fopen("gente.dat","rb")==NULL)){
		printf("No se pudo abrir el archivo\n");
	}
	else{
		do{
			printf("Escriba el numero de fichero que quiere leer: ");
			scanf("%d", &numero);
			fflush(stdin);
			printf("Numero = %d ",numero);
			
			i = numero-1;
			
			fseek(fichero, sizeof(personas)*(numero-1), SEEK_SET);
			fread(&personas[i], sizeof(personas),1,fichero);
			printf("Nombre: %s \nDNI: %d\nEdad: %d\nDomicilio: %s\n",personas[i].nombre,personas[i].DNI,personas[i].edad,personas[i].domicilio);
			
			
		}while((numero>0)&&numero<=3);
		fclose(fichero);
	}

	
	system("pause");
	return 0;
}