Advertisement
Guest User

Untitled

a guest
Apr 22nd, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.89 KB | None | 0 0
  1. //Bloque 6.4: Estructuras de Estructuras y Ejemplo de Gestion de varias Bibliotecas #include <stdio.h> #include <string.h> #define N 50 typedef struct{ char nombre_lib[N]; char autor[N]; int lleno_lib; }libro; typedef struct{ char nombre_bi[N]; libro lib[10]; int lleno_bi; }biblioteca; biblioteca bi[3]; void vacio(); void cambio(char palabra[N]); void anadebi(); void anadelib(); void consulta (); void BuscarLibro(); void BuscarAutor(); int main(){ int op; char key; vacio(); do{ do{ printf("Elige una opcion a realizar: \n"); printf("(1) Anadir una nueva biblioteca.\n"); printf("(2) Anadir un libro a una biblioteca.\n"); printf("(3) Consultar un libro.\n"); scanf("%i",&op); }while(op<1 ||op>3); switch(op){ case 1:{ anadebi(); break; } case 2:{ anadelib(); break; } case 3:{ consulta(); break; } } system("pause"); system("cls"); printf("Quieres realizar alguna operacion mas? [S/N]: "); fflush(stdin); scanf("%c",&key); system("cls"); }while(key=='S' || key =='s' || (key!= 'n' && key !='N')); system ("pause"); return 0; } void vacio(){ int i,j; for(i=0;i<3;i++){ bi[i].lleno_bi=0; for(j=0;j<10;j++){ bi[i].lib[j].lleno_lib=0; } } } void cambio(char palabra[N]){ int lengh; lengh=strlen(palabra); palabra[lengh-1]='\0'; } void anadebi(){ int i,escape; escape=0; for(i=0;i<3 && escape==0;i++){ if(bi[i].lleno_bi==0){ printf("Introduce un nombre para la biblioteca: "); fflush(stdin); fgets(bi[i].nombre_bi,N,stdin); cambio(bi[i].nombre_bi); bi[i].lleno_bi=1; escape=1; } } if(escape==0){ printf("No queda ningun hueco libre para una nueva biblioteca.\n"); } } void anadelib(){ int i,op,escape; escape=0; for(i=0;i<3;i++){ if(bi[i].lleno_bi==1){ printf("(%i) %s.\n",i,bi[i].nombre_bi); } } scanf("%i",&op); for(i=0;i<10 && escape==0;i++){ if(bi[op].lib[i].lleno_lib==0){ printf("Introduce el nombre del libro: "); fflush(stdin); fgets(bi[op].lib[i].nombre_lib,N,stdin); cambio(bi[op].lib[i].nombre_lib); printf("Introduce el nombre del autor: "); fflush(stdin); fgets(bi[op].lib[i].autor,N,stdin); cambio(bi[op].lib[i].autor); bi[op].lib[i].lleno_lib=1; escape=1; } } } void consulta (){ int opc; char key; do{ do{ printf("Elige cual va a ser tu accion.\n"); printf("(1) Buscar un libro.\n"); printf("(2) Bucar un autor.\n"); fflush(stdin); scanf("%i",&opc); }while( opc<1 || opc>2); switch (opc){ case 1:{ BuscarLibro(); break; } case 2:{ BuscarAutor(); } } printf("Quiere realizar alguno otra consulta [S/N]: "); scanf("%c",&key); }while(key == 'S' || key == 's'); } void BuscarLibro(){ char librobuscado[N]; system("cls"); printf("Introduce el nombre del libro que desea buscar: "); fflush(stdin); fgets(librobuscado,N,stdin); cambio(librobuscado); int check; check=1; int i,j,escape; for(i=0;i<3;i++){ if(bi[i].lleno_bi==1){ for(j=0;j<10 ;j++){ if(bi[i].lib[j].lleno_lib==1){ check=strcmp(librobuscado,bi[i].lib[j].nombre_lib); if(check==0){ printf("Busqueda exitosa. La infomacion referente a este libro es la siguiente: .\n"); printf("Bibloteca: %s.\n",bi[i].nombre_bi); printf("Titulo: %s.\n",bi[i].lib[j].nombre_lib); printf("Autor: %s.\n",bi[i].lib[j].autor); printf("\n\n\n"); escape=1; } } } } } if(escape!=1){ printf("Lo siento, el libro buscado no se encuentra en nuestra base de datos.\n"); system("pause"); } } void BuscarAutor(){ char autorbuscado[N]; system("cls"); printf("Introduce el nombre del autor que desea buscar: "); fflush(stdin); fgets(autorbuscado,N,stdin); cambio(autorbuscado); int check; check=1; int i,j,escape; for(i=0;i<3;i++){ if(bi[i].lleno_bi==1){ for(j=0;j<10 ;j++){ if(bi[i].lib[j].lleno_lib==1){ check=strcmp(autorbuscado,bi[i].lib[j].autor); if(check==0){ printf("Busqueda exitosa. La infomacion referente a este autor es la siguiente: .\n"); printf("Bibloteca: %s.\n",bi[i].nombre_bi); printf("Titulo: %s.\n",bi[i].lib[j].nombre_lib); printf("Autor: %s.\n",bi[i].lib[j].autor); printf("\n\n\n"); escape=1; } } } } } if(escape!=1){ printf("Lo siento, el autor buscado no se encuentra en nuestra base de datos.\n"); system("pause"); } }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement