Foro de elhacker.net

Programación => Ejercicios => Mensaje iniciado por: joseanh en 30 Junio 2013, 03:10 am



Título: AYUDA con procedimientos en pascal
Publicado por: joseanh en 30 Junio 2013, 03:10 am
Ayuda con los procedimientos de ordenar y modificar, no los entiendo bien.

program registro(input,output);
uses crt;
const numpersona=3;
type
   carasteristica=record
   cedula,edad,telefono:integer;
   apellido,nombre,nacionalidad:string;
end;

lista=Array[1..numpersona] of carasteristica;
var personas:lista; var cant:integer;

procedure insertar(var personas:lista; var cant:integer);

var ced,ed,tel,x:integer;
var ape,nom,nac:string;
var encontrado:integer;
begin

    encontrado:=0;
    writeln('ingrese cedula');
    readln(ced);
      if (cant=0) then
          encontrado:=0
      else
          for x:=1 to cant do
               begin
               if (ced=personas
  • .cedula) then
                  begin
                     encontrado:=1;

                  end;
                 end;
            
    if (encontrado=0) then
       begin
            cant:=cant+1;
           writeln('ingrese cedula');
           readln(ced);
           writeln('ingrese nombre');
           readln(nom);
           writeln('ingrese edad');
           readln(ed);
           writeln('ingrese nacionalidad');
           readln(nac);
           writeln('ingrese telefono');
           readln(tel);

            personas[cant].cedula:=ced;
            personas[cant].apellido:=ape;
            personas[cant].nombre:=nom;
            personas[cant].edad:=ed;
            personas[cant].nacionalidad:=nac;
            personas[cant].telefono:=tel;

       end
    else
        writeln(' Registro ya existe ');
  end;

procedure mostrar(var personas:lista; var cant:integer);
 var x: integer;
 begin
  for x:=1 to cant do
  writeln(' cedula: ',personas
  • .cedula,' apellido: ',personas
  • .apellido,' nombre: ',personas
  • .nombre,' edad: ',personas
  • .edad,' nacionalidad: ',personas
  • .nacionalidad,' telefono: ',personas
  • .telefono);
readkey;
 end;
begin
end.

procedure ordenar(var personas:lista; var cant:integer);
var x,y,z,valor:integer;
var aux:dat;

   for x:=1 to cant do
     begin








procedure modificar(var personas:lista; var cant:integer);
var x,valor,encon,posicion,nuevodat:integer;
var opcion:string;

begin
repeat
      clrscr;
      encon:=0;
personas
  • .cedula:=nuevodat;
     writeln('ingrese valor a modificar');
      readln(valor);
           for x:=1 to cant do
           if (valor= personas
  • .cedula)then
          begin