Ir ao conteúdo
  • Cadastre-se
gilmar.vicente

Pascal pilhas em modo gráfico

Recommended Posts

Olá Bom dia.

 

estudando sobre estrutura de dados, me deparei com um exemplo, encontrado na internet, em modo gráfico que

demonstra a utilização de pilhas.

 

O sistema é o seguinte:

Digita-se o nome e a idade e (acredito eu) ao clicar em listar deveria

aparecer em um listbox os dados digitados.

 

porém, aparece (1-Nome:,Idade:)

Estou encafifado com isso.

 

Há pouco conteúdo em modo gráfico sobre assunto.

 

Grato por qualquer ajuda

unit1.zip

project1.zip

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

OK.

 

Você tem algum exemplo em modo gráfico de alguma aplicação que trate de estrutura de dados.

OU alguma ideia que eu passa tentar implementar.

 

sou iniciante em pascal e tenho que entregar um trabalho sobre o assunto.

  • Amei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@gilmar.vicente    para o modo gráfico usando pascal você  precisa usar o delphi 7 , pois com o turbo pascal ou o pascalzim não tem como usar modo gráfico .

Compartilhar este post


Link para o post
Compartilhar em outros sites

@gilmar.vicente, tudo depende do que você precisa...

 

32 minutos atrás, gilmar.vicente disse:

OK.

 

Você tem algum exemplo em modo gráfico de alguma aplicação que trate de estrutura de dados.

OU alguma ideia que eu passa tentar implementar.

 

sou iniciante em pascal e tenho que entregar um trabalho sobre o assunto.

 

Que tipo de modo gráfico? que assunto?

 

O modo gráfico no Pascal creio que seja um, no Delphi (que é parente do Pascal) seria outra. Tipo, no Pascal o Gráfico seria mais volta para o ambiente MS DOS. No Delphi, no ambiente Windows.

 

Qual o enunciado do problema? tente explicar melhor o que foi pedido, antes de tentar tirar dúvidas sobre o que encontrou... pois pode ser que não tem relação... entende?

 

Poste o enunciado completo para analisarmos.

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenho um trabalho que implemente estrutura de dados (lista encadeada, pilha )  e ambiente gráfico ( buttons, text, mais de um form ).

 

preciso de uma ideia para implementação.

 

  • Curtir 1
  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
10 horas atrás, gilmar.vicente disse:

Tenho um trabalho que implemente estrutura de dados (lista encadeada, pilha )  e ambiente gráfico ( buttons, text, mais de um form ).

 

preciso de uma ideia para implementação.

 

 

Tudo sugere que seja em Delphi. Qual IDE (programa) utiliza para implementar o código?

adicionado 1 minuto depois

Sobre uma sugestão, poderia implementar uma tabela da copa...  poderia, por sinal, usar os dados reais para preencher os dados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá galera.

 

Utilizo o Lazarus IDEv1.8.2 - Tive a ideia de fazer uma Biblioteca Virtual tentando estruturar os dados em um tipo Pilha.

Fiz em modo texto para poder visualizar a lógica.

Mas quando tento implementar com button, edit, form e outros componentes não entendo onde entro com os ponteiros.

Implementei uma primeira tela de menu e uma segunda de cadastro.

 

A meta é fazer uma aplicação com alguma forma de estrutura(pilha,fila) com alocação dinâmica de memória contemplando o máximo de  componentes(button, edit) do Lazarus.

 

Grato por qualquer ajuda.

 

 

empilha_livros - Copia.rar

M_grafico.rar

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
procedure TfrmCADEXE.BtnIncluirClick(Sender: TObject);
begin

  pilha := Nil;

  begin
  if (pilha = Nil) then
  begin
  new(pilha);

  pilha^.Autor        := EdtNome_Autor.Text;
  pilha^.Nome_da_Obra := EdtNome_Obra.Text;
  pilha^.QTD_Pg       := EdtQtd_Pag.Text;
  pilha^.CEP_Autor    := EdtCEP_Autor.Text;

  pilha^.proximo := nil;
  end
  else
  begin

  aux := pilha;

  while (aux^.proximo <> Nil) do
  new(novo);
  novo^.Autor        := EdtNome_Autor.Text;
  novo^.Nome_da_Obra := EdtNome_Obra.Text;
  novo^.QTD_Pg       := EdtQtd_Pag.Text;
  novo^.CEP_Autor    := EdtCEP_Autor.Text;

  novo^.proximo := Nil;
  aux^.proximo := novo;

  end;
  end;

  ListBox1.Items.Add(pilha^.Autor + ' - ' + pilha^.Nome_da_Obra + ' - ' +  pilha^.QTD_Pg + ' - ' +  pilha^.CEP_Autor);

  EdtNome_Autor.Clear;
  EdtNome_Obra.Clear;
  EdtQtd_Pag.Clear;
  EdtCEP_Autor.Clear;


end;

procedure TfrmCADEXE.BtnRetirarClick(Sender: TObject);
begin

  if (pilha = nil) then
  begin
    ShowMessage('Sem Livros para Retirar');
  end;
  if (pilha <> nil) then
  begin
  aux := pilha;
  While(aux^.proximo <> nil) do
  begin
       penultimo :=  aux;
       aux := aux^.proximo;
  end;
  penultimo^.proximo := nil;// Aqui se encontra o erro
  Dispose(aux);
  end;
end;

Preciso que alguém mais experiente me dê uma luz.

Não está excluindo no topo como deveria.

Help - me

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×