Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Duda en estructura de datos FreePascal (https://www.clubdelphi.com/foros/showthread.php?t=87132)

heruer 19-11-2014 02:39:06

Duda en estructura de datos FreePascal
 
hola tengo el siguiente problema:
La fotocopiadora de la universidad desea llevar registro de las fotocopias vendidas por materia. Para cada materia quiere registrar la cantidad de fotocopias vendidas por mes. Además del nombre de la materia, también quiere registrar el nombre del profesor. Defina las estructuras de datos necesarias para almacenar esta información.

yo definí la estructura de datos de la siguiente manera pero esta mal poque estoy duplicando informacion

max=10000;
Código Delphi [-]
type
TRMateria = record
                   FotVendidas:Integer;
                   mes:integer;
                   Materia:String;
                   Profesor:string;
                 end;

TAFotocopia=array[1..max] of TRMateria
de esta forma repito profesor y materia por cada mes y no es eficiente. Alguien me podría ayudar a armar una estructura que no duplique los datos por mes

desde ya muchas gracias

ecfisa 19-11-2014 06:28:44

Hola heruer, bienvenido a Club Delphi :)

Como a todos los que se inician te invitamos a leer nuestra Guía de estilo.

Código Delphi [-]
...
type
  TMateria = record
    Inx   : Word;
    Nombre: string;
  end;

  TProfesor = record
    Inx   : Word;
    Nombre: string;
  end;

  TFotocopia = record
    Mes     : Byte;
    Vendidas: Integer;
    MateInx : Word;
    ProfInx : Word;
  end;

  VMaterias   = array[1..MAX_MATERIAS] of TMateria;
  VProfesores = array[1..MAX_PROFESORES] of TProfesor;
  VFotocopias = array[1..MAX_FOTOCOPIAS] of TFotocopia;
Donde MateInx almacena el índice del arreglo de materias y ProfInx almacena el índice del arreglo de profesores.

Pero, como Free Pascal soporta el uso de arreglos dinámicos, sería mejor hacer:
Código Delphi [-]
...
  VMaterias   = array of TMateria;
  VProfesores = array of TProfesor;
  VFotocopias = array of TFotocopia;

Saludos :)

heruer 19-11-2014 09:34:30

Muchas gracias por la ayuda ecfisa


La franja horaria es GMT +2. Ahora son las 09:14:35.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi