Ir ao conteúdo
  • Cadastre-se

Ponteiros


Rodriyggo

Posts recomendados

Fala ai galera do fórum... tudo certo..

Estou com uma duvida aqui... Tenho esse exercício para responder:

• Faça um programa armazene dados de times de futebol. Devem ser armazenados o nome do time e a sua sigla. Para cada time devem ser armazenados os jogadores, ou seja, para cada jogador deve-se guardar seu nome, peso e altura.

 Mostre para cada time o total de jogadores

 Mostre para cada time somente os jogadores que estivem fora de peso (peso > 90kg)

 Use alocação dinâmica para resolver este exercício

Minha duvida é a seguinte como eu faço o campo “prox” apontar para dois lugares?

Exemplo: time A aponta para a lista de jogadores e também para o time B.

Outra duvida de um outro exercício como é feita a inserção de um campo no meio da lista.

Desde já agradeço a todos do fórum...

Abraço

Link para o comentário
Compartilhar em outros sites

Claro... Desculpa já não ter postado no primeiro tópico.

Ainda estou incrementando falta a função de alguns botões. Tipo o peso acima de 90kg. E a quantidade de jogadores por time... mais isso é tranquilo... O problema esta na implementação dos ponteiros

unit time;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Buttons;

type
TForm1 = class(TForm)
Panel1: TPanel;
Label1: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Button1: TButton;
Label5: TLabel;
Label6: TLabel;
Edit4: TEdit;
Label7: TLabel;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Label8: TLabel;
Edit5: TEdit;
Button5: TButton;
procedure Button1Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);

private
{ Private declarations }
public
{ Public declarations }
end;

tipoJogador = ^nodoJogador;
nodoJogador = record
nome : String ;
peso : String;
altura : String;
proxj : tipoJogador;
end;

tipoTime = ^nodoTime;
nodoTime = record
nome : String;
sigla : String;
proxt : tipoTime;
end;


var
Form1: TForm1;
listaTime :tipoTime;
listaJogador : tipoJogador;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
novo : tipoJogador;

begin

new(novo);
novo^.nome := Edit1.Text;
novo^.peso := Edit2.Text;
novo^.altura := Edit3.Text;
// inserindo no início da lista
novo^.proxj := listaTime;
listaTime := novo;

ShowMessage('Jogador Cadastrado');
Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
end;

procedure TForm1.Button4Click(Sender: TObject);
var novo : tipoTime;
begin
new(novo);
novo^.nome := edit4.Text;
novo^.sigla := edit5.Text;
// inserindo no início da lista
novo^.proxt := listaTime;
listaTime := novo;
ShowMessage('Time Cadastrado');
Edit4.Clear;
Edit5.Clear;

end;

procedure TForm1.Button5Click(Sender: TObject);
var
aux : tipoTime ;
begin
aux := listaTime;
if aux = nil then
ShowMessage('nada a mostrar')
else
while aux^.proxt <> nil do
begin
ShowMessage('Nome.: '+aux^.nome +
' Sigla: '+ aux^.sigla );
aux := aux^.proxt;
end;
end;

end.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!