• Domingo 18 de Agosto de 2019, 07:37

Autor Tema:  problema con este codigo  (Leído 648 veces)

grillo76

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
problema con este codigo
« en: Miércoles 24 de Marzo de 2010, 20:30 »
0
Hola, tengo un problema con este programa:
me pide realizar un programa que abra un fichero de texto para lectura, y lo vaya leyendo línea a línea. Deberá presentar como resultado final el nombre del fichero, el número de líneas y el número de caracteres.
esto es lo que yo he hecho pero me da errores.Me lo puede corregir alguien.
Un saludo

program contar;
type
tfichero=tex;
var
lineas:integer;
caracteres:integer;
suma:integer;
fichero :tfichero;

begin
writeln('Nombre fichero de origen: ');
readln(fichero);

repeat
begin
readln(fichero);
lineas:=lineas+1;
end;
until (eof(fichero));
close(fichero);
reset(fichero);
while not eof(fichero) do
begin
while not eoln(fichero) do
begin
read(fichero,caracteres);
suma:=suma+1;
end;
if eoln(fichero)then readln(fichero);
end;
writeln('>',lineas,' lineas y ',suma, 'caracteres.');
close (fichero);
end.

DriverOp

  • Miembro MUY activo
  • ***
  • Mensajes: 201
    • Ver Perfil
Re: problema con este codigo
« Respuesta #1 en: Jueves 25 de Marzo de 2010, 01:44 »
0
Los problemas son varios.

- "tex" no es un tipo de dato Pascal.
- No estás asignando el nombre físico del archivo al nombre lógico (llamada al provedimiento Assign();).
- No estás abriendo el archivo en modo lectura (llamada al procedimiento reset();) antes de comenzar a leer.
- No estás verificando que el archivo exista (el usuario podría ingresar cualquier cosa como nombre de archivo físico).

Hay un par más pero son de lógica. Primero atiende los que he señalado.