C++ Book Shop Project

The C++ Book Shop Project is a desktop application that was developed on the C / C ++ platform. This C / C ++ project with tutorial and instructions for developing a code. The Bookshop Management System is an open source version that you can download and edit as required. If you want the latest C / C ++ projects are available here. This is a simple and easy little project for learning purposes.

You can also modify this system according to your needs and develop a perfect advanced project. Zip file with the source code that can be extracted and then imported into c ++. This source code for BE, BTech, MCA, BCA, Engineering, Bs.CS, IT and software engineering students last year can be submitted to college. This script was developed by tutorialsart team. This desktop application works 100% smoothly and without errors. It was developed with c ++ and Database Turbo C. This software code for C++ Book Shop Project is useful for academic projects for final year students. We have a great collection of C / C ++ projects.

C++ Book Shop Project

The main features of this C++ Book Shop Project are listed below:

  1. Add Book Records: This feature allows users to add a new book to the bookstore management system application. Information such as the name of the book, the name of the author and the number of copies should be provided and the data will be saved in a file.
  2. Show book records: With this function the added book records can be listed together with the name of the author and the number of copies of the book added.
  3. Check availability: If you want to buy a specific book, this function first checks the availability. Name, author and number of copies of the respective book are displayed.
  4. Modify Book Records: You can modify the information provided as you add a new book to the bookstore management system project in C ++. You can edit the name of the book, the name of the author, and the number of copies. All changed data is then saved in a file.
  5. Delete book records: This function is used to delete a book from the bookstore management file present in this C++ Book Shop Project. For this purpose, the book name should be provided and confirmation from the user should be requested before the book record is deleted.
 //**************************************************************************************************************//
//                     This code has been written by TutorialsArt.com
//          Distribution of the code is permitted if and only if you do not delete these lines.
//**************************************************************************************************************// 
//*******************************************************
//	INCLUDED HEADER FILES
//*******************************************************
 
#include"stdio.h"
#include"conio.h"
#include"fstream.h"
#include"stdlib.h"
#include"dos.h"
#include"string.h"
#include"graphics.h"
#include"iomanip.h"
 
//*******************************************************
//	CLASS NAME : BOOK
//*******************************************************
 
class book
{
public:
char name[20];
char author[20];
int a;
void getdata();
void show();
};
 
//*******************************************************
//	FUNCTIONS TO GET AND SHOW DATA
//*******************************************************
 
void book::getdata()
{
 cout< <"\n\"        \"ENTER DETAILS ABOUT BOOK U WANT TO PURCHASE\" :\"";
 cout<<"\n\n\n\t\tEnter Name Of Book  :\t";
 cin>>name;
 cout< <"\n\t\tEnter Name Of Author    :\t";
 cin>>author;
 fflush(stdin);
 cout< <"\n\t\tEnter No. Of Copies  :\t";
 cin>>a;
}
void book::show()
{
 
cout< <"BOOK      :"<<name;
cout<<"\nAUTHOR  :"<<author;
cout<<"\nCOPIES  :"<<a;
}
 
//*******************************************************
//	TO INVOKE WELCOME SCREEN, CREDIT SCREEN
//                   & ENDING SCREEN
//*******************************************************
 
void graph()
{ 
for(int y=0;y&lt;440;y=y+10)
 {
   fillellipse(50,y,50,50);setfillstyle(2,GREEN);
   fillellipse(100,y,50,50); setfillstyle(3,YELLOW);
   fillellipse(200,y+10,50,50);setfillstyle(2,WHITE);
   fillellipse(300,y-15,50,50); setfillstyle(3,6);
   fillellipse(400,y-5,50,50); setfillstyle(2,BLUE);
 fillellipse(500,y+20,50,50); setfillstyle(3,CYAN);
 clearviewport();
 
for(int c=440;c&lt;480;++c)
{ 
setlinestyle(0,1,3);setcolor(WHITE);
 
line(0,c,325,480);
 line(680,c,325,480); }
  delay(20);
 }
 
int x[5];
for(x[0]=50,x[1]=100,x[2]=200,x[3]=400,x[4]=500,y=450;y>=240;y=y-10,x[0]=x[0]+13,x[2]=x[2]+6,x[1]+=11,x[3]-=4,x[4]-=9)
 {  
 fillellipse(x[0],y,20,20);setfillstyle(1,GREEN);
   fillellipse(x[1],y,20,20); setfillstyle(1,YELLOW);
   fillellipse(x[2],y+10,20,20);setfillstyle(1,WHITE);
   fillellipse(300,y-15,20,20); setfillstyle(1,6);
   fillellipse(x[3],y-5,20,20); setfillstyle(1,BLUE);
 fillellipse(x[4],y+20,20,20); setfillstyle(1,CYAN);
 
 clearviewport();
for(int c=440;c&lt;480;++c)
{
 setlinestyle(0,1,3);setcolor(BLACK);
line(0,c,325,480);
 line(680,c,325,480); }
  delay(20);
 }
 
for (int c=0;c&lt;150;++c)
{
setcolor(BLACK);
fillellipse(325,240,c*1.5,c);
delay(10);}     setcolor(BLACK);settextstyle(7,0,5);
outtextxy(115,200,"B O O K - S H O P");
getch();
clearviewport();
}
 
void main()
{
 clrscr();
 int gdriver=DETECT,gmode;
 initgraph(&gdriver,&gmode,"\\tc\\bgi");
 graph();
 rectangle(10,10,630,470);
 setbkcolor(RED);
 rectangle(10,10,630,470);
 settextstyle(GOTHIC_FONT,0,4);
 setcolor(WHITE);
 outtextxy(30,35,"Developed By:-");
 settextstyle(10,0,3);
 outtextxy(150,100,"*iCBSE.com");
 getch();
  char s;
 book b1;
 z:
 
 fstream f;
 f.open("book",ios::in|ios::out|ios::app|ios::ate|ios::binary);
 clearviewport();
 settextstyle(10,HORIZ_DIR,3);
 setbkcolor(GREEN);
 rectangle(10,10,630,470);
 outtextxy(100,15,"WHAT DO U WANT TO DO:");
 settextstyle(SANS_SERIF_FONT,0,3);
 outtextxy(250,100,"1 . TO BUY");
 outtextxy(250,150,"2 . TO SHOW ALL BOOKS");
 outtextxy(250,200,"3 . TO CHECK AVAILABILITY");
 outtextxy(250,250,"4 . TO MODIFY");
 outtextxy(250,300,"5 . TO DELETE");
 outtextxy(250,350,"6 . TO EXIT");
 int a;
 settextstyle(7,0,5);
 outtextxy(20,400, "ENTER UR CHOICE:");
 f.seekg(0);
 gotoxy(55,25);
 cin>>a;
 char x;
 gotoxy(1,1);
 
 switch (a)
{
 
//*******************************************************
//	CASE       : 1
//	DETAILS    : TO ADD A BOOK’S RECORD
//*******************************************************
 
case 1:
		 gotoxy(1,1);
		 clearviewport();
		 rectangle(10,10,630,470);
		 setbkcolor(RED);
		 textbackground(13);
		 textcolor(6);
		 clrscr();
		 fstream f;
		 f.open("book",ios::in|ios::out|ios::ate|ios::app|ios::binary);
		 char ans;
		 b1.getdata();
		 f.write((char *)&b1,sizeof(b1));
		 getch();
		 settextstyle(7,0,1);
		 outtextxy(250,410,"Do You Want To Continue:");
 
		  ans=getchar();
		 if(ans=='Y' || ans=='y')
		 goto z;
		 else
		 break;
 
//*******************************************************
//	CASE       : 2
//	DETAILS    : TO SHOW ALL BOOKS’ RECORDS
//*******************************************************
 
 case 2:
	{
 clearviewport();
 rectangle(10,10,630,470);
 setbkcolor(LIGHTBLUE);
 textbackground(3);
 textcolor(6);
 cout< <"\n\n";
 fstream f;
 f.open("book",ios::in|ios::out|ios::ate|ios::app|ios::binary);
 char ans;
 f.seekg(0);
 int ctr=0;
 while(f.read((char *)&b1,sizeof(b1)) )
{
 ctr=ctr+1;
 if(ctr==8)
{
 getchar();
 clrscr();
 ctr=0;
}
 b1.show();
 if(f.eof()==1)
{
 break;
}
}
 f.close();
 settextstyle(7,0,1);
 outtextxy(250,410,"Do You Want To Continue:");
 cin>>ans;
 if(ans=='y'|| ans=='Y')
 goto z;
 else
{
 closegraph();
 exit(1);
}
}
 
//*******************************************************
//	CASE       : 3
//	DETAILS    : TO CHECK AVAILABILITY 
//*******************************************************
 
case 3: 
{
 gotoxy(60,25);
 clearviewport();
 rectangle(10,10,630,470);
 setbkcolor(DARKGRAY);
 textbackground(3);
 textcolor(5);
 clrscr();
 char ans;
 ifstream f;
 book b1;
 char name[20];
 char author[20];  int a;
f.open("book",ios::in|ios::binary);
 cout< <"\n\n\n          Enter book name whose record to be seen  :";
 cin>>name;
 do
    {
 f.read((char *)&b1,sizeof(b1));
 if(f.eof()==1) {break;}
 if(strcmp(b1.name,name)==0)
 {
 cout< <"\n                  Name     :"<<b1.name;
 cout<<"\n                 author   :"<<b1.author;
 cout<<"\n                 copies   :"<<b1.a;
  getchar();
}
}
while(f);
 f.close();
 //  a:
 settextstyle(7,0,1);
 outtextxy(250,410,"Do You Want To Continue:");
 ans=getchar();
 if(ans=='Y'||ans=='y')
 goto z;
 else
 break;
}
 
//*******************************************************
//	CASE       : 4
//	DETAILS    : TO MODIFY A RECORD
//*******************************************************
 
 case 4:  
 {
 clearviewport();
 rectangle(10,10,630,470);
 setbkcolor(BROWN);
 setcolor(WHITE);
 clrscr();
 char ans;
 fstream f; book b1;
 char name[20]; char author[20];  int a;
 f.open("book",ios::in|ios::binary);
 cout<<"\n";
 cout<<" Enter book name whose record to be changed  :";
 cin>>name;
 do
   { f.read((char *)&b1,sizeof(b1));
 if(f.eof()==1) {break;}
 if(strcmp(b1.name,name)==0)
 {
 cout< <"\n        Name     :"<<b1.name;
 cout<<"\n        Author   :"<<b1.author;
 cout<<"\n        Copies   :" <<b1.a;
 getchar();
 cout<<"\n                 Enter New Values" ;
 cout<<"\n\n      Enter the book name  :";
 cin>>name;
 cout< <"\n        Enter author name    :";
 cin>>author;
 cout< <"\n        Enter no. of copies  :";
 cin>>a;
 strcpy(b1.name,name);
 strcpy(b1.author,author);
  b1.a=a;
 int l=f.tellg();
 f.close();
 f.open("book",ios::out|ios::binary|ios::ate);
 f.seekg(l-sizeof(b1));
 f.write((char *)&b1,sizeof(b1));
 }
 }while(f);
 
 f.close();
 settextstyle(7,0,1);
 outtextxy(250,410,"Do You Want To Continue:");
 ans=getchar();
 if(ans=='Y'||ans=='y')
 {goto z;}
 else
 break;
 }
 
//*******************************************************
//	CASE       : 5
//	DETAILS    : TO DELETE A BOOK’S RECORD
//*******************************************************
 
 case 5:  
 {
 clearviewport();
		rectangle(10,10,630,470);
		setbkcolor(BROWN);
		setcolor(WHITE);
		char name[20];
		f.close();
		f.open("video",ios::in|ios::ate|ios::binary);
		settextstyle(7,0,3);
		outtextxy(200,30,"DELETING:-");
		cout< <"\n\n\n\n\n\n     Enter The  Name U Want To delete:\t";
		fflush(stdin);
		cin>>name;
		f.seekg(0);
		int k=0;
		do
		{
		f.close();
		f.open("book",ios::in|ios::ate|ios::binary);
		f.seekg(k);
		fflush(stdin);
		f.read((char *)&b1,sizeof(b1));
		if(f.eof())
		break;
		if(strcmp(b1.name,name)==0)
		{	k+=46;
		continue;
		}
		else
		{
		f.close();
		f.open("book2",ios::out|ios::ate|ios::binary);
		f.write((char*)&b1, sizeof b1);
 k+=46;
 }}while(f);
 f.close();
 remove ("book");
 rename ("book2","book");
 cout< <"\n\n\n\n\n\tPress Any Key...";
 getch();
 goto z;}
 
//*******************************************************
//	CASE       : 6
//	DETAILS    : TO EXIT
//*******************************************************
 
 case 6:
{
 clearviewport();
 rectangle(10,10,630,470);
 setbkcolor(BROWN);
 setcolor(BLUE);
 settextstyle(8,0,4);
 outtextxy(150,200,"NOW YOU WANT TO GO");
 if(getch())
 {
 fflush(stdin);
 clearviewport();
 rectangle(10,10,630,470);
 setbkcolor(LIGHTBLUE);
 setcolor(RED);
 window(10,10,40,11);
 settextstyle(8,0,4);
 outtextxy(150,200,"\"THANKS FOR VISITING\"");
 getch();
 closegraph();
 exit(1);  }
 else
 {
 goto z;
  } }
 default:
 goto z;
} }