Library Management System
Library Management System
1.
Certificate........................................................
2.
Acknowledgments...........................................
4. Source Code.................................................
6. Conclusion…………………………………………
Certificate
This is to certify that Soumyadeep DUTTA, student of Class
XII Sc., Modella Caretaker Centre And School has completed
the project titled “LIBRARY MANAGEMENT SYSTEM”
during the academic year 2019-2020 towards partial
fulfillment of credit for the ComputerScience practical
evaluation of CBSE, under my supervision.
Acknowledgements
"There are times when silence speaks so much more loudly than
words of
praise to only as good as belittle a person, whose words do not
express, but only put a veneer over true feelings, which are of
gratitude at this point of time."
I would like to express my sincere gratitude to my computer
science
Mentor Mr Vikram Sharma, for his vital support, guidance and
encouragement - without which this project would not have come
forth. I
would also like to express my gratitude to the staff of the
Department of
Computer Science at DPS And School for their support during the
making of this project.
PROGRAM CODE
//***************************************************************
//****************************************************************
#include<fstream.h>
#include<conio.h>
#include<stdio.h>
#include<process.h>
#include<string.h>
#include<iomanip.h>
//***************************************************************
//****************************************************************
class book
char bno[6];
char bname[50];
char aname[20];
public:
void create_book()
cin>>bno;
gets(bname);
gets(aname);
cout<<"\n\n\nBook Created..";
void show_book()
puts(bname);
void modify_book()
gets(bname);
gets(aname);
char* retbno()
return bno;
void report()
{cout<<bno<<setw(30)<<bname<<setw(30)<<aname<<endl;}
char admno[6];
char name[20];
char stbno[6];
int token;
public:
void create_student()
clrscr();
cin>>admno;
gets(name);
token=0;
stbno[0]='/0';
void show_student()
{
cout<<"\nAdmission no. : "<<admno;
puts(name);
if(token==1)
cout<<"\nBook No "<<stbno;
void modify_student()
gets(name);
char* retadmno()
return admno;
char* retstbno()
return stbno;
}
int rettoken()
return token;
void addtoken()
{token=1;}
void resettoken()
{token=0;}
strcpy(stbno,t);
void report()
{cout<<"\t"<<admno<<setw(20)<<name<<setw(10)<<token<<endl;}
//****************************************************************
fstream fp,fp1;
book bk;
student st;
//***************************************************************
//****************************************************************
void write_book()
char ch;
fp.open("book.dat",ios::out|ios::app);
do
clrscr();
bk.create_book();
fp.write((char*)&bk,sizeof(book));
}while(ch=='y'||ch=='Y');
fp.close();
void write_student()
char ch;
fp.open("student.dat",ios::out|ios::app);
do
st.create_student();
fp.write((char*)&st,sizeof(student));
cin>>ch;
}while(ch=='y'||ch=='Y');
fp.close();
//***************************************************************
//****************************************************************
void display_spb(char n[])
cout<<"\nBOOK DETAILS\n";
int flag=0;
fp.open("book.dat",ios::in);
while(fp.read((char*)&bk,sizeof(book)))
if(strcmpi(bk.retbno(),n)==0)
bk.show_book();
flag=1;
fp.close();
if(flag==0)
getch();
cout<<"\nSTUDENT DETAILS\n";
int flag=0;
fp.open("student.dat",ios::in);
while(fp.read((char*)&st,sizeof(student)))
if((strcmpi(st.retadmno(),n)==0))
st.show_student();
flag=1;
fp.close();
if(flag==0)
getch();
//***************************************************************
//****************************************************************
void modify_book()
{
char n[6];
int found=0;
clrscr();
cin>>n;
fp.open("book.dat",ios::in|ios::out);
if(strcmpi(bk.retbno(),n)==0)
bk.show_book();
bk.modify_book();
int pos=-1*sizeof(bk);
fp.seekp(pos,ios::cur);
fp.write((char*)&bk,sizeof(book));
found=1;
fp.close();
if(found==0)
getch();
void modify_student()
char n[6];
int found=0;
clrscr();
cin>>n;
fp.open("student.dat",ios::in|ios::out);
if(strcmpi(st.retadmno(),n)==0)
st.show_student();
st.modify_student();
int pos=-1*sizeof(st);
fp.seekp(pos,ios::cur);
fp.write((char*)&st,sizeof(student));
found=1;
fp.close();
if(found==0)
getch();
//***************************************************************
//****************************************************************
void delete_student()
char n[6];
int flag=0;
clrscr();
cout<<"\n\n\n\tDELETE STUDENT...";
cout<<"\n\nEnter The admission no. of the Student You Want To Delete : ";
cin>>n;
fp.open("student.dat",ios::in|ios::out);
fstream fp2;
fp2.open("Temp.dat",ios::out);
fp.seekg(0,ios::beg);
while(fp.read((char*)&st,sizeof(student)))
if(strcmpi(st.retadmno(),n)!=0)
fp2.write((char*)&st,sizeof(student));
else
flag=1;
fp2.close();
fp.close();
remove("student.dat");
rename("Temp.dat","student.dat");
if(flag==1)
else
getch();
}
void delete_book()
char n[6];
clrscr();
cout<<"\n\nEnter The Book no. of the Book You Want To Delete : ";
cin>>n;
fp.open("book.dat",ios::in|ios::out);
fstream fp2;
fp2.open("Temp.dat",ios::out);
fp.seekg(0,ios::beg);
while(fp.read((char*)&bk,sizeof(book)))
if(strcmpi(bk.retbno(),n)!=0)
fp2.write((char*)&bk,sizeof(book));
fp2.close();
fp.close();
remove("book.dat");
rename("Temp.dat","book.dat");
cout<<"\n\n\tRecord Deleted ..";
getch();
//***************************************************************
//****************************************************************
void display_alls()
clrscr();
fp.open("student.dat",ios::in);
if(!fp)
getch();
return;
cout<<"\n\n\t\tSTUDENT LIST\n\n";
cout<<"==================================================================\n";
while(fp.read((char*)&st,sizeof(student)))
st.report();
fp.close();
getch();
//***************************************************************
//****************************************************************
void display_allb()
clrscr();
fp.open("book.dat",ios::in);
if(!fp)
getch();
return;
cout<<"\n\n\t\tBook LIST\n\n";
cout<<"=======================================================================
==\n";
cout<<"=======================================================================
==\n";
while(fp.read((char*)&bk,sizeof(book)))
bk.report();
fp.close();
getch();
//***************************************************************
//****************************************************************
void book_issue()
char sn[6],bn[6];
int found=0,flag=0;
clrscr();
cin>>sn;
fp.open("student.dat",ios::in|ios::out);
fp1.open("book.dat",ios::in|ios::out);
if(strcmpi(st.retadmno(),sn)==0)
found=1;
if(st.rettoken()==0)
cin>>bn;
while(fp1.read((char*)&bk,sizeof(book))&& flag==0)
if(strcmpi(bk.retbno(),bn)==0)
bk.show_book();
flag=1;
st.addtoken();
st.getstbno(bk.retbno());
int pos=-1*sizeof(st);
fp.seekp(pos,ios::cur);
fp.write((char*)&st,sizeof(student));
if(flag==0)
else
if(found==0)
getch();
fp.close();
fp1.close();
}
//***************************************************************
//****************************************************************
void book_deposit()
char sn[6],bn[6];
int found=0,flag=0,day,fine;
clrscr();
cin>>sn;
fp.open("student.dat",ios::in|ios::out);
fp1.open("book.dat",ios::in|ios::out);
if(strcmpi(st.retadmno(),sn)==0)
found=1;
if(st.rettoken()==1)
while(fp1.read((char*)&bk,sizeof(book))&& flag==0)
{
if(strcmpi(bk.retbno(),st.retstbno())==0)
bk.show_book();
flag=1;
cin>>day;
if(day>15)
fine=(day-15)*1;
st.resettoken();
int pos=-1*sizeof(st);
fp.seekp(pos,ios::cur);
fp.write((char*)&st,sizeof(student));
if(flag==0)
else
if(found==0)
getch();
fp.close();
fp1.close();
//***************************************************************
// INTRODUCTION FUNCTION
//****************************************************************
void intro()
clrscr();
gotoxy(35,11);
cout<<"LIBRARY";
gotoxy(35,14);
cout<<"MANAGEMENT";
gotoxy(35,17);
cout<<"SYSTEM";
getch();
//***************************************************************
//****************************************************************
void admin_menu()
clrscr();
int ch2;
cout<<"\n\n\n\tADMINISTRATOR MENU";
cin>>ch2;
switch(ch2)
case 1: clrscr();
write_student();break;
case 2: display_alls();break;
case 3:
char num[6];
clrscr();
cin>>num;
display_sps(num);
break;
case 4: modify_student();break;
case 5: delete_student();break;
case 6: clrscr();
write_book();break;
case 7: display_allb();break;
case 8: {
char num[6];
clrscr();
cin>>num;
display_spb(num);
break;
case 9: modify_book();break;
default:cout<<"\a";
admin_menu();
//***************************************************************
//****************************************************************
void main()
char ch;
intro();
do
clrscr();
cout<<"\n\n\n\tMAIN MENU";
cout<<"\n\n\t04. EXIT";
ch=getche();
switch(ch)
case '1':clrscr();
book_issue();
break;
case '2':book_deposit();
break;
case '3':admin_menu();
break;
case '4':exit(0);
default :cout<<"\a";
}while(ch!='4');
}
//***************************************************************
// END OF PROJECT
//***************************************************************
OUTPUT
CONCLUSION