Programación General > Pascal

 Consulta de archivo (ordenacion)

(1/1)

Nightwalker:
tengo este code ...

--- Código: Pascal ---program admin; usescrt;//Declaramos las variables que usamosconstarchext = 'archivo.dat';contador = 0;//declaro estructuratype          datos=record                nombre:string[30];                apellido:string[30];                dni:string[10];                telefono:string[20];                direccion:string[30];                n_carpa:integer;         end;        // arreglo de datos para ordenarARdatos = array[0..100] of datos; //declaro que agenda es igual a el tipo de estructuraagenda = file of datos;var op:char;  //operacion a realizararch:agenda; //nombre interno de archivo procedure crear_arch(var info:datos);   //procedimiento crea archivobegin    Assign(arch, archext);    //asigno el archivo interno a el declarado en la constante al principioend;  procedure a_cliente(); //procedimiento para agregar cliente        var                    //variables de el procedimiento     info:datos;    begin        reset(arch);         writeln('Ingrese Nombre');  //ingresamos los datos         readln(info.nombre);         writeln('Ingrese Apellido');         readln(info.apellido);         writeln('Ingrese Dni');         readln(info.dni);         writeln('Ingrese Telefono');         readln(info.telefono);         writeln('Ingrese Direccion');         readln(info.direccion);         writeln('Ingrese Numero De Carpa');         readln(info.n_carpa);         write(arch, info);         close(arch); end;  procedure m_cliente();       begin                       // COMO MODIFICO DATOS DE LOS CLIENTES       end;  procedure menu;   //Formamos el menu   begin   writeln('Menu');    writeln('1.Agregar Cliente');    writeln('2.Modificar Cliente');    writeln('3.Borrar Cliente');    writeln('4.Opcion de Respaldo de Datos');    writeln('5.Finalizar Aplicacion');     end;procedure decision; //depende de el numero la accion que eligen del menu    begin        readln(op);         case op  of           '1' : a_cliente; // Agrego Cliente//           '2' : m_cliente; // Modifico Cliente//           '3' :b_cliente; // Borro cliente//           '4' : respaldo; // Realizamos backup//           '5' : cerrar;  // Guarda y cierra        end;    end;      procedure listar(var info:datos); // este compila bien pero si lo llamo en el programa principal me da error :S        begin                while not eof do                        write('El listado de Nombres completo es:',info.nombre);                end;   Begin // Programa Principal        menu;     End.  la cuestion es como completo el procedimiento de ordenacion que me hice un lio BARBARO! y por que me da error cuando llamo a listar ?¿?¿?¿ si me pueden dar una mano se los agradeceria :D

tengo esto ahora pero no anda

--- Código: Pascal ---procedure ordeno(var ARdatosarray:datos);          var ordenado:boolean;aux,i:integer;j:integer;    begin         ordenado:=false;         while not ordenado=true do// Vamos a recorrer todo el vector parándonos en cada posición, salvo en la última porque ya está ordenada sí o sí tras la primera pasada.             for i:= 1 to 100-1 do// y por cada parada, se recorre el vector hasta el final, haciendo las comparaciones.        for j:=i to 100 do // Veo si la posición siguiente del vector es mayor a la actual               if (ARdatos[j] < ARdatos[j+1]) then                 aux:=ARdatos[j]; // guardo temporalmente la posición actual en auxiliar,                ARdatos[j]:=ARdatos[j+1];//la posición actual pasa a valer lo mismo que la posición siguiente,            ARdatos[j+1]:=aux; // la posición siguiente pasa a valerlo que valía la posición actual (aux).  

m0skit0:
Hola Nightwalker

Primero, utiliza las etiquetas de código y no las de cita.

Segundo, como consejo, es un poco absurdo llamarle a un tipo de datos datos. Ya sabemos que son datos. Ponle un nombre más lógico, como tCliente, por ejemplo. Lo agradecerás más tarde cuando tengas miles de tipos de datos (o variables) en un mismo programa.

Navegación

[0] Índice de Mensajes

Ir a la versión completa