Lista encadeada c

Disponível somente no TrabalhosFeitos
  • Páginas : 4 (778 palavras )
  • Download(s) : 0
  • Publicado : 13 de novembro de 2011
Ler documento completo
Amostra do texto
#include
#include
#include
#include

struct Cad_livro
{
char titulo[30];
char autor[20];
int pg;
int ano;
char emp; // S- sim N- nao
structCad_livro* prox;
};

typedef struct Cad_livro Lista;

/* funcao de inicialização: retorna uma lista vazia */
Lista *inicializa (void)
{
return (NULL);
}

/*insercao no inicio: retornaa lista atualizada */
Lista *insere (Lista *l, char titulom[30], char autorm[20], int pgm, int anom, char empm)
{
Lista* novo= (Lista*) malloc (sizeof(Lista));strcpy(novo->titulo,titulom);
strcpy(novo->autor,autorm);
novo->ano=anom;
novo->pg=pgm;
novo->emp='N';
novo->prox=l;
return(novo);
}

/*Função Disponivel */
voidlistaDisponiveis(Lista* l)
{
Lista *p;
for (p = l; p != NULL; p = p->prox)
{
if(p->emp == 'N' || p->emp == 'n')
{
printf("Titulo do livro: %s\n", p->titulo);
printf("Autor:%s\n", p->autor);
printf("Ano de edicao: %d\n", p->ano);
printf("Numero de paginas: %d\n", p->pg);
printf("Emprestado: %c\n\n", p->emp);
}
}
}


//*FunçãoEmprestar */
void listaEmprestados (Lista* l)
{
Lista *p;
for (p = l; p != NULL; p = p->prox)
{
if(p->emp == 'S' || p->emp == 's')
{
printf("Titulo do livro: %s\n",p->titulo);
printf("Autor: %s\n", p->autor);
printf("Ano de edicao: %d\n", p->ano);
printf("Numero de paginas: %d\n", p->pg);
printf("Emprestado: %c\n\n", p->emp);
}}
}

/*Função Busca */

Lista *buscaTitulo (Lista *l, char titulobusc[30])
{
Lista *p;
for(p=l; p!= NULL; p=p->prox)
if (strcmp(p->titulo, titulobusc)==0)
return (p);
return(NULL);
}

Lista *buscaAutor (Lista *l, char autorbusc[30])
{
Lista *p;
for(p=l; p != NULL; p=p->prox)
if (strcmp(p->autor, autorbusc)==0)
return (p);
return (NULL);
}...
tracking img