Ir para conteúdo

POWERED BY:

Arquivado

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

rojaum

estrutura/ponteiro

Recommended Posts

Galera, só uma duvida eu posso postar aqui uma duvida sobre como trabalhar com ponteiros referente a estrutura de dados?vlw ^_^

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem, tenho que criar um programa que implemente uma lista de alocação dinamica, acho que tipo um encadeamento, para armazenar uma lista de alunos contendo: nome, nota1, nota2, faltas de cada aluno; e que seja possivel inserir um aluno no inicio da lista; inserir um aluno no final da lista; inserir um aluno em uma posicao informada pelo usuario(qnd esta existir); apagar um aluno em uma posicao informada pelo usuario(qnd esta existir); apagar o primeiro aluno da lista; apagar o ultimo aluno da lista; mostrar todos os alunos cadastrados;

 

bem, o que fiz até o momento:

 

programa listadinamicatype apontador = ^cad_alunos; cad_alunos = record  nomealuno : string;  nota1, nota2 : real;  faltas : integer;  proximo : apontador; end;var aux, novo, inicio, fim, meio : apontador; continua : char; i, posicao : integer;begin inicio := nil; continua := 's'; i := 0; if continua = 's' then repeat  begin   new(novo);   i := i+1;   writeln('aluno: ');   readln(novo^.nomealuno);   writeln('nota 1: ');   readln(novo^.nota1);   writeln('nota 2: ');   readln(novo^.nota2);   writeln('faltas: ');   readln(novo^.faltas);	  if inicio = nil then		begin			inicio := novo;			fim := novo;		end		else		begin			fim^.proximo := novo;			fim := novo;		end;	writeln('continua? s/n');	readln(continua); until (continua='n');writeln('cadastrar mais alunos? s/n');readln(continua);if continua = 's' then //aqui começaria pra acrescentar usuario ao meio da lista, ou seja, na posicao que o usuario informar, aqui me perco hehehe//aqui apenas listo a lista de meu alunos do inicio ao fimaux := inicio;i:=0;while aux <> nil do  begin   i:=i+1;   writeln('alunos: ');   writeln(aux^.nomealuno);   aux := aux^.proximo; end;readln;readln;end;

 

bem, se puderem ajudar..quanto a parte de inserir no inicio e no final, to tentando fazer aqui, acho que to no caminho, só estou perdido mesmo quanto a parte do inserir no meio da lista: pensei em algo + - assim:

 

novo^.proximo := meio;

meio^.proximo := novo;

 

mas sei la..acho que nao funfa http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif

 

 

vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.