Library Management System : C programming

Here is the code for LIBRARY MANAGEMENT SYSTEM

#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<ctype.h>
#include<stdlib.h>
#include<windows.h>
#include<time.h>
int mainmenu();
char books[100000];int dd,mm;
int login()
{
    //for login;
    char user_n[10],pw[6],p[6];
a:  printf("\n\n\t\tUser Name:\t");scanf(" %[^\n]",&user_n);
    printf("\t\tPassword:\t");scanf(" %[^\n]",&pw);
    printf("\n%s\t%s\n",user_n,pw);
    if((strcmp(user_n,"admin")==0)&& (strcmp(pw,"admin")==0))
    {
        printf("Login Successful\nPress Any Key to Continue...");getch();system("cls");
        do{printf("Give Date Only(dd):\t");scanf("%i",&dd);}while(dd>31);
        do{printf("Give Month Only(dd):\t");scanf("%i",&mm);}while(mm>12);printf("\nPress Any Key to continue...");getch();
        printf("Switching to Main Menu...");
        mainmenu();
    }
    else
    {printf("User Name or Password Incorrect");goto a;}
}
int welcome()
{
    //for welcome screen
    WORD wColor;
    HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
    CONSOLE_SCREEN_BUFFER_INFO csbi;
                       int ForgC;
    if(GetConsoleScreenBufferInfo(hStdOut, &csbi))
    {
        wColor = (csbi.wAttributes & 0xFF) + (ForgC & 0x0F);
        SetConsoleTextAttribute(hStdOut, wColor);
    }
    printf("\t\t\t\t\t***Welcome to IUT library Facility***");
    login();
    mainmenu();
}
struct Books
{
int book_id;
char title[50];
char author[50];
int student_id;
int date;
int month;
}book;
int issue()
{
    //to issue book
    int sl,i=0;
    system("cls");
    printf("ISSUE BOOK:\n");
    FILE *fptr;
    fptr=fopen("Book.txt","a");
    printf("Serial No.");scanf("%i",&book.book_id);
    printf("Book Name:");scanf(" %[^\n]",&book.title);book.title[0]=toupper(book.title[0]);
    printf("Writer Name:");scanf(" %[^\n]",&book.author);book.author[0]=toupper(book.author[0]);
    printf("Issued to Student ID:");scanf("%i",&book.student_id);book.date=dd;book.month=mm;
    fprintf(fptr,"%i %s %s %i %i.%i\n\n",book.book_id,book.title,book.author,book.student_id,book.date,book.month);
    fclose(fptr);
    for(i=0;i<50;i++)
    {
        printf("-");
    }

    printf("\nSwitching to Main Menu. Press Any Key to Continue...");
    getch();
    mainmenu();
}
int view()
{
    //to view book
    int i;
    printf("VIEW BOOK:\n");
    FILE *fp;
    fp=fopen("Book.txt","r");
    if(fp==NULL)
{
printf("\n\n\t\t RECORD EMPTY");
getch();
}
    else
{
printf("\nName\t\tWriter\t\tSTD_ID\t\tDate.Month\n");
    while ( fgets ( books, 1000000, fp ) != NULL )
    printf ( "%s" , books ) ;
printf("\n");
for(i=0;i<95;i++)
printf("-");
}
    fclose(fp);
    for(i=0;i<50;i++)
    {
        printf("-");
    }

    printf("\nSwitching to Main Menu. Press Any Key to Continue...");
    getch();
    mainmenu();
}
int search()
{
    //to search book
    int i,found=0;
char id[40];
FILE *sfile;
system("cls");
printf("SEARCH BOOK:\n");
sfile=fopen("Book.txt","rb");

printf("\n\t\tSEARCH BOOKS LIST\n\n");

printf("\nEnter Book Name to Search:");
fflush(stdin);
scanf("%s",&id);
id[0]=toupper(id[0]);
    printf("\n=====================================================================================\n");
while(fscanf(sfile,"%i %s %s %i %i.%i\n\n",&book.book_id,book.title,book.author,&book.student_id,&book.date,&book.month)!=EOF)
{
if(strcmp(id,book.title)==0)
{
found=1;
printf("ID:\t%i\n",book.book_id);
printf("Title:\t%s\n",book.title);
printf("Author:\t%s\n",book.author);
printf("Student ID:\t%i\n",book.student_id);
printf("Date:\t%i.%i",book.date,book.month);
break;
}
}
if(!found) printf("\n\n\tNo Record");
fclose(sfile);

for(i=0;i<50;i++)
    {
        printf("-");
    }

    printf("\nSwitching to Main Menu. Press Any Key to Continue...");
getch();
mainmenu();
}
int delete_book()
{
    //to delete a data
    int i,target,found;
    system("cls");
    printf("DELETE BOOK:\n");
    FILE *fptr,*fp;
    fptr=fopen("Book.txt","r");
    printf("Give Book ID for Delete: ");
    scanf("%i",&target);
    fp=fopen("Xbook.txt","w+");
    if(fptr==NULL)
{
printf("\n\tNo Record in File!");
for(i=0;i<50;i++)
    {
        printf("-");
    }
    printf("\nSwitching to Main Menu. Press Any Key to Continue...");
getch();
mainmenu();
}
else
{
    while(fscanf(fptr,"%i %s %s %i %i.%i\n\n",&book.book_id,book.title,book.author,&book.student_id,&book.date,&book.month)!=EOF)
        {
            if(target!=book.book_id)
{
fprintf(fp,"%i %s %s %i %i.%i\n\n",book.book_id,book.title,book.author,book.student_id,book.date,book.month);
}
else
{
found=1;
}
}
if(!found)
{
printf("\nRecord Not Found");
}
else
{
printf("\n\tRecord Deleted Successfully.....");
}
fclose(fptr);
fclose(fp);
remove("Book.txt");
rename("Xbook.txt","Book.txt");
for(i=0;i<50;i++)
    {
        printf("-");
    }

    printf("\nSwitching to Main Menu. Press Any Key to Continue...");
        getch();
mainmenu();
    }
}
int mainmenu()
{
    system("cls");
    int a;
    printf("1. ISSUE BOOK\n2. VIEW BOOK\n3. SEARCH BOOK\n4. DELETE BOOK\n5. DELETE FILE\n6. Exit\n\tChoose your option(1-6):\t");scanf("%d",&a);
    switch(a)
    {
    case 1:
        issue();
        break;
    case 2:
        view();
        break;
    case 3:
        search();
        break;
    case 4:
        delete_book();
        exit(0);
        break;
    case 5:
        remove("Book.txt");mainmenu();
        break;
    case 6:
        exit(0);
        break;
    default:
        printf("Wrong Entry!!");getch();
        exit(0);
    }
}
int main()
{
    welcome();
    return 0;
}








Comments

Popular posts from this blog

Code for builders