Gracias, sirvió de maravilla! Era algo que estaba pasando por alto!
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú
int eliminar(){
agenda *temp = primero;
char pal_clave[100];
gets(bas); //variable para almacenar la tecla intro
printf("\n Dame el nombre completo de la persona a borrar: ");
gets(pal_clave);
//este ciclo recorre la agenda hasta encontrar el nombre
do{
//si la palabra clave a buscar coincide con el nombre
if(strcmp(pal_clave,temp->nombre) == 0){
//si es la primera en la lista
if (temp == primero){
//si no tiene registro en su campo siguiente
if(temp->sig== NULL){
primero = NULL;
ultimo = NULL;
free(temp);
}
else{
//si tiene registros en su campo siguiente, este se asigna al primero
primero=temp->sig;
primero->ant = NULL;
}
return true;
}
if(temp == ultimo){
ultimo = temp->ant;
ultimo -> sig = NULL;
free(temp);
return true;
}
temp->ant->sig=temp->sig;
temp->sig->ant = temp->ant;
//libero espacio en memoria del registro borrado
free(temp);
return true;
}
//avanza al siguiente en la lista
temp = temp->sig;
}
while(temp != NULL);
return false;
}