Posto il codice cosi è più chiaro

codice:
#include <stdio.h>
#include <stdlib.h>
#define N 6
/*
 *
 *
 *
 *
 */


int main() {

    int numero, num, pos, media;
    int i = 0;
    int j = 0;
    int V[N];

    struct risultato{
        int pos;
        float med;
    }risultati[N];

    FILE *cfPtr; /*cfPtr = punta al file ingresso.txt*/


    /*scrive il file*/
    if ((cfPtr = fopen("appello.txt", "w")) == NULL){
        printf ("Il file non può essere aperto");
    }

    else{
        printf ("Inserisci i numeri del vettore : \n");
        printf ("Inserisci EOF per terminare l'inserimento \n");
        scanf ("%d", &numero);

	while (!feof(stdin)){
            scanf ("%d", &numero);

        }



         fclose(cfPtr);
	}


         printf ("Inserisci il numero da cercare : \n");
         scanf ("%d", &num);



        /*fopen apre il file*/
    if ((cfPtr = fopen("appello.txt", "r")) == NULL){
        printf ("Il file non può essere aperto");
    }
    else{

        fscanf (cfPtr, "%d", &numero);
        V[i] = numero;
        i++;

         while (!feof(cfPtr)){ 
            fscanf (cfPtr, "%d", &numero);
             V[i] = numero;
             i++;

             for (i = 0; i < N; i++){
                if (num = numero){
                        risultati[i].pos = i;
                        risultati[i].med = (float)(V[i-1]*V[i+1])/2;
                    }

                }
             printf ("Posizione del numero : %d", risultati[i].pos);
             printf ("Media : %.2f", risultati[i].med);




            }
         fclose(cfPtr);

        }



    return 0;
}
il debug si ferma all'istruzione in rosso..perchè legge solo l'ultimo elemento del file scritto in precedenza e quindi poi trova ctrl-z e si ferma...come mai il puntatore punta all'ultimo elemento e non al primo?