Hola!
Su programa tiene más errores de los que dices. Por ejemplo al escribir en el fichero con la función altas, en el fichero escribes esos datos:
clave nombre apellido numero nombreMascota tipoMascota edadMascota
Que bem poderia ser algo como:
"007 Raul Vasquez 111222333 Roque perro 2"
Quedando los datos acima tal como:
clave = 007
nombre = "Raul"
apellido = "Vasquez"
numero = 111222333
nombreMascota = "Roque"
tipoMascota = "perro"
edadMascota = 2
Pero luego intentas leer desde el fichero con este trozo de código:
lectura >> clave;
while (!lectura.eof()) {
lectura >> nombre >> apellido >> grupo >> numero;
cout << "\n";
cout << "\tClave: " << clave << endl;
cout << "\tNombre: " << nombre << endl;
cout << "\tApellido: " << apellido << endl;
cout << "\tNumero: " << numero << endl;
cout << "\tNombre mascota" << nombreMascota << endl;
cout << "\tTipo mascota" << tipoMascota << endl;
cout << "\tEdad mascota" << edadMascota << endl;
lectura >> clave;
cout << "\t________________________________\n";
}
Y pregunto...¿Por qué intentas ler
clave >> nombre >> apellido >> grupo >> numero
cuando lo que tienes en el fichero es
clave >> nombre >> apellido >> numero >> nombreMascota >> tipoMascota >> edadMascota
???
Lo correcto seria que sú código fuera algo como eso:
lectura >> clave >> nombre >> apellido >> numero >> nombreMascota >> tipoMascota >> edadMascota;
while (!lectura.eof()) {
cout << "\n";
cout << "\tClave: " << clave << endl;
cout << "\tNombre: " << nombre << endl;
cout << "\tApellido: " << apellido << endl;
cout << "\tNumero: " << numero << endl;
cout << "\tNombre mascota" << nombreMascota << endl;
cout << "\tTipo mascota" << tipoMascota << endl;
cout << "\tEdad mascota" << edadMascota << endl;
lectura >> clave >> nombre >> apellido >> numero >> nombreMascota >> tipoMascota >> edadMascota;
cout << "\t________________________________\n";
}
Revise su código, porque en la hora de leer estás haciendo mal. Tanto la función consulta como todas las demás repites el mismo error. Debes leer los mismos datos que has guardado, no puedes escribir siete datos y luego leer menos o más, debes leer siete.
Arregle esos puntos y luego vuelva y nos cuantas como ha salido.