Programación General > Pascal
Re: Ayuda con un procedimiento
(1/1)
Panteon:
Tengo un problema ocn un prodecimiento el cual se supone que debe de pasar todo lo que tengo guardado en un archivo de acceso directo a un array
aquí está el procedimeinto
--- Citar ---procedure listar;
var
cont,x,j:integer;
begin
clrscr;
assign(datos, 'alumnos.txt');
reset(datos);
seek (datos,0);
for x:=1 to (filesize(datos)) do
begin
read (datos, persona);
arrper[x].matricula:=persona.matricula;
arrper[x].nombre:=persona.nombre;
arrper[x].apellidop:=persona.apellidop;
arrper[x].apellidom:=persona.apellidom;
end;
for x:=1 to (filesize(datos)pp) do
writeln (arrper[x].nombre);
--- Fin de la cita ---
el problema es que cuando los despliego solo me imprime el ultimo de los alumnos en el archivo directo. y la verdad no encuentro porque no funciona...espero que alguie me pueda ayudar
Gracias
REDD:
Si estas manejando un archivo de texto te combiene mejor hacer esto:
--- Citar ---uses crt;
type
reg=record
matricula:string;
nombre:string;
apellidop:string;
apellidom:string;
end;
var
datos:text;
arrper:array[1..50]of reg;
procedure listar;
var
cont,x,j:integer;
begin
clrscr;
assign(datos, 'alumnos.txt');
reset(datos);
x:=1;
while not(seekeof(datos)) do
begin
readln(datos,arrper[x].matricula);
readln(datos,arrper[x].nombre);
readln(datos,arrper[x].apellidop);
readln(datos,arrper[x].apellidom);
inc(x);
end;
for j:=1 to (x) do
writeln (arrper[j].nombre);
readln;
end;
begin
listar;
end.
--- Fin de la cita ---
El archivo de texto supongo que es de la siguiente manera:
03060153
Fulanito
Apellido paterno
Apellido materno
02041144
Manganito
Apellido paterno
Apellido materno
Panteon:
Muchisimas gracias!! resolviste una duda que tenia jejeje gracias de nuevo
Navegación
Ir a la versión completa