En la aplicación
contaremos con un módulo para realizar operaciones con artículos, como dar de
alta y de baja un producto, visualizarlos en pantalla, vender un determinado
número de ejemplares o reponer stock de ese producto. La estructura de los
datos correspondientes a un producto de dicho comercio sería:

También contaremos con estructuras que agrupen la información
relativa a los libros por un lado y a las películas por otro, de forma que
pueda consultarse el código de producto por el autor de un libro, el director
de una película o por sus nombres, así como dar de alta y de baja los libros y
películas. Por ejemplo, las estructuras libro y DVD podrían ser:

Así, la única relación entre la estructura articulo y la
descripción del mismo en la estructura libro o DVD es el mismo valor del campo cod_art. De esta forma, es el
programa principal el que se encarga de relacionarlos. La estructura en forma
de árbol de las librerías de nuestra aplicación quedaría de la siguiente forma:

Se podría haber optado por incluir un campo en la estructura
de tipo articulo que se correspondiera con los datos del libro o DVD. Así
descargamos al programa principal de la responsabilidad de relacionar ambas
estructuras mediante el código del artículo y podríamos mostrar la información
sobre el precio y stock junto con los detalles del libro o DVD, o dar de
alta/baja simultáneamente a la estructura articulo y al libro/DVD. La
estructura articulo resultante sería:


Y entonces la jerarquía de las librerías de nuestra
aplicación sería completamente diferente:

A partir de ahora supondremos que, en este ejemplo, optamos
por la primera de las dos asociaciones posibles: artículos y libros/dvd.
Empezaremos por definir el archivo de declaración articulo.h con la estructura
articulo y la cabecera de las funciones que implementa:


No hay comentarios:
Publicar un comentario