#include<stdio.h> #include<conio.h> #include<string.h> #include<stdlib.h> struct libro { char CODIGO[10],TITULO[30],AUTOR[20],EDITORIAL[30],SITUACION[30]; int PRECIO; }; struct libro g[100]; int nr=0;
void introducir() { int rep=0,j=0; char sn; sn='s';
while(sn!='n')
{
do{ clrscr(); gotoxy(28,20); printf("Introduce el codigo del libro"); gotoxy(58,20); scanf("%[^\n]",g[nr].CODIGO); fflush(stdin);
rep=0; for(j=0;j<nr;j++) if (strcmp(g[j].CODIGO,g[nr].CODIGO)==0) rep=1; if(rep==1) { gotoxy(28,23); printf("El codigo introducido ya existe.Pulsa una tecla."); getch(); } }while (rep!=0); fflush (stdin);
gotoxy(28,21); printf("Introduce el titulo"); gotoxy(48,21); scanf("%[^\n]",g[nr].TITULO); fflush(stdin);
gotoxy(28,22); printf("Introduce el autor"); gotoxy(47,22); scanf("%[^\n]",g[nr].AUTOR); fflush(stdin);
gotoxy(28,23); printf("Introduce la editorial"); gotoxy(51,23); scanf("%[^\n]",g[nr].EDITORIAL); fflush(stdin);
gotoxy(28,24); printf("Introduce el precio "); gotoxy(48,24); scanf("%d",&g[nr].PRECIO); fflush(stdin);
gotoxy(28,25); printf("Introduce la situacion"); gotoxy(51,25); scanf("%[^\n]",g[nr].SITUACION); fflush(stdin);
nr++;
gotoxy(28,28); printf("Introducir otro:s/n"); gotoxy(48,28); scanf("%c",&sn); fflush(stdin);
} getch(); }
void borrar() { int i=0,j=0; char a[10]; clrscr(); gotoxy(28,20); printf("Introduce el codigo del libro"); gotoxy(58,20); scanf("%s",&a); fflush(stdin);
while((strcmp(a,g[i].CODIGO)!=0)&& i<nr) i++; if(i==nr) { gotoxy(28,22); printf("El libro no se ha encontrado"); getch(); } else { for(j=i;j<nr-1;j++) g[j]=g[j+1]; nr--;
gotoxy(28,22); printf("El libro se ha borrado"); getch(); } }
void consultar() { int i=0; char cod[10]; clrscr(); gotoxy(28,20); printf("Introduce el codigo del libro"); gotoxy(58,20); scanf ("%s",cod); fflush(stdin);
while (strcmp(cod,g[i].CODIGO)!=0 && i<nr)
i++;
gotoxy(28,24); if(i==nr) { printf("El codigo no se ha encontrado"); } else { gotoxy(28,25); printf ("el codigo es %s",g[i].CODIGO); gotoxy(28,26); printf ("el titulo es %s",g[i].TITULO); gotoxy(28,27); printf ("el autor es %s",g[i].AUTOR); gotoxy(28,28); printf ("la editorial es %s",g[i].EDITORIAL); gotoxy(28,29); printf ("el precio es %d",g[i].PRECIO); gotoxy(28,30); printf ("la situacion es %s",g[i].SITUACION); } getch(); }
void modificar() { char cod[10]; int i=0;
clrscr();
gotoxy(28,20); printf("Introduce el codigo del libro"); gotoxy(58,20); scanf("%s",cod);
while (strcmp(cod,g[i].CODIGO)!=0 && i<nr) i++;
if (i==nr) { gotoxy(28,22); printf("El codigo no se ha encontrado");
}
else { fflush(stdin);
gotoxy(28,25); printf("Introduce el titulo del libro"); gotoxy(58,25); scanf ("%[^\n]",g[i].TITULO); fflush(stdin);
gotoxy(28,26); printf("introduce el nombre del autor"); gotoxy(58,26); scanf ("%[^\n]",g[i].AUTOR); fflush(stdin);
gotoxy(28,27); printf("Introduce la editorial"); gotoxy(51,27); scanf ("%[^\n]",g[i].EDITORIAL); fflush(stdin);
gotoxy(28,28); printf ("Introduce el precio"); gotoxy(48,28); scanf ("%d",&g[i].PRECIO); fflush (stdin);
gotoxy(28,29); printf ("Introduce su situacion"); gotoxy(51,29); scanf ("%[^\n]",g[i].SITUACION); fflush (stdin);
}
getch(); }
void editorial() { int i=0,j=0,f=0; char cod[30]; clrscr(); gotoxy(28,20); printf("Introduce la editorial"); gotoxy(51,20); scanf("%s",&cod);
for (i=0;i<nr;i++) {
if(strcmp(cod,g[i].EDITORIAL)==0)
{ gotoxy(28,22+(f++)); printf("La editorial tiene el libro %s",g[i].TITULO);
} else j++; } if(j==nr) { gotoxy(28,22); printf("La editorial no se ha encontrado"); } getch(); }
void autor() { int i=0,j=0,f=0; char cod[20]; clrscr(); gotoxy(28,20); printf("Introduce el autor"); gotoxy(47,20); scanf("%s",&cod);
for (i=0;i<nr;i++) {
if(strcmp(cod,g[i].AUTOR)==0)
{ gotoxy(28,22+(f++)); printf("El autor tiene el libro %s",g[i].TITULO);
} else j++; } if(j==nr) { gotoxy(28,22); printf("El autor no se ha encontrado"); } getch(); }
void main () { int menu; do{ clrscr(); gotoxy(38,16); printf("Menu"); gotoxy(28,20); printf("1 para introducir un libro"); gotoxy(28,22); printf("2 para borrar un libro"); gotoxy(28,24); printf("3 para consultar un libro"); gotoxy(28,26); printf("4 para modificar un libro"); gotoxy(28,28); printf("5 para consultar una editorial"); gotoxy(28,30); printf("6 para consultar un autor"); gotoxy(28,32); printf("7 para salir"); gotoxy(28,34); printf("Opcion:"); scanf("%d",&menu); fflush(stdin);
if(menu==1) introducir(); if(menu==2) borrar(); if(menu==3) consultar(); if(menu==4) modificar(); if(menu==5) editorial(); if(menu==6) autor(); }while(menu!=7);
getch(); } |