/* Password to run this program is 1234*/
#include<fstream.h>
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
#include<iomanip.h>
#include<dos.h>
class group
{
protected:
struct books
{
char flag;
char bname[50];
char aname[50];
char pubname[50];
int price;
int noofbooks;
}b;
fstream file;
public:
group();
void insert();
void display();
void update();
void search();
void deletion();
void exit();
};
void main()
{
int choice;
char pass[20];
clrscr();
group g;
y: clrscr();
gotoxy(12,12);
cout<<"ENTER THE PASSWORD :";
cin>>pass;
if(strcmp(pass,"1234")==0)
goto z;
else
{
gotoxy(12,12);
cout<<"INCORRECT PASSWORD";
sound(1000);
delay(1000);
nosound();
clrscr();
goto y;
}
//group g;
z: do
{
clrscr();
gotoxy(30,4);
cout<<"*********************";
gotoxy(30,5);
cout<<"BOOK STORE MANAGEMENT";
gotoxy(30,6);
cout<<"*********************";
gotoxy(30,10);
cout<<"1.insert record";
gotoxy(30,11);
cout<<"2.display";
gotoxy(30,12);
cout<<"3.update";
gotoxy(30,13);
cout<<"4.search";
gotoxy(30,14);
cout<<"5.delete";
gotoxy(30,15);
cout<<"6.exit";
gotoxy(30,20);
cout<<"enter your choice :";
cin>>choice;
clrscr();
switch(choice)
{
case 1:
g.insert();
break;
case 2:
g.display();
break;
case 3:
g.update();
break;
case 4:
g.search();
break;
case 5:
g.deletion();
break;
case 6:
g.exit();
exit(1);
}
}while(choice != 0);
}
void group::group() //zero argument constructor
{
file.open("books.dat",ios::binary|ios::in|ios::out);
if(!file)
{
cout<<endl<<"unable to open the file";
exit();
}
}
//adds record to the file void group::insert()
{
char ch;
file.seekp(0L,ios::end);
do
{
cout<<endl<<"enter book name :";
gets(b.bname);
cout<<endl<<"enter author's name :";
gets(b.aname);
cout<<endl<<"enter publisher's name :";
gets(b.pubname);
cout<<endl<<"enter the book's price :";
cin>>b.price;
cout<<endl<<"enter the no of books :";
cin>>b.noofbooks;
b.flag=' ';
file.write((char*)&b,sizeof(b));
cout<<endl<<endl<<"add another record?(y/n)";
cin>>ch;
}while(ch=='y' || ch=='Y');
}
//displays all the books void group::display()
{
int j=1;
file.seekg(0L,ios::beg);
while (file.read((char*)&b,sizeof(b)))
{
if(b.flag != '*')
{
cout<<endl<<"RECORD NO :"<<j++<<endl<<"*************"<<endl<<"BOOK NAME :"<<b.bname<<endl<<"AUTHOR NAME :"<<b.aname
<<endl<<"PUBLISHER :"<<b.pubname<<endl<<"PRICE :"<<b.price
<<endl<<"COPIES :"<<b.noofbooks<<endl<<endl<<endl;
getch();
}
}
file.clear();
a:cout<<endl<<endl<<endl<<"press any key ....";
getch();
}
//update the books void group::update()
{
char code[20];
int count=0;
longint pos;
cout<<endl<<"enter the book name :";
gets(code);
file.seekg(0L,ios::beg);
while(file.read((char*)&b,sizeof(b)))
{
if(strcmp(b.bname,code)==0)
{
cout<<endl<<"enter the new book name :";
gets(b.bname);
cout<<endl<<"enter author's name :";
gets(b.aname);
cout<<endl<<"enter publisher's name :";
gets(b.pubname);
cout<<endl<<"enter the price :";
cin>>b.price;
cout<<endl<<"enter the no of books :";
cin>>b.noofbooks;
b.flag=' ';
pos=count*sizeof(b);
file.seekp(pos,ios::beg);
file.write((char*)&b,sizeof(b));
return;
}
count++;
}
cout<<endl<<"no book available with this name :"<<code;
cout<<endl<<"press any key ....";
getch();
file.clear();
}
//search for a given book void group::search()
{
char book[20],author[20];
int opt;
cout<<endl<<"search by :";
cout<<endl<<endl<<"1.book name ";
cout<<endl<<endl<<"2.author name ";
cout<<endl<<endl<<"enter your option :";
cin>>opt;
if(opt==1)
{
cout<<endl<<endl<<"enter book's name :";
gets(book);
file.seekg(0l,ios::beg);
while(file.read((char*)&b,sizeof(b)))
{
if(strcmp(b.bname,book)==0)
{
cout<<endl<<setw(20)<<b.bname<<setw(20)<<b.aname<<setw(10)<<b.pubname<<setw(10)<<b.price<<setw(10)<<b.noofbooks;
}
}
file.clear();
}
else
{
cout<<endl<<endl<<"enter author's name :";
gets(author);
file.seekg(0l,ios::beg);
while(file.read((char*)&b,sizeof(b)))
{
if(strcmp(b.aname,author)==0)
{
cout<<endl<<setw(20)<<b.bname<<setw(20)<<b.aname<<setw(10)<<b.pubname<<setw(10)<<b.price<<setw(10)<<b.noofbooks;
}
}
file.clear();
}
cout<<endl<<"press any key ...";
getch();
}
//deletes the record void group::deletion()
{
char book[20],name[20],publ[20];
longint pos;
int count=0;
cout<<endl<<"enter book's name :";
gets(book);
cout<<endl<<"enter author's name :";
gets(name);
cout<<endl<<"enter the publisher's name :";
gets(publ);
file.seekg(0l,ios::beg);
while(file.read((char*)&b,sizeof(b)))
{
if(strcmp(b.bname,book)==0 && strcmp(b.aname,name)==0 && strcmp(b.pubname,publ)==0)
{
b.flag='*';
pos=count*sizeof(b);
file.seekp(pos,ios::beg);
file.write((char*)&b,sizeof(b));
cout<<endl<<"record deleted successfully";
goto v;
}
count++;
}
cout<<endl<<"no book in file with name :"<<book<<" "<<"written by "<<name<<" "<<"and published by "<<publ;
v:cout<<endl<<"press any key.....";
getch();
file.clear();
}
void group::exit()
{
file.close();
}
Book Store Management Program in C
Book Store Management program will store the details of the book such as the program which will store the details of the book such as the book name, authore name, publisher, price and number oof copies in the data basa and it will also have the facility of allowing the users to give the correct password. If the password is not right. They will not be allowed. After login to the user area they can insert the details of an new book ore update the existing record or can search for a particular book or display all the records or delete any record.