Hola a todos:
tengo un problemilla,estoy haciendo una agenda en codigos pascal,nesecito hacer que haga varias cosas,como guardar,leer,imprimir,listar,borrar, y solo tengo lo de guardar,nesecito a alguien caricativo que me eche una mano,adjunto lo que llevo hecho hasta ahora espero que me ayudeis.
Sorry but you are not allowed to view spoiler contents.
:lol:
Mi cuñao es manco, perdonarle.
Hola:
Cita de: raul_isl en 13 de Noviembre de 2010, 22:37
:lol:
Mi cuñao es manco, perdonarle.
Si realmente es tu cuñado o amigo, le ayudo... tengo casi 20 años de experiencia en pascal. Si va de coña, le pueden dar mucho por ahí :gñe:
Es realmente mi cuñao, y su duda es realmente real.
Ok. Necesito saber el compilador que usas. No es lo mismo usar turbo pascal que lazarus... También necesitaría saber qué funciones habéis dado para trabajar con ficheros, no vaya a ser que meta la pata y lo haga con métodos que no habéis dado.
A mi no me mires, yo vivo en las palmas, y el en lanzarote :lol:
El esta haciendo un curso en nose donde de noseque. Ahora le digo que te responda a todo eso.
Se lo preguntaba a él, coño :lol:
También necesito saber si habéis dado la definición de TAD (Tipo Abstracto de Dato) para ver si la estructura de la agenda hay que mejorarla, y si habéis dado unidades, para partir la funcionalidad del código en diferentes ficheros. Y esas cosas.
Coño raul, te traes a toda la familia a solucionar las dudas al foro :lol:
Las que no puedo solucionar si, es que sois gente muy sabia :lol:
Y me daba palo que te molestaran otra vez por mp :$
lo siento,estoy haciendo lo mas basico,yo lo recopilo en un programa llamado pascal ide,perdona si no era la respuesta que qeurias pero es quehe empezado hace dos semanas ha hacer programitas.
Bueno, IDE significa Integrated Developement Enviroment... Vamos a ver cual te suena más de los siguientes:
- Turbo Pascal
- Dev-Pascal
- Lazarus
- Free Pascal
En serio necesito saberlo... O si no, pásame el link de dónde te lo has descargado, o cualquier referencia que tengas en apuntes o lo que sea. Aunque sea comprimes tu directorio de pascal y me lo mandas.
free pascal
Ok. Mañana te subo una versión mejorada de lo tuyo, con algún comentario puesto que veo que no tienes, y con alguna funcionalidad más. Si tuvieses el enunciado de la práctica sería mejor. Pero ya te digo que mañana, que hoy ya es tarde para programar, y mañana lo tengo libre. Si eso que te avise raul_isl en cuanto esté, así no tienes que andar mirando el foro.
ok gracias mañana te doy el enunciado del ejercicio ok gracias por todo.
Me he topado con muchos problemas de compilación de tu proyecto.
Citarprogram miagenda;
uses crt;
const
max=3;
L=50;
type
cadena=string[L];
tipo_persona=record;
nombre:cadena;
tlf:string[9];
end;
tipo_agenda=array[1..max] of tipo_persona;
var
agenda:tipo_agenda;
nombre:cadena;
i:integer;
cont:integer;
j:integer;
op:char;
{nombre:string[50];}
function esta(n:cadena;a:tipo_agenda;i:integer):integer;
var
j:integer;
begin
if i=0 then
esta:=-1
write('la agenda esta llena')
else
begin
for j:=1 to i do
esta:=j
else
esta:=-1;
begin
j:=0;
repeat
j:=j+1;
until (a[j].nombre=n) or (j>i);
if j>i then
esta:=-1
else
esta:=j;
end;
write('');
readln(p);
readln(tlf);
a[i+1]:=p;
end;
end;
procedure agregar(n:cadena;var a:tipo_agenda;var i:integer);
var
p:tipo_persona;
begin
if i>=max then
wirteln('la agenda esta completa')
else
begin
p:nombre:=n;
writeln('introduzca el telefono');
readln(p.tlf);
a[i+1]:=p;
i:=i+1;
end;
end;
begin
cont:=0;
repeat
clrscr;
writeln('A añadir');
writeln('B borrar');
writeln('L listar');
writeln('G guardar');
writeln('esc salir');
writeln;
op:=upcase(readkey);
if op<>#27 then
begin
case op of
'A':
begin
writeln('introduzca un nombre');
readln(nombre);
if esta(nombre,agenda,cont)=-1 then
begin
agregar(cont,agenda,nombre);
cont:=cont+1;
writeln('pulse una tecla para continuar');
end
else
begin
write('ya esta guardado en la memoria');
repeat until keypressed;
end;
end;
'B':write('borrar');
'L':write('listar');
'G':write('guardar');
else write('error porfavor elija una accion correcta');
end;
end;
until op=#27;
end.
El primero: estás declarando un tipo record, no puede ir un punto y coma detrás de la palabra reservada.
El segundo: estás en un if, con lo cual para poder utilizar dos líneas de instrucciones debes declarar el begin y el end, y además te falta el punto y coma.
El tercero: usas un for, pero tiene un else... no sé lo que pretendías hacer ahí, por ahora solamente estoy echando un vistazo.
El cuarto: no has declarado la variable p. Creo que querías leer un tipo_persona directamente... es un registro, hay que leer los campos y escribirlos, no puedes leer a cholón.
El quinto: tampoco has declarado la variable tlf.
Y más que habrá, por ahora son los que he visto.
Done. Tienes MP.