Physical Address
Godawari 2 Attariya Kailali
Physical Address
Godawari 2 Attariya Kailali
This is the Bookshop Management system Project using C Language. This Project is Created for the Book shop with a Simple Understanding Graphic. In this Project, users can add New book records, Show old Book records, Modify old Book records, Deleter the record of unwanted books, and at last check the availability of the book in the Book Shop. This Project is use File Handling to perform all the Operations in the Project.
This Bookshop Management System project is similar to other C++ projects on our site. We have changed a few codes to create a Bookshop system. Some of the similar projects are below
Listed below are the main features of this C++ project:
This project uses graphics in the .h header file and runs on the Turbo C++ compiler. So, if you want to run the source code in Code::Blocks you have to make some modifications to the code, you need to include graphics.h header file in Code::Blocks to run the project. Besides that, the bookshop management system requires the following header files included in your compiler.
File handling has been used to perform all the operations in this bookshop management system project, without the welcome screen. This project helps to add, list, modify, search (check availability) and delete records from file. To learn more about file handling in C/C++ projects, you can go through other C and C++ projects published on our site.
//******************************************************* // 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< 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< 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< 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< 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; } }