ayuda listas dinamicas
Publicado por Augusto (6 intervenciones) el 22/07/2018 21:05:33
hola buenos dias a todos necesito ayuda con la siguiente consigna
Realizar un listado de Clientes, que permita realizar las siguientes transacciones, deberán determinar que
estructura dinámica es la correspondiente para almacenar los datos en memoria.
Cargar Clientes con la siguiente estructura: Nombre, Apellido, Teléfono, Dirección, Provincia.
1. Cargar Clientes.
2. Listar Registros Cliente.
3. Eliminar un Registro Cliente.
4. Obtener la cantidad de registros actuales.
2. Listar Registros: Imprimir por pantalla todos los registros.
3. Eliminar un registro: pudiendo ser cualquiera de ellos.
4. Obtener la cantidad de registros actuales.
Realizar un listado de Clientes, que permita realizar las siguientes transacciones, deberán determinar que
estructura dinámica es la correspondiente para almacenar los datos en memoria.
Cargar Clientes con la siguiente estructura: Nombre, Apellido, Teléfono, Dirección, Provincia.
1. Cargar Clientes.
2. Listar Registros Cliente.
3. Eliminar un Registro Cliente.
4. Obtener la cantidad de registros actuales.
2. Listar Registros: Imprimir por pantalla todos los registros.
3. Eliminar un registro: pudiendo ser cualquiera de ellos.
4. Obtener la cantidad de registros actuales.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
program project1;
type
TLista=^TNodo;
TNodo=record
info: integer;
sig:TLista;
end;
var
lista:TLista;
procedure Construir(n:integer);
var
nuevo:TLista;
begin
new(nuevo);
nuevo^.info:=n;
nuevo^.sig:=lista;
lista:=nuevo;
end;
procedure Imprimir(l:TLista);
begin
while (l<>nil)do
begin
writeln(l^.info);
l:=l^.sig;
end;
end;
procedure borrarprimero(var l:tlista);
var
paux:Tlista;
begin
paux:=l;
l:=l^.sig;
dispose(paux);
end;
procedure borrar(var l:tlista;valor:integer);
var
encontrado:boolean;
pant,paux:Tlista;
begin
encontrado:=false;
paux:=l;
pant:=nil;
while(paux<>nil)and(not encontrado)do
begin
encontrado:=(paux^.info = valor);
if not(encontrado)then
begin
pant:=paux;
paux:=paux^.sig;
end;
end;
if(encontrado)then
if (pant=nil)then
begin
l:=l^.sig;
dispose(paux);
end
else
begin
pant^.sig:=paux^.sig;
dispose(paux);
end;
end;
Valora esta pregunta


0