Вы находитесь на странице: 1из 44

{LIBRARY MANAGEMENT

SYSTEM }
~A CPP PROJECT~
Submitted by Eashani Das |Submitted to Ms. Aruna
Ahuja | 2015-16
PAGE 0

Contents
1. Acknowledgement
2. Certificate
3. Team Structure
4. Introduction
5. Header Files Used
6. About The Program
7. Source Code
8. Output

PAGE 1

Acknowledgement
I am extremely thankful to Ms. Aruna Ahuja, teacher of
Department of Computer Science for her able guidance and
useful suggestions, which helped me in completing the
project work in time.
I would also like to thank all the teaching and non-teaching
staff of Computer Science Department who helped me
directly or indirectly in the completion of the project.
Finally, I would like to express my heartfelt thanks to my
beloved parents for their blessings, my friends and
classmates for their help and wishes for the successful
completion of this project

PAGE 2

Certificate
This is to certify that the project work Library Management
System is a bonafide record of work done by Eashani Das,
Rachit Plah, Aastha Gulati, Rupeshwari Singh and Abhijot
Kaler under my supervision and guidance.

Ms. Aruna Ahuja


D.A.V Model School
Sec-15, Chandigarh

PAGE 3

Team Structure
The team of this project of five members and all the
members contributed equally to the project. After collecting
all the requirements of the project, we divided the module
amongst us and worked on the project as a team. The team
includes:
1. Eashani Das
2. Rupeshwari Singh
3. Aastha Gulati
4. Rachit Plah
5. Abhijot Kaler

PAGE 4

Introduction
C++ is a programming language that is general purpose,
statistically typed, free-formed, multi-paradigm and
compiled. C++ is an object oriented programming (OOP)
language, developed by Bjarne Stroustrup, and is an
extension of C language. It is therefore possible to code C++
in a "C style" or "object-oriented style." In certain scenarios,
it can be coded in either way and is thus an effective
example of a hybrid language.
C++ is a general purpose object oriented programming
language. It is considered to be an intermediate level
language, as it encapsulates both high and low level
language features. Initially, the language was called 'C with
classes as it had all properties of C language with an
additional concept of 'classes. However, it was renamed to
C++ in 1983.
This project is on Library Management system. Library is a
place where you read, issue and return the issued books. So
there is a need to maintain a record os students who issue
books at what date and when they have to return it.

PAGE 5

Header Files Used


Header files usually have a .h extension, but you will
sometimes see them with a .hpp extension or no extension
at all. The purpose of a header file is to hold declarations for
other files to use.
The header files used in this program are:
1. fstream.h
The fstream library predefines a set of operations for
handling file related input and output. It defines classes that
help one perform file input and output.
2. conio.h
This header file declares several useful library functions
for performing console input and output. It is used for
getch and clrscr funcions.
3. process.h
It contains function declarations and macros used in
working with threads and processes. Its for changing the
ouput on the screen from shown output screen.
4. stdio.h
Many standard library functions for finle input and
output make up the bulk of it. Input and output
operations can also be performed in c++ using the
Standard Input and Output Library.
5. string.h
This header file contains functions that are string
related. Such as strcpy and so on.
PAGE 6

6. iomanip.h
This header file is used to format the output on screen.

About The Program

Object oriented programming(OOP)


It is based on the principle of data hiding, abstraction,
encapsulation, modularity, inheritance and
polymorphism. It implements programs using the object
in an oriented language
Array
An array is a collection of homogeneous data elements
stored under a single name, where each name is
referenced by using array name and its subscript no.
Polymorphism
The word itself means having many forms. It implies
that a call to the member function will invoke different
function depending on the type of object that invokes it.
Loops
Iteration statements are called loops. Loops allow the
programmer to execute the same block of code
repeatedly
There are 3 types of loops:
1. For loop: It is a repetition control structure that allows
you to efficiently write a loop that executes a specific
no. of times.
2. While loop: It is an entry control loop. The conditional
statement is checked before entering the loop and a
simple negation of the statement can get you out of
the loop.
3. Do-while loop: It is nearly similar to the while loop,
the only difference being that the conditional
statement is checked before continuing the iteration.

PAGE 7

Functions
Functions allow to structure programs in segments of code to
perform individual tasks. In c++, a function is a group of
statements that is given a name and whch can be called
from some point of the program.

Source Code

PAGE 8

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

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

PAGE 9

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


cout<<"\n\tEnter 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()

PAGE 10

{
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<<"\n\t\t\tNEW STUDENT ENTRY...\n";
cout<<"\n\tEnter The admission no. ";
cin>>admno;
cout<<"\n\n\tEnter The Name of The Student ";
gets(name);

PAGE 11

token=0;
stbno[0]='/0';
cout<<"\n\n\tStudent 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()
{

PAGE 12

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

};

//class ends here

PAGE 13

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

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

PAGE 14

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

PAGE 15

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

PAGE 16

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

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

PAGE 17

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

PAGE 18

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

PAGE 19

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

PAGE 20

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)

PAGE 21

{
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

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

PAGE 22

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

PAGE 23

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

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

PAGE 24

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 current date in backside of 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

PAGE 25

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

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 students 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)
{

PAGE 26

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

PAGE 27

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

INTRODUCTION FUNCTION

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

void intro()
{
clrscr();
gotoxy(35,11);
cout<<"LIBRARY";
gotoxy(35,14);
cout<<"MANAGEMENT";
gotoxy(35,17);
cout<<"SYSTEM";
cout<<"\n\nSCHOOL : D.A.V MODEL SCHOOL";
getch();
}

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

ADMINISTRATOR MENU FUNCTION

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

void admin_menu()
{
clrscr();
int ch2;
cout<<"\n\n\n\tADMINISTRATOR MENU";
cout<<"\n\n\t1.CREATE STUDENT RECORD";

PAGE 28

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;

PAGE 29

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

PAGE 30

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

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

PAGE 31

Output
Intro
Menu
Book issue
Book Deposit
Administrator Menu

PAGE 32

Intro

PAGE 33

Main Menu

PAGE 34

Book Issue

PAGE 35

Book Deposit

PAGE 36

Administrator menu

PAGE 37

PAGE 38

PAGE 39

PAGE 40

PAGE 41

PAGE 42

PAGE 43

Вам также может понравиться