Alguém pode me dar uma ajuda com a função excluir?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <conio.h>
typedef struct Biblioteca{
char livros[51];
struct Biblioteca *prox;
}TBiblioteca;
//VARIÁVEL GLOBAL
TBiblioteca *lista;
char livros[51];
//FUNÇÃO LISTA VAZIA
TBiblioteca *lse_vazia()
{
return NULL;
}
//FUNÇÃO REGISTRAR LIVROS
TBiblioteca *Incluir_Livros()
{
TBiblioteca *ptr;
ptr=(TBiblioteca*)calloc(1,sizeof(TBiblioteca));
strcpy(ptr->livros,livros);
ptr->prox=NULL;
if (lista==NULL)
{
ptr = lista;
}
else
{
ptr->prox=lista;
lista=ptr;
}
}
//FUNÇÃO LISTAR
TBiblioteca *Listar_Livros()
{
TBiblioteca *aux;
aux=lista;
while(aux!=NULL)
{
printf ("Nome do Livro: %s",aux->livros);
}
}
//FUNÇÃO EXCLUIR LIVROS
TBiblioteca *Excluir_Livros()
{
TBiblioteca *aux1;
TBiblioteca *aux2;
Incluir_Livros();
aux2 = NULL;
aux1 = lista;
while (aux1!=NULL &&(strcmp(aux1-> livros,livros)!=0)
{
aux2 = aux1;
aux1 = aux1 -> prox;
}
if (aux2 == NULL)
{
lista = aux1 -> prox;
}
else
{
aux2 -> prox = aux1 -> prox;
}
free (aux1);
printf ("O nome do livro foi excluido \n");
}
//FUNÇÃO PRINCIPAL
int main ()
{
char op;
lista=lse_vazia();
do{
system ("cls");
printf ("(I)ncluir\n");
printf ("(L)istar\n");
printf ("(E)xcluir\n");
printf ("(S)air\n");
printf ("\n");
printf ("Digite a opcao: ");
op = toupper (getche());
switch(op)
{
case 'I': Incluir_Livros();
break;
case 'L': Listar_Livros();
break;
case 'E': Excluir_Livros();
break;
default: printf ("Opcao Invalida\n\n");
}
system ("PAUSE");
}while(op!='S');
return (0);
}
