Noticias:

Raul y Mskina tienen una discusión por primera vez. Esperemos que el conflicto quede aquí y no se alargue mucho.

Menú Principal

programando agenda en pascal

Iniciado por rosso27, 13 de Noviembre de 2010, 22:36

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

Bill

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.


Bill

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.

rosso27

ok gracias mañana te doy el enunciado del ejercicio ok gracias por todo.

Bill

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.

Bill


Últimos mensajes