Sei sulla pagina 1di 12

SOURCE CODE

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

long int 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(1
0)<<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(1
0)<<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];

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

Potrebbero piacerti anche