Primero que todo al definir el struct los indices estan al revez:
Código C:
Ver originalstruct agenda{
char nombre[100][25];
char telefono[100][25];
int edad[100];
int n;
}a;
Como lo habias hecho vos solo permitias 25 cotactos con nombre de 100 caracteres. Pero viendo como definiste el vector edad supongo que queres un maximo de 100 contactos.
Otro error, cuando pides los datos de la edad tambien tienes que ponerle indice y ademas el operador & para pasar la direccion de memoria:
Cuando imprimes datos no es necesario que usses el operador &.
Código C:
Ver originalp("\nNombre: %s Telefono: %s Edad %d \n", a.nombre[i], a.telefono[i], a.edad[i]);
Con respecto a tu error fijate que para comparar cadenas no podes hacer
buscarl==a.nombre[i]
Eso solo compara las direcciones de memoria que en este caso van a ser diferentes. Lo que tienes uqe usar es la funcion strcmp. Esta va comparando caracter a caracter para ver si es la misma cadena.
Por el momento eso es todo. Fijate de leer un buen manual de punteros.