Programación General > Pascal
:blink: Error 113: Error In Statement!!!!!!!!!
M4R14N0:
primero saludos a todos, y felicitaciones porque esta muy bueno el foro.
bueno voy a grano. no tengo mucha idea y estoy empesando a practicar programacion en turbo pascal, estoy tratando de hacer una agenda, media precaria por ahora pero bue :P . necesito ayuda cuando compilo el programita me tira un error en el primer procedimiento y no me puedo dar cuenta cual es el problma :angry: . no me cabe duda q sea una pavada :rolleyes:, porque empese hace un tiempito nomas :D .
bueno ak les dejo el codigo para q lo miren, aver si me pueden dar una ayudita por favor. bueno desde ya les agradesco. chau muchas gracias.
--- Código: Text --- program agenda1; uses crt; const nombrearchivo='agenda.dat';type tagenda = record nombre:string; apellido:string; telefono:integer; end; tarchivo=file of tagenda; var agenda:tarchivo; (************FUNCION Q ME DICE SI EXISTE NOMBRE EN EL REGISTRO*****************) function existe_nombre(var archivo:tarchivo; temporal:tagenda):boolean;var aux:tagenda; beginreset(archivo);while not eof(archivo) dobegin read(archivo,aux); if (temporal.nombre = aux.nombre) then begin existe_nombre:=true; exit; end else existe_nombre:=false;close(archivo);end; (**************************CARGARA LOS DATOS EN EL ARCHIVO*********************) procedure cargar(var archivo:tarchivo); var temporal:tagenda; beginreset(archivo);write('ingrese nombre completo : '); readln(temporal.nombre);write('ingrese apellido : '); readln(temporal.apellido);write('ingrese telefono : '); readln(temporal.telefono);if not existe_nombre(archivo,temporal) then write(archivo,temporal); //sino existe se cargan los datoselse begin writeln('el nombre q esta ingresando ya existe '); cargar(archivo); //si existe el nombre, se llama al procedimiento nuevamente end;close(archivo);end;
micropais:
borrado :hola:
Enko:
--- Citar ---- usas comentarios en C , en Pascal son así
{un comentario de texto}
(* otro comentario las dos estrellas son obligatorias *)
(* {un comentario dentro de otro} *)
--- Fin de la cita ---
En pascal se aceptan tanto los comentarios con {} como con (* *). El último estilo fue muy popular en EUROPA debido por la facilidad de los () y complicación de {}.
Los nuevos compiladores de pascal tambien aceptan los comentarios de linea cono C y otros lenguajes.
--- Código: Text --- {comentario}(* comentario *)//comentario de una linea sola
micropais:
borrado
Enko:
M4R14N0:
tenías un par de errores "tontos", en la primer funcion te faltaba un end del while not eof, y en la segunda, en el if tenías un ; de más.
Fijate que te agregue comentarios en donde estaban los errores. Eso si, ahora compila pero no se si funciona ya que no es todo el programa lo que pasaste.
--- Código: Text --- function existe_nombre(var archivo:tarchivo; temporal:tagenda):boolean;var aux:tagenda;begin reset(archivo); while not eof(archivo) do begin read(archivo,aux); if (temporal.nombre = aux.nombre) then begin existe_nombre:=true; Exit; end else existe_nombre:=false; end; (*te faltaba este end*) close(archivo);end; procedure cargar(var archivo:tarchivo);var temporal:tagenda;begin reset(archivo); write('ingrese nombre completo : '); readln(temporal.nombre); write('ingrese apellido : '); readln(temporal.apellido); write('ingrese telefono : '); readln(temporal.telefono); if not existe_nombre(archivo,temporal) then write(archivo,temporal) (* el ";" no va*) else begin writeln('el nombre q esta ingresando ya existe '); cargar(archivo); end; close(archivo);end;
micropais:
--- Citar ---TP7 sigue sin aceptarlos - ó eso creo - , si halguien quiere que le revisen el programa , por lo menos tendria que decir la version pascal que utiliza , yo
asumo tp5 6 ó 7 de borlan como estandard , ya que algunas de estas versiones estan liberadas y son gratuitas y además faciles de obtener.
Si alguien me dice que el codigo está escrito con otro tipo de compilador o bajo
otra plataforma ,ó incluso delfi , o pascal IBM o incluso GNU linux . No solo no lo corrijo si no que ni siquiera leo el mensaje . ya que desconozco totalmente las caracteristicas de susodicho compilador.
--- Fin de la cita ---
Calculo que usa Free Pascal, Delphi no es por el Uses CRT;
Respecto a los compiladores..... relativamente son bastante compatibles pero hay cositas que se diferencian.
El FP (FreePascal) deja usar los comentarios de una linea solo como C y ademas asignaciones del tipo i := i+5; pueden ser como i+=5;
por supuesto que hay otras cosas, pero como dije antes, son bastante compatibles.
yo la verdad que prefiero programar en delphi, hago aplicaciones consola para no tener que meterme con las guis. El tema es que TP7 es muuuy obsoleto y no te permite hacer un monton de cosas que por ejemplo el FreePascal Si.
Respecto al estandar de pascal, cuando salió el TP no era estandar, se consideraba estandar al ISO Pascal pero aun así fue un éxito. Inovaba un monton de cosas, no solo el entorno sino que el lenguaje permitía POO en pascal cosa que antes no se podía.
Ahora quedó un tanto viejito, y realmente el FreePascal lo supera en eso, además el free pascal utiliza ya el lenguaje Object Pascal que es mucho más comodo el POO que trae el TP. (Al menso que no te interese la Programcion Objeto Orientado, te lo recomiendo).
por sierto, ¿programas por hobby o estas en una carrera de ingeniería?
Saludos :hola: :P
Navegación
[#] Página Siguiente
Ir a la versión completa