/* vgb6-04.c arreglo de estructura de libro */

#include <stdio.h>
#define FINLISTA 3		/* ultimo de la lista */

typedef struct {
  char titulo[40];
  char autores[30];
  int edicion;
  int anio;
  } t_libro;

void DtsLibro( t_libro *, t_libro);
void ImpLibro(t_libro);

void main()
{
  int i;
  t_libro lst_libro [5];

  t_libro libro1 = { "El lenguaje de Programaci¢n C",
    "Kernighan y Ritchie", 1, 1978 };
  t_libro libro2 = { "El lenguaje de Programaci¢n C",
    "Kernighan y Ritchie", 2, 1991 };

  DtsLibro ( &lst_libro[1], libro1 );
  DtsLibro ( &lst_libro[2], libro2 );

  strcpy (lst_libro[0].titulo, "ANSI C for Programmers on UNIX Systems");
  strcpy (lst_libro[0].autores, "Tim Love");
  lst_libro[0].edicion = 1;
  lst_libro[0].anio = 1996;

  strcpy (lst_libro[3].titulo, "El Entorno de Programaci¢n UNIX");
  strcpy (lst_libro[3].autores, "Kernighan y Pike");
  lst_libro[3].edicion = 1;
  lst_libro[3].anio = 1987;

  printf("\n\nLISTA DE LIBROS:\n\n");
  for (i = 0; i <= FINLISTA; i++)
    ImpLibro( lst_libro[i] );

}

void DtsLibro ( t_libro *p_libro, t_libro libx)
{
  strcpy (p_libro->titulo, libx.titulo);
  strcpy (p_libro->autores, libx.autores);
  p_libro->edicion = libx.edicion;
  p_libro->anio = libx.anio;
}

void ImpLibro(t_libro p_libro)
{
  printf("Titulo: %s\n",p_libro.titulo);
  printf("Autores: %s\n",p_libro.autores);
  printf("Edici¢n: %d\n",p_libro.edicion);
  printf("A¤o: %d\n\n",p_libro.anio);
}
