Library Operation using C Program


#include<stdio.h>
#include<conio.h>
int i=0;
void add();
void search();
void sort();
void sorta();
struct book
{
char bookname[50];
char author[50];
double price;
int nocopy;
}book[50];
void main()
{
int ch;
while(1)
{
clrscr();
printf("********************");
printf("\nLIBRARY MANAGEMENT");
printf("\n******************");
printf("\n1-ADD TO LIBRARY");
printf("\n2-SEARCH A BOOK");
printf("\n3-SORT BY BOOK NAME");
printf("\n4-SORT BY AUTHOR NAME");
printf("\n5-EXIT");
printf("\nEnter your choice:");
scanf("%d",&ch);
switch(ch)
{
case 1: add();
break;
case 2: search();
break;
case 3: sort();
break;
case 4: sorta();
break;
case 5: exit(0);
default: puts("Please enter 1-5 only");
getch();
}
}
}
void add()
{
printf("\n\nADD TO LIBRARY");
printf("\nEnter the Bookname: ");
fflush(stdin);
gets(book[i].bookname);
printf("\nEnter the Author name: ");
fflush(stdin);
gets(book[i].author);
printf("\nEnter the Price of the Book: ");
scanf("%ld",&book[i].price);
printf("\nEnter no of copies : ");
scanf("%d",&book[i].nocopy);
printf("STORED");
printf("\nBOOK NAME: %s",book[i].bookname);
printf("\nAUTHOR : %s",book[i].author);
printf("\nPRICE : %d",book[i].price);
printf("\nNO OF COPIES: %d",book[i].nocopy);
i++;
getch();
}
void search()
{
int f=0,y,j,x;
char bookn[50],authorname[50];
printf("\n Enter the Book Name: ");
fflush(stdin);
gets(bookn);
printf("\n Enter the Author Name: ");
fflush(stdin);
gets(authorname);
printf("\nThe Given Search");
printf("\nThe Book Name is: %s",bookn);
printf("\nThe Author Name is : %s",authorname);
for(j=0;j<i;j++)
{
x= strcmp(book[j].bookname,bookn);
y=strcmp(book[j].author,authorname);
if(x==0&&y==0)
{
printf("\nBOOK IS FOUND");
getch();
f=1;
}
}
if(f==0)
{
printf("\nBOOK NOT FOUND");
getch();
}
getch();
}
void sort()
{
int j,k,x;
char t[50];
for(j=0;j<i;j++)
{
for(k=0;k<j;k++)
{
x = (strcmp(book[k].bookname,book[k+1].bookname));
if(x>0)
{
strcpy(t,book[k].bookname);
strcpy(book[k].bookname ,book[k+1].bookname);
strcpy(book[k+1].bookname, t);
}
}
}
printf("\nSORTED BY BOOK NAME");
for(j=0;j<i;j++)
{
printf("\nThe BookName is:%s - %s",book[j].bookname,book[j].author);
}
getch();
}
void sorta()
{
int j,k,x;
char t[50];
for(j=0;j<i;j++)
{
for(k=0;k<j;k++)
{
x = (strcmp(book[k].author,book[k+1].author));
if(x>0)
{
strcpy(t,book[k].author);
strcpy(book[k].author ,book[k+1].author);
strcpy(book[k+1].author, t);
}
}
}
printf("\nSORTED BY AUTHOR NAME");
for(j=0;j<i;j++)
{
printf("\nThe AUTHOR NAME is:%s - %s",book[j].author,book[j].bookname);
}
getch();
}