code
code
Include<fstream>
#include<conio.h>
#include<string.h>
#include<iomanip>
#include<iostream>
Class book
Char book_number[30];
Char book_name[50];
Char author_name[20];
Int num_copies;
Public:
Void get_book_details()
Cin>>book_number;
Cin.ignore();
Cin.getline(book_name,50);
Cin.getline(author_name,50);
Fflush(stdin);
Cin>>num_copies;
Void show_book()
Cout<<”\nCOPIES : “<<num_copies;
Void modify_book()
Cin.ignore();
Cin.getline(book_name,50);
Cin.ignore();
Cin.getline(author_name,50);
Fflush(stdin);
Cin>>num_copies;
}
Char* getbooknumber()
Return book_number;
Void report()
{cout<<book_number<<setw(30)<<book_name<<setw(30)<<author_nam
e<<setw(30)<<num_copies<<endl;}
};
Fstream fp;
Book bk;
Void write_book()
System(“cls”);
Int more_or_main;
Fp.open(“book.dat”,ios::out|ios::app);
Do
Bk.get_book_details();
Fp.write((char*)&bk,sizeof(book));
Cout<<”Enter: “;
Cin>>more_or_main;
}while(more_or_main == 1);
Fp.close();
System(“cls”);
Cout<<”\nBOOK DETAILS\n”;
Int check=0;
Fp.open(“book.dat”,ios::in);
While(fp.read((char*)&bk,sizeof(book)))
If(strcmpi(bk.getbooknumber(),n)==0)
Bk.show_book();
Check=1;
Fp.close();
If(check==0)
Getch();
Void modify_book()
{
System(“cls”);
Char n[20];
Int found=0;
Cout<<”\n\n\tMODIFY BOOK”;
Cin>>n;
Fp.open(“book.dat”,ios::in|ios::out);
If(strcmpi(bk.getbooknumber(),n)==0)
Bk.show_book();
Bk.modify_book();
Int pos=-1*sizeof(bk);
Fp.seekp(pos,ios::cur);
Fp.write((char*)&bk,sizeof(book));
Found=1;
Fp.close();
If(found==0)
Getch();
}
Void delete_book()
System(“cls”);
Char n[20];
Int flag=0;
Cout<<”\n\n\n\tDELETE BOOK”;
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.getbooknumber(),n)!=0)
Fp2.write((char*)&bk,sizeof(book));
Else
Flag=1;
Fp2.close();
Fp.close();
Remove(“book.dat”);
Rename(“Temp.dat”,”book.dat”);
If(flag==1)
Getch();
Void display_allb()
System(“cls”);
Fp.open(“book.dat”,ios::in);
If(!fp)
Getch();
Return;
Cout<<”\n\n\t\tBook LIST\n\n”;
Cout<<”=========================================
==============================================
=====\n”;
Cout<<”Book Number”<<setw(20)<<”Book
Name”<<setw(25)<<”Author”<<setw(25)<<”Copies”<<endl;
Cout<<”=========================================
==============================================
=====\n”;
While(fp.read((char*)&bk,sizeof(book)))
Bk.report();
}
Fp.close();
Getch();
Void intro()
System(“color 06”);
System(“cls”);
Cout<<”\t\t\t\t*\t*”;
Cout<<”\t\t\t\t**\t**”;
Cout<<”\t\t\t\t***\t***”;
Cout<<”\t\t\t\t****\t****”;
Cout<<”\t\t\t\t*****\t*****”;
Cout<<”\t\t\t\t******\t******”;
Cout<<”\t\t\t\t*******\t*******”;
Cout<<”\t\t\t\t*******\t*******”;
Cout<<”\t\t\t\t******\t******”;
Cout<<”\t\t\t\t*****\t*****”;
Cout<<”\t\t\t\t****\t****”;
Cout<<”\t\t\t\t***\t***”;
Cout<<”\t\t\t\t**\t**”;
Cout<<”\t\t\t\t*\t*”;
Int main()
{
Int option = 0;
For(;;)
Intro();
Cout<<”\t\
t@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@”;
Cout<<”\n\t\tPress 1 to TO BUY”;
Cout<<”\n\t\tPress 6 to Exit”;
Cout<<”\n\t\
t@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@\n”;
Cout<<”\n\t\tOption: “;
Cin>>option;
Switch(option)
Case 1: system(“cls”);
Write_book();
Break;
Case 2: display_allb();
Break;
Case 3:
Char num[20];
System(“cls”);
Cin>>num;
Display_a_book(num);
Break;
Case 4: modify_book();break;
Case 5: delete_book();break;
Case 6: exit(0);
Break;
Default:cout<<”\a”;
Output:-