ejercicio Pascal, ayuda para terminarlo

Iniciado por manu3742, 1 Abril 2011, 14:32 PM

0 Miembros y 1 Visitante están viendo este tema.

manu3742

NO veo por qué no sumas las líneas de este programa, me podeís ayudar.

Program contar;



var

c: char;
fichero: text;
url_archivo: string;
lineas: integer;
caracteres: integer;



begin
url_archivo:='C:\contar.txt';
assign(fichero, url_archivo);
reset(fichero);
caracteres:=0;
lineas:=0;



begin
   
    while not eof(fichero) do begin
     
         readln(fichero,c);
       caracteres:=caracteres+1;
   
     
     if not eof(fichero) then
   
       lineas:=lineas+1;
         readln(fichero);
     end;

end;
     
writeln('El nombre del fichero es ', url_archivo);
writeln('El numero de lineas es ',lineas);
Writeln('El numero de letras es ',caracteres);


END.


manu3742


manu3742


Khronos14

Utiliza las etiquetas GeSHi para poner el código.

Código (delphi) [Seleccionar]

program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
  Text: TextFile;
  Buffer, Archivo: string;
  Lines: integer = 0;
  Size: integer = 0;
begin
  {$I-}
  Archivo:= 'C:\prueba.txt';
  AssignFile(Text, Archivo);

  FileMode:= 0; //ReadOnly
  Reset(Text);

  if IOResult = 0 then
    begin
      while not EOF(Text) do
        begin
          ReadLn(Text, Buffer);
          Inc(Lines);
          Size:= Size + Length(Buffer);
        end;
      CloseFile(Text);

      WriteLn('Numero de lineas: ', Lines);
      WriteLn('Numero de caracteres: ', Size);
    end else
      WriteLn('Se produjo un error abriendo el archivo: ', Archivo);
  {$I+}

  Readln;
end.


Está hecho en Delphi pero debería funcionar en FreePascal.

Las directivas {$I-} y {$I+} son para controlar los errores de tipo Input/Output. Si la función IOResult() devuelve 0 es que el archivo se abrió con éxito. FileMode es una variable de Delphi que establece el modo de apertura de un archivo, por defecto, se abren los archivos en modo lectura y escritura, el 0 es modo lectura.

Saludos.

manu3742

Perdona , pero sino me lo pones en Pascal me pierdo, es que estoy empezando..

saludos

Khronos14

Delphi es Object Pascal, si te fijas la sintaxis del código que te puse es idéntica a la de tu código. Prueba a compilarlo en FreePascal y pregunta las dudas que tengas  ;)

Saludos.

manu3742

La cuestión es que tengo que enviar el ejercicio con el código Pascal. en el momento se me identifique con Delhi que es el proximo xurso que voy a hacer me dice que no lo acepta

Khronos14

manu3742, te estoy diciendo que Delphi es Pascal jajaja

Delphi es un compilador que utiliza el lenguaje de programación Object Pascal, creas un archivo con la extensión .pas, le pones el código y lo compilas con FreePascal y listo.

manu3742

no te enfades que me esta costando un mundo el curso de trabajo y lo hago a ratos . Es que no utilizo el FreePascal , utilizo el Notepad ++ como editor del curso por eso el código que me has mandado no lo compila.