Teste

Disponível somente no TrabalhosFeitos
  • Páginas : 3 (589 palavras )
  • Download(s) : 0
  • Publicado : 27 de setembro de 2012
Ler documento completo
Amostra do texto
LISTA ENCADEADA DUPLA


#include
#include
#include
#include

void inicializa();
void menu();
void incluir();
void alterar();
void excluifila();
void excluipilha();
void excluir();void listaremordem();
void listaremordeminversa();
void finaliza();

struct xpto
{
int codpeca;
char descricaopeca[20];
struct xpto *ant;
struct xpto *prox;
};

typedef struct xptolista;
lista *inicio=NULL;
lista *atual=NULL;
lista *anterior=NULL;
lista *fim=NULL;
lista *inverso=NULL;

int main (void)
{
char opcao='0';
inicializa();
while (opcao !='8'){
menu();opcao=getchar();
fflush(stdin);
switch(opcao){
case '1':incluir();
break;
case '2':alterar();
break;
case '3':excluifila();
break;
case '4':excluipilha();
break;
case '5':excluir();
break;case '6':listaremordem();
getchar();
break;
case '7':listaremordeminversa();
getchar();
break;
case '8':printf("\nFIM DE EXECUCAO!");
finaliza();
getchar();
exit(1);
default:break;
}
}
}void inicializa(){
inicio =(lista*) malloc (sizeof (lista));
if (!inicio){
printf("\nNao existe espaco na memoria!");
exit(1); }
inicio->ant = NULL;
inicio->prox = NULL;
atual = inicio;atual->ant = inicio;
}

void incluir()
{
lista *novo=NULL;
novo = (lista*) malloc (sizeof (lista));
if (!novo){
printf("\nNao existe espaco na memoria!");
exit(1);
}
printf("\nDigite o codigoda peca: ");
scanf("%d",&novo->codpeca);
fflush(stdin);
printf("\nDigite a descricao da peca: ");
gets(novo->descricaopeca);
novo->ant = atual;
novo->prox = NULL;
atual->prox = novo;
atual =novo;
}

void alterar()
{
int codbusca,encontrou=0;
printf("\n\nDigite o codigo da peca para alterar a descricao: ");
scanf("%d",&codbusca);
if (inicio->prox==NULL)
printf("\nLista vazia!Busca para alteracao nao pode ser processada!\n");
else{

for (atual=inicio->prox; atual!=NULL; atual=atual->prox){
if (codbusca==atual->codpeca){
encontrou=1;
fflush(stdin);
printf("\n\nDigite a...
tracking img