Base de Datos Rudimentaria: un ejemplo

Toño Sánchez y Blanca Simón
 
\ ESTE PROGRAMA CONSTRUYE UNA LIBRERÍA MEDIANTE ESTRUCTURAS
\ PERMITE BUSCAR LIBROS Y AMPLIAR DICHA LIBRERÍA
 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

struct libro
{
       char autor [15];
       char titulo [40];
       int anio;
       int ISBN;
       struct libro * sig;
};
typedef struct libro Libro;
void crear_libro (Libro *);
void buscar_libro (Libro *);
int main ()
{
    int c=0;
    Libro * INICIO;
    INICIO=(Libro *)malloc(sizeof (Libro));
    INICIO ->sig=NULL;
    printf ("Bienvenido a nuestra Biblioteca nn");
    while (c!=’*’)
    {
          printf("Acciones posibles: nn");
          printf ("1: Introducir datos de un nuevo libro n");
          printf ("2: Buscar un libro n");
          printf ("3: Acabar n");
          printf ("nnEscribe la opcion deseada: ");
          scanf ("%d", &c);
          fflush(stdin);
          switch (c)
          {
                 case 1: crear_libro (INICIO);
                         break;
                 case 2: buscar_libro (INICIO);
                         break;
                 case 3: printf ("nnAqui se acaba su Libreria nn");
                         c=’*’;
                         system("pause");
                         break;
           }
          system ("cls");   
     }
     printf("nn FIN nnn");
     system ("pause");
     return 0;
}
void crear_libro (Libro * plib)
{
     while(plib->sig!=NULL)
          plib=plib->sig;
     printf("nn");
     printf ("Dame autor del libro: n");
     gets (plib->autor);
     printf ("Dame titulo: n");
     gets (plib->titulo);
     printf ("Dame anio de publicacion: n");
     scanf ("%d", &(plib->anio));
     printf ("Dame ISBN n");
     scanf ("%d", &plib->ISBN);
     plib->sig=(Libro *)malloc(sizeof(Libro));
     plib=plib->sig;
     plib->sig=NULL;
}
void buscar_libro (Libro * plib)
{
     char cad [15];
     printf("nn");
     printf ("Dame autor que quieres buscar: n");
     gets (cad);
     while (strcmp(cad, plib->autor)!=0 && plib->sig!=NULL)
          plib=plib->sig;
     if(plib->sig!=NULL)
     {
        printf("nn");
        printf ("El titulo del libro es: n");
        puts (plib->titulo);
        printf ("El anio de publicacion es: %d n", plib->anio);
        printf ("El ISBN del libro es: %d n", plib->ISBN);
     }
     else
        printf ("Ese autor no esta en la libreria n");
     system ("pause");
}

Esta entrada fue publicada en Sin categoría. Guarda el enlace permanente.

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s