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

Library Management System

This document describes a C++ library management system project that allows users to: 1) Enter and retrieve student and book data stored in binary files 2) Issue and return books by updating the student and book records 3) View the status of books and borrowing students

Uploaded by

Tarun Yadav
Copyright
© © All Rights Reserved
0% found this document useful (0 votes)
27 views

Library Management System

This document describes a C++ library management system project that allows users to: 1) Enter and retrieve student and book data stored in binary files 2) Issue and return books by updating the student and book records 3) View the status of books and borrowing students

Uploaded by

Tarun Yadav
Copyright
© © All Rights Reserved
You are on page 1/ 10

COMPUTER SCIENCE PROJECT

LIBRARY MANAGEMENT SYSTEM


Supervised by: - Submitted by:-
#include<fstream.h>
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

void interface();
void bgetdata();
void sgetdata();
void bookissue();
void bookreturn();
void updatestudent();
void updatebook();
void sstatus();
void bstatus();

class book{
int sno;
char bname[20];
char issue;
int receive;
public:
book()
{
sno=0;
strcpy(bname,"Not Availabe");
issue='N';
}
void binput()
{
cout<<"Enter book sno.:";
cin>>sno;
cout<<"Enter book name:";
gets(bname);
}
void getreceive(int addmno)
{
receive=addmno;
}
int putreceive()
{
return receive;
}
void bdisplay()
{
cout<<"---Details of book---"<<endl;
cout<<"Name:"<<bname<<endl;
cout<<"S.No.:"<<sno<<endl;
cout<<"ISSUE:"<<issue<<endl;
}
void getissue(char c)
{
issue=c;
}
char putissue()
{
return issue;
}
int getsno()
{
return sno;
}
};

class student
{
int addmno;
char sname[20];
int Class;
char sec;
int rno;
public:
void sinput()
{
cout<<"Enter Addmission No.:"<<endl;
cin>>addmno;
cout<<"Enter Name of student:"<<endl;
gets(sname);
cout<<"Enter class of student:"<<endl;
cin>>Class;
cout<<"Enter section of student:"<<endl;
cin>>sec;
cout<<"Enter Roll of student:"<<endl;
cin>>rno;
}
void sdisplay()
{
cout<<"Name:"<<sname<<endl;
cout<<"Class:"<<Class<<endl;
cout<<"Section:"<<sec<<endl;
cout<<"Addmission Number:"<<addmno<<endl;
cout<<"Roll Number:"<<rno<<endl;
}
int getaddmno()
{
return addmno;
}
};
void main()
{
interface();
}
void interface()
{
clrscr();
cout<<"\t\tLibrary Management System"<<endl;
cout<<"\t\tKendriya Vidyalaya Aliganj Lucknow"<<endl;
int choice;
cout<<"Enter your choice"<<endl;
cout<<"1:Enter Student data"<<endl;
cout<<"2:Enter Book data"<<endl;
cout<<"3:Issue a book"<<endl;
cout<<"4:Return a book"<<endl;
cout<<"5:Status of a book"<<endl;
cout<<"6:Status of student"<<endl;
cout<<"7:Upadate Student data"<<endl;
cout<<"8:Upate Book data"<<endl;
cout<<"0:Exit"<<endl;
cin>>choice;
switch(choice)
{
case 0:
exit(0);
break;
case 1:
sgetdata();
break;
case 2:
bgetdata();
break;
case 3:
bookissue();
break;
case 4:
bookreturn();
break;
case 5:
bstatus();
break;
case 6:
sstatus();
break;
case 7:
updatestudent();
break;
case 8:
updatebook();
break;
default:cout<<"Please enter mention value only"<<endl;
}
}
void sgetdata()
{
fstream fout;
student s;
s.sinput();
fout.open("Student.dat",ios::binary|ios::app);
fout.write((char*)&s,sizeof(s));
fout.close();
int back;
cout<<"1:Continue"<<endl;
cout<<"0:Back to main menu";
cin>>back;
if(back==0)
{
interface();
}
else{sgetdata();}
}

void bgetdata()
{
fstream fout;
book b;
b.binput();
fout.open("Book.dat",ios::binary|ios::app);
fout.write((char*)&b,sizeof(b));
cout<<"Book is register"<<endl;
fout.close();
fout.close();
int back;
cout<<"1:Continue"<<endl;
cout<<"0:Back to main menu";
cin>>back;
if(back==0)
{
interface();
}
else{bgetdata();}
}

void bookissue()
{
int n1,n2;
student s;
book b;
cout<<"Enter Student Addmission No.:"<<endl;
cin>>n1;
cout<<"Enter Serial NO. of Book:"<<endl;
cin>>n2;
fstream fin,fout;
fin.open("Book.dat",ios::binary|ios::in|ios::out);
fin.read((char*)&b,sizeof(b));
while(b.getsno()!=n2)
{
fin.read((char*)&b,sizeof(b));
}
b.getreceive(n1);
b.getissue('Y');
b.bdisplay();
fin.seekg(-(int)sizeof(b),ios::cur);;
fin.write((char*)&b,sizeof(b));
cout<<"Book is issued to student:"<<endl;
fout.open("Student.dat",ios::binary|ios::in);
fout.read((char*)&s,sizeof(s));
while(fout)
{
if(s.getaddmno()==n1)
{
s.sdisplay();
}
fout.read((char*)&s,sizeof(s));
}
fout.close();
fin.close();
int back;
cout<<"1:Continue"<<endl;
cout<<"0:Back to main menu";
cin>>back;
if(back==0)
{
interface();
}
else{bookissue();}
}
void bookreturn()
{
int n;
book b;
cout<<"Enter Serial No. of book:"<<endl;
cin>>n;
fstream fout;
fout.open("Book.dat",ios::binary|ios::out|ios::in);
fout.read((char*)&b,sizeof(b));
while(b.getsno()!=n)
{
fout.read((char*)&b,sizeof(b));
}
b.getreceive(0);
b.getissue('N');
fout.seekg(-(int)sizeof(b),ios::cur);
fout.write((char*)&b,sizeof(b));
cout<<"Book is returned"<<endl;
fout.close();
int back;
cout<<"1:Continue"<<endl;
cout<<"0:Back to main menu";
cin>>back;
if(back==0)
{
interface();
}
else{bookreturn();}
}

void sstatus()
{
int addmno;
cout<<"Enter the addmission No. of student:"<<endl;
cin>>addmno;
book b;
student s;
fstream fout;
fout.open("Student.dat",ios::binary|ios::in);
fout.read((char*)&s,sizeof(s));
while(s.getaddmno()!=addmno)
{
fout.read((char*)&s,sizeof(s));
}
s.sdisplay();
fout.close();
cout<<"Details of book issued:"<<endl;
fstream fin;
fin.open("Book.dat",ios::binary|ios::in);
fin.read((char*)&b,sizeof(b));
while(fin)
{
if(b.putreceive()==addmno)
{
b.bdisplay();
}
fin.read((char*)&b,sizeof(b));
}
fin.close();
int back;
cout<<"1:Continue"<<endl;
cout<<"0:Back to main menu";
cin>>back;
if(back==0)
{
interface();
}
else{sstatus();}
}

void bstatus()
{
int sno;
cout<<"Enter serial No.:";
cin>>sno;
book b;
student s;
fstream fin;
fin.open("Book.dat",ios::binary|ios::in);
fin.read((char*)&b,sizeof(b));
while(b.getsno()!=sno)
{
fin.read((char*)&b,sizeof(b));
}
b.bdisplay();
cout<<"The book is issued to:"<<endl;
fin.close();
fin.open("Student.dat",ios::binary|ios::in);
fin.read((char*)&s,sizeof(s));
while(fin)
{
if(s.getaddmno()==b.putreceive())
{
s.sdisplay();
break;
}
fin.read((char*)&s,sizeof(s));
}
fin.close();
int back;
cout<<"1:Continue"<<endl;
cout<<"0:Back to main menu";
cin>>back;
if(back==0)
{
interface();
}
else{bstatus();}
}
void updatestudent()
{
cout<<"Enter the Addmission No.:"<<endl;
int n;
cin>>n;
student s1,s2;
book b;
s1.sinput();
fstream fout;
fout.open("Student.dat",ios::binary|ios::out|ios::in);
fout.read((char*)&s2,sizeof(s2));
while(s2.getaddmno()!=n)
{
fout.read((char*)&s2,sizeof(s2));
}
fout.seekg(-(int)sizeof(s2),ios::cur);
fout.write((char*)&s1,sizeof(s1));
fout.close();
fout.open("Book.dat",ios::binary|ios::out|ios::in);
fout.read((char*)&b,sizeof(b));
while(b.putreceive()!=s2.getaddmno())
{
fout.read((char*)&b,sizeof(b));
}
b.getreceive(s1.getaddmno());
fout.seekg(-(int)sizeof(b));
fout.write((char*)&b,sizeof(b));
int back;
cout<<"1:Continue"<<endl;
cout<<"0:Back to main menu";
cin>>back;
if(back==0)
{
interface();
}
else{updatestudent();}
}

void updatebook()
{
cout<<"Enter the Serial No.:"<<endl;
int n;
cin>>n;
book b1,b2;
b1.binput();
fstream fin;
fin.open("Book.dat",ios::binary|ios::in|ios::out);
fin.read((char*)&b2,sizeof(b2));
while(b2.getsno()!=n)
{
fin.read((char*)&b2,sizeof(b2));
}
b1.getreceive(b2.putreceive());
b1.getissue(b2.putissue());
fin.seekg(-(int)sizeof(b2),ios::cur);
fin.write((char*)&b1,sizeof(b1));
fin.close();

int back;
cout<<"1:Continue"<<endl;
cout<<"0:Back to main menu";
cin>>back;
if(back==0)
{
interface();
}
else{updatebook();}
}

You might also like