Pilhas em C

5 respostas
paloma

Oi, tô com um problema nessa função listar, não sei pq não lista o elemento. :cry:

void listar()
{
     TColchao *plistar;
     
     plistar=topo;
      
      if(plistar==NULL){
                        printf ("\n\nPilha de colchoes vazia.\n\n");
                        return;
                        }
             
     while(plistar!=NULL){
                          printf ("Fabricante: %s", plistar->fabricante);
                          printf ("Total Pilha Colchoes: %d", plistar->num);
                          }
                          plistar=plistar->prox;
}

5 Respostas

David

Isso aqui:

plistar=plistar->prox;não deveria estar dentro do while?

paloma

Agora só está listando um elemento :cry:

void listar()
{
     TColchao *plistar;
     
     plistar=topo;
      
      if(plistar==NULL){
                        printf ("\n\nPilha de colchoes vazia.\n\n");
                        return;
                        }
             
     while(plistar!=NULL){
                          system ("cls");
                          printf ("********************************************************************************\n");
                          printf ("\t\t\tDADOS COLCHAO\n"); 
                          printf ("********************************************************************************\n");
      
                          printf ("Fabricante: %s", plistar->fabricante);
                          printf ("\n\nTotal Pilha Colchoes: %d\n\n", plistar->num);
                          plistar=plistar->prox;
                          }
}
peczenyj

bom, ai vc tem que ver como vc ta implementando no resto do algoritmo…

T
system ("cls");

Isto está limpando a tela a cada vez que se imprime um elemento.

Então o que ocorre é que você vê só o último elemento (a tela não ficou piscando um monte?)

Tente deixar isso fora do loop e veja o que ocorre.

paloma

Uma solução tão simples, valeu :wink:

Criado 18 de junho de 2006
Ultima resposta 20 de jun. de 2006
Respostas 5
Participantes 4