ADA - insertar un registro en un fichero secuencial

 
Vista:

insertar un registro en un fichero secuencial

Publicado por Noika (1 intervención) el 03/01/2006 16:54:41
Hola, estoy estudiando Ing Tec de Gestion y he comenzado hace muy poco con este lenguaje ADA, aunque ya tengo conocimientos en programacion este me resulta algo complicado.

Tengo que realizar un fichero donde introduzca datos de clientes.
mi codigo es el siguiente pero realmente no me compila y nose donde tengo el error, lo he intentado de bastantes formas pero si alguien me puede ayudar o mandarme algun ejemplo en concreto lo agradeceria mucho.

type DATOS is record
apellido: string(1..15);
Nombre:string(1..15);
Modelo: MODELO_TYPE;
fecha:string(1..10);

<etc>
end record;

package datos_io is new ada.sequential_io(DATOS);
use datos_io;

f_io:datos_io.file_type;
Datos_c:DATOS;

begin

create(f_io,append_file,"DATOS_CLIENTES.DAT");

<PIDO DATOS AL USUARIO>
AHORA COMO LOS INTRODUZCO EN EL REGISTRO Y A SU VEZ EN EL FICHERO???????
gracias por vuestra ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Introducir datos de clientes en un fichero

Publicado por Alejandro (155 intervenciones) el 30/06/2023 16:27:53
Aquí tienes un ejemplo de cómo puedes introducir datos de clientes en un fichero utilizando el lenguaje Ada:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
with Ada.Text_IO;
with Ada.Strings.Fixed;
with Ada.Strings.Unbounded;
 
procedure Main is
   type DATOS is record
      Apellido : String(1 .. 15);
      Nombre   : String(1 .. 15);
      -- Otros campos del registro DATOS
   end record;
 
   package Datos_IO is new Ada.Sequential_IO(DATOS);
   use Datos_IO;
 
   F_IO    : Datos_IO.File_Type;
   Datos_C : DATOS;
 
   -- Función auxiliar para eliminar espacios en blanco al final de una cadena
   function Trim_String(Input : String) return String is
      Result : String(1 .. Input'Length');
   begin
      Result := Ada.Strings.Fixed.Trim(Input);
      return Result;
   end Trim_String;
 
begin
   Create(F_IO, Append_File, "DATOS_CLIENTES.DAT");
 
   -- Pedir datos al usuario y guardarlos en el registro
   Ada.Text_IO.Put("Ingrese el apellido del cliente: ");
   Ada.Text_IO.Get_Line(Datos_C.Apellido);
   Datos_C.Apellido := Trim_String(Datos_C.Apellido);
 
   Ada.Text_IO.Put("Ingrese el nombre del cliente: ");
   Ada.Text_IO.Get_Line(Datos_C.Nombre);
   Datos_C.Nombre := Trim_String(Datos_C.Nombre);
 
   -- Asignar otros valores a los campos del registro DATOS
 
   -- Escribir el registro en el fichero
   Write(F_IO, Datos_C);
 
   Close(F_IO);
   Ada.Text_IO.Put_Line("Los datos del cliente han sido guardados en el fichero.");
end Main;

En este ejemplo, se utiliza el módulo `Ada.Text_IO` para interactuar con el usuario y leer los datos que se introducen. Luego, se utiliza el módulo `Ada.Sequential_IO` para crear y escribir el registro en el fichero especificado. Asegúrate de reemplazar `<otros campos del registro DATOS>` con los campos adicionales que necesites en tu estructura de datos.

Recuerda que este es solo un ejemplo básico para mostrarte cómo puedes introducir datos de clientes en un fichero utilizando Ada. Puedes expandir este código y personalizarlo según tus necesidades específicas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar