Book Store
Book Store
PARASSALA
THIRUVANANTHAPURAM
A Project Report on
LIBRARY MANAGEMENT SYSTEM
Principal
ACKNOWLEDGEMENT
I would also like to thank my lab assistant and all my colleague who
gave me full support throughout my project completion.
Last but not least, I would like to thank the almighty god for helping
me to carry out this work to a great success.
ABSTRACT
STEP1:Start
STEP2:Display main menu as below
MAIN MENU
01.BOOK ISSUED
02.BOOK DEPOSIT
03.ADMINISTRATOR MENU
04.EXIT
STEP3:Display administrator menu as below.
ADMINISTRATOR MENU
1.CREAT STUDENT RECORD
2.DISPLAY ALL STUDENTS RECORD
3.DISPLAY SPECIFIC STUDENT RECORD
4.MODIFY STUDENT RECORD
5.DELETE STUDENT RECORD
6.CREATE BOOK
7.DISPLAY ALL BOOKS
8.DISPLAY SPECIFIC BOOK
9.MODIFY BOOK
10.DELETE BOOK
STEP 4:In choice 1 Enter the details of admission number and name of
student.
In choice 2 Display all student records.
In choice 3 Search specific students record.
In choice 4 Modify student records.
In choice 5 Delete student records.
In choice 6 Create books records.
In choice 7 Display all books records.
In choice 8 Display specific books records.
In choice 9 Modify books records.
In choice 10 Delete books records.
STEP 5:Stop
4. FLOWCHART
START
Main Menu
IF (FILE)
FUNCTION CALL
OUTPUT
STOP
5. SOURCE 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);
cout<<"\n\n\nBook Created..";
void show_book()
puts(bname);
puts(aname);
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()
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;}
void getstbno(char t[])
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));
cin>>ch;
}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();
//***************************************************************
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);
while(fp.read((char*)&bk,sizeof(book)) && found==0)
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();
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");
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";
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));
cout<<"in backside of book and submit within 15 days fine Rs. 1 for each day";
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(25,6);
cout<<"LIBRARY ";
gotoxy(15,15);
cout<<"\n\nMADE BY : VINITH";
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
//***************************************************************
6. CONCLUSION
The aim of our project was to implement Library Management System using
function in a menu driven patter. The objective was reached by making use of
function call in the main program. Each function is invoked when
corresponding case is selected .Thus aim and objective is satisfied and project
is implemented .In this work we implemented the use of data file handling,
sub functions and the selection statement switch case.
7. FUTURE ENHANCEMENTS
8.1.SCREENSHOTS
\
8.2. BIBILOGRAPHY