0% found this document useful (0 votes)
152 views

Library Management System

The document contains the source code for a library management system project. It includes the code for classes like Book and Student, functions to write, read, modify and delete records from data files, and functions to display specific records or summaries. The code allows for creating, updating, and viewing details of books and student records in a library management system.

Uploaded by

Aniket Goenka
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
152 views

Library Management System

The document contains the source code for a library management system project. It includes the code for classes like Book and Student, functions to write, read, modify and delete records from data files, and functions to display specific records or summaries. The code allows for creating, updating, and viewing details of books and student records in a library management system.

Uploaded by

Aniket Goenka
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 41

Index

1.
Certificate........................................................

2.
Acknowledgments...........................................

4. Source Code.................................................

5. Output Screenshots of Major Features........

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
//***************************************************************

// HEADER FILE USED IN PROJECT

//****************************************************************

#include<fstream.h>

#include<conio.h>

#include<stdio.h>

#include<process.h>

#include<string.h>

#include<iomanip.h>

//***************************************************************

// CLASS USED IN PROJECT

//****************************************************************
class book

char bno[6];

char bname[50];

char aname[20];

public:

void create_book()

cout<<"\nNEW BOOK ENTRY...\n";

cout<<"\nEnter The book no.";

cin>>bno;

cout<<"\n\nEnter The Name of The Book ";

gets(bname);

cout<<"\n\nEnter The Author's Name ";

gets(aname);

cout<<"\n\n\nBook Created..";

void show_book()

cout<<"\nBook no. : "<<bno;

cout<<"\nBook Name : ";

puts(bname);

cout<<"Author Name : ";


puts(aname);

void modify_book()

cout<<"\nBook no. : "<<bno;

cout<<"\nModify Book Name : ";

gets(bname);

cout<<"\nModify Author's Name of Book : ";

gets(aname);

char* retbno()

return bno;

void report()

{cout<<bno<<setw(30)<<bname<<setw(30)<<aname<<endl;}

}; //class ends here


class student

char admno[6];

char name[20];

char stbno[6];

int token;

public:

void create_student()

clrscr();

cout<<"\nNEW STUDENT ENTRY...\n";

cout<<"\nEnter The admission no. ";

cin>>admno;

cout<<"\n\nEnter The Name of The Student ";

gets(name);

token=0;

stbno[0]='/0';

cout<<"\n\nStudent Record Created..";

void show_student()

{
cout<<"\nAdmission no. : "<<admno;

cout<<"\nStudent Name : ";

puts(name);

cout<<"\nNo of Book issued : "<<token;

if(token==1)

cout<<"\nBook No "<<stbno;

void modify_student()

cout<<"\nAdmission no. : "<<admno;

cout<<"\nModify Student Name : ";

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;}

}; //class ends here


//***************************************************************

// global declaration for stream object, object

//****************************************************************

fstream fp,fp1;

book bk;

student st;

//***************************************************************

// function to write in file

//****************************************************************

void write_book()

char ch;

fp.open("book.dat",ios::out|ios::app);

do

clrscr();

bk.create_book();

fp.write((char*)&bk,sizeof(book));

cout<<"\n\nDo you want to add more record..(y/n?)";


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));

cout<<"\n\ndo you want to add more record..(y/n?)";

cin>>ch;

}while(ch=='y'||ch=='Y');

fp.close();

//***************************************************************

// function to read specific record from file

//****************************************************************
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)

cout<<"\n\nBook does not exist";

getch();

void display_sps(char n[])

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)

cout<<"\n\nStudent does not exist";

getch();

//***************************************************************

// function to modify record of file

//****************************************************************

void modify_book()
{

char n[6];

int found=0;

clrscr();

cout<<"\n\n\tMODIFY BOOK REOCORD.... ";

cout<<"\n\n\tEnter The book no. of The book";

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();

cout<<"\nEnter The New Details of book"<<endl;

bk.modify_book();

int pos=-1*sizeof(bk);

fp.seekp(pos,ios::cur);

fp.write((char*)&bk,sizeof(book));

cout<<"\n\n\t Record Updated";

found=1;

fp.close();
if(found==0)

cout<<"\n\n Record Not Found ";

getch();

void modify_student()

char n[6];

int found=0;

clrscr();

cout<<"\n\n\tMODIFY STUDENT RECORD... ";

cout<<"\n\n\tEnter The admission no. of The student";

cin>>n;

fp.open("student.dat",ios::in|ios::out);

while(fp.read((char*)&st,sizeof(student)) && found==0)

if(strcmpi(st.retadmno(),n)==0)

st.show_student();

cout<<"\nEnter The New Details of student"<<endl;

st.modify_student();

int pos=-1*sizeof(st);

fp.seekp(pos,ios::cur);
fp.write((char*)&st,sizeof(student));

cout<<"\n\n\t Record Updated";

found=1;

fp.close();

if(found==0)

cout<<"\n\n Record Not Found ";

getch();

//***************************************************************

// function to delete record of file

//****************************************************************

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)

cout<<"\n\n\tRecord Deleted ..";

else

cout<<"\n\nRecord not found";

getch();

}
void delete_book()

char n[6];

clrscr();

cout<<"\n\n\n\tDELETE BOOK ...";

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();

//***************************************************************

// function to display all students list

//****************************************************************

void display_alls()

clrscr();

fp.open("student.dat",ios::in);

if(!fp)

cout<<"ERROR!!! FILE COULD NOT BE OPEN ";

getch();

return;

cout<<"\n\n\t\tSTUDENT LIST\n\n";

cout<<"==================================================================\n";

cout<<"\tAdmission No."<<setw(10)<<"Name"<<setw(20)<<"Book Issued\n";


cout<<"==================================================================\n";

while(fp.read((char*)&st,sizeof(student)))

st.report();

fp.close();

getch();

//***************************************************************

// function to display Books list

//****************************************************************

void display_allb()

clrscr();

fp.open("book.dat",ios::in);

if(!fp)

cout<<"ERROR!!! FILE COULD NOT BE OPEN ";

getch();
return;

cout<<"\n\n\t\tBook LIST\n\n";

cout<<"=======================================================================
==\n";

cout<<"Book Number"<<setw(20)<<"Book Name"<<setw(25)<<"Author\n";

cout<<"=======================================================================
==\n";

while(fp.read((char*)&bk,sizeof(book)))

bk.report();

fp.close();

getch();

//***************************************************************

// function to issue book

//****************************************************************
void book_issue()

char sn[6],bn[6];

int found=0,flag=0;

clrscr();

cout<<"\n\nBOOK ISSUE ...";

cout<<"\n\n\tEnter The student's admission no.";

cin>>sn;

fp.open("student.dat",ios::in|ios::out);

fp1.open("book.dat",ios::in|ios::out);

while(fp.read((char*)&st,sizeof(student)) && found==0)

if(strcmpi(st.retadmno(),sn)==0)

found=1;

if(st.rettoken()==0)

cout<<"\n\n\tEnter the book no. ";

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<<"\n\n\t Book issued successfully\n\nPlease


Note: Write the current date in backside of your book and
submit within 15 days fine Rs. 1 for each day
after 15 days period";

if(flag==0)

cout<<"Book no does not exist";

else

cout<<"You have not returned the last book ";

if(found==0)

cout<<"Student record not exist...";

getch();

fp.close();

fp1.close();
}

//***************************************************************

// function to deposit book

//****************************************************************

void book_deposit()

char sn[6],bn[6];

int found=0,flag=0,day,fine;

clrscr();

cout<<"\n\nBOOK DEPOSIT ...";

cout<<"\n\n\tEnter The student’s admission no.";

cin>>sn;

fp.open("student.dat",ios::in|ios::out);

fp1.open("book.dat",ios::in|ios::out);

while(fp.read((char*)&st,sizeof(student)) && found==0)

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;

cout<<"\n\nBook deposited in no. of days";

cin>>day;

if(day>15)

fine=(day-15)*1;

cout<<"\n\nFine has to deposited Rs. "<<fine;

st.resettoken();

int pos=-1*sizeof(st);

fp.seekp(pos,ios::cur);

fp.write((char*)&st,sizeof(student));

cout<<"\n\n\t Book deposited successfully";

if(flag==0)

cout<<"Book no does not exist";

else

cout<<"No book is issued..please check!!";


}

if(found==0)

cout<<"Student record not exist...";

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";

cout<<"\n\nMADE BY : YOUR NAME";

cout<<"\n\nSCHOOL : SCHOOL NAME";

getch();

//***************************************************************

// ADMINISTRATOR MENU FUNCTION

//****************************************************************

void admin_menu()

clrscr();

int ch2;

cout<<"\n\n\n\tADMINISTRATOR MENU";

cout<<"\n\n\t1.CREATE STUDENT RECORD";

cout<<"\n\n\t2.DISPLAY ALL STUDENTS RECORD";

cout<<"\n\n\t3.DISPLAY SPECIFIC STUDENT RECORD ";

cout<<"\n\n\t4.MODIFY STUDENT RECORD";

cout<<"\n\n\t5.DELETE STUDENT RECORD";

cout<<"\n\n\t6.CREATE BOOK ";

cout<<"\n\n\t7.DISPLAY ALL BOOKS ";


cout<<"\n\n\t8.DISPLAY SPECIFIC BOOK ";

cout<<"\n\n\t9.MODIFY BOOK ";

cout<<"\n\n\t10.DELETE BOOK ";

cout<<"\n\n\t11.BACK TO MAIN MENU";

cout<<"\n\n\tPlease Enter Your Choice (1-11) ";

cin>>ch2;

switch(ch2)

case 1: clrscr();

write_student();break;

case 2: display_alls();break;

case 3:

char num[6];

clrscr();

cout<<"\n\n\tPlease Enter The Admission No. ";

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();

cout<<"\n\n\tPlease Enter The book No. ";

cin>>num;

display_spb(num);

break;

case 9: modify_book();break;

case 10: delete_book();break;

case 11: return;

default:cout<<"\a";

admin_menu();

//***************************************************************

// THE MAIN FUNCTION OF PROGRAM

//****************************************************************

void main()

char ch;
intro();

do

clrscr();

cout<<"\n\n\n\tMAIN MENU";

cout<<"\n\n\t01. BOOK ISSUE";

cout<<"\n\n\t02. BOOK DEPOSIT";

cout<<"\n\n\t03. ADMINISTRATOR MENU";

cout<<"\n\n\t04. EXIT";

cout<<"\n\n\tPlease Select Your Option (1-4) ";

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

At the end of the project, all we can say that we have


tried our level best to solve most of the queries and
problems which has been included in this system
keeping in mind about the quality, schedules, and CBSE
guidelines. Although it is almost impossible to complete
the project-work accurately without any mistakes for
learner, still we hope that our work is very efficient to
accomplish the needs of the users. We also agree to the
factthat it is not hundred percent fault-tolerant or totally
accurate. After all these. Discussions we think that our
project will help to solve the problem and queries of
those user commodity that we have already included and
discussed in our system.

You might also like