Promedio (C++)

//PROGRAMA EN C QUE GENERA UN ARCHIVO DE ENTRADA DE NOTAS Y LUEGO //IMPRIME PROMEDIO.
//14/11/2012 <> 9:33 P.M

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

using namespace std;

typedef struct
{
int pp,sp,tp;
} inv;

int main()
{
FILE *arch;
float total=0,promedio=0;
int i=0;
inv RecordInv;
char opc;
char ResulPP[15],ResulSP[15],ResulTP[15];
arch =  fopen("nuevo.txt","a+"); 

   if(arch == NULL)
   {
      fprintf(stderr,"El archivo no se pudo crear o abrir");
      getch();
      exit(1);
   }

do
{
printf("Digite Primer: " );  scanf("%d",&RecordInv.pp);
printf("Digite Segundo: ");  scanf("%d",&RecordInv.sp);
printf("Digite Tercer: " );  scanf("%d",&RecordInv.tp);
fprintf(arch,"%10d %50d %15d",RecordInv.pp, RecordInv.sp, RecordInv.tp);
printf("Deseas continuar (S/N): ");
opc=getch();
}while ((opc=='S') || (opc=='s')) ;

printf("\n");
printf("+-------------------------------------------------------+\n");
printf("| Primer          Segundo          Tercero |\n");
printf("+-------------------------------------------------------+\n");
fclose(arch);
arch =  fopen("nuevo.txt","r");
     while(feof(arch)=='\0')
{
    fscanf(arch,"%15s %20s %25s",ResulPP,ResulSP,ResulTP);
total+= atoi(ResulPP)+atoi(ResulSP)+atoi(ResulTP);
            i++;
printf("|%10s %16s %16s\t\t| \n",ResulPP,ResulSP,ResulTP);
fflush(stdin);
}
printf("+-------------------------------------------------------+\n");
     promedio=total/i;
printf("Promedio %10.2f",promedio);
fclose(arch);
     getch();
return 0;
}