La verdad el codigo esta un poco desordenado y asi no dan ganas, pero viendo asi por encima
lo unico que vi raro fue
Cita: float leerNoNegativo(float)
no se que hace ahi, parece una funcion, pero no tiene llaves y aparte de eso en la siguiente linea implementantas otra funcion :
Cita: void aniadirPers(tPersona pers[],*int *pnp,int maxp)
y creo que hay un asterisco de mas: void aniadirPers(tPersona pers[],
*int *pnp,int maxp)