57% found this document useful (7 votes)
4K views31 pages

Cbse Class Xii Computer Science Project File On Book Shop 2010 Exam

This document contains a computer science project on a bookshop management system. It includes an acknowledgement, certificate, table of contents, descriptions of header files used in coding, the coding of the project in C++, and limitations. The coding section includes classes for subjects, user lists, users, and functions for displaying book lists, creating and opening user accounts, purchasing and returning books, and updating records.

Uploaded by

Shubham Gupta
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
57% found this document useful (7 votes)
4K views31 pages

Cbse Class Xii Computer Science Project File On Book Shop 2010 Exam

This document contains a computer science project on a bookshop management system. It includes an acknowledgement, certificate, table of contents, descriptions of header files used in coding, the coding of the project in C++, and limitations. The coding section includes classes for subjects, user lists, users, and functions for displaying book lists, creating and opening user accounts, purchasing and returning books, and updating records.

Uploaded by

Shubham Gupta
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 31

Downloaded From: http://www.cbseportal.

com

COMPUTER SCIENCE PROJECT FILE ON BOOK-SHOP

PROJECT PREPARED BY:

Downloaded From: http://www.cbseportal.com

Downloaded From: http://www.cbseportal.com

TABLE OF CONTENTS
Certificate Acknowledgement Header files and their purpose Coding Limitations Requirements Bibliography

Downloaded From: http://www.cbseportal.com

Downloaded From: http://www.cbseportal.com

Acknowledgement
I thank my Computer Science teacher for guidance and support. I also thank my Principal. I would also like to thank my parents and my sister for encouraging me during the course of this project. Finally I would like to thank CBSE for giving me this opportunity to undertake this project.

Downloaded From: http://www.cbseportal.com

Downloaded From: http://www.cbseportal.com

Certificate
This is to certify that --------------------of class twelve, Ewing Christian public Senior Secondary School, Allahabad has successfully completed his project in computer practicals for the AISSCE as prescribed by CBSE in the year -----------.

Date : Registration No. : Signature of Internal Examiner Signature of External Examiner

Downloaded From: http://www.cbseportal.com

Downloaded From: http://www.cbseportal.com

__________________

__________________

HEADER FILES USED AND THEIR PURPOSE


1.

FSTREAM.H for file handling, cin and cout

2.

PROCESS.H for exit() function CONIO.H for clrscr() and getch() functions

3.

4.

STDIO.H for standard I/O operations STRING.H for string handling CTYPE.H for character handling

5.

6.

Downloaded From: http://www.cbseportal.com

Downloaded From: http://www.cbseportal.com

Downloaded From: http://www.cbseportal.com

Downloaded From: http://www.cbseportal.com

CODING

#include<fstream.h> #include<conio.h> #include<string.h> #include<process.h> #include<stdio.h> #include<ctype.h> class subject {


Downloaded From: http://www.cbseportal.com

Downloaded From: http://www.cbseportal.com

public: char s[5][40],sub[5][5][40]; subject() { strcpy(sub[0][0],"Physics NCERT-I"); strcpy(sub[0][1],"Physics NCERT-II"); strcpy(sub[0][2],"Pradeep Physics"); strcpy(sub[0][3],"H.C.Verma\t"); strcpy(sub[0][4],"Together With"); strcpy(sub[1][0],"Chemistry NCERT-I"); strcpy(sub[1][1],"Chemistry NCERT-II"); strcpy(sub[1][2],"Pradeep Chemistry"); strcpy(sub[1][3],"Together With"); strcpy(sub[1][4],"P.Bahaadur\t"); strcpy(sub[2][0],"Maths NCERT-I"); strcpy(sub[2][1],"Maths NCERT-II"); strcpy(sub[2][2],"Maths ND-I\t"); strcpy(sub[2][3],"Maths ND-II"); strcpy(sub[2][4],"R.D.Sharma\t"); strcpy(sub[3][0],"Flemingo Textbook"); strcpy(sub[3][1],"Vistas Textbook"); strcpy(sub[3][2],"Flemingo ND"); strcpy(sub[3][3],"Vistas ND\t"); strcpy(sub[3][4],"Golden Guide"); strcpy(sub[4][0],"Sumita Arora");
Downloaded From: http://www.cbseportal.com

Downloaded From: http://www.cbseportal.com

strcpy(sub[4][1],"Together With"); strcpy(sub[4][2],"Evergreen C++"); strcpy(sub[4][3],"RohitQuestionBank"); strcpy(sub[4][4],"Osborne\t"); strcpy(s[0],"Physics\t"); strcpy(s[1],"Chemistry\t"); strcpy(s[2],"Maths\t"); strcpy(s[3],"English\t"); strcpy(s[4],"Computer Science"); } }; void show(); void show2(); class userlist { public: int no; char users[100][50]; }; class user { public: int sbj[5][7],totp,totr; char password[20];
Downloaded From: http://www.cbseportal.com

Downloaded From: http://www.cbseportal.com

void showpb() { cout<<"\n\n\n\n\n\n 'P' Purchase\n 'B' Back"; } }; void uppercase(char *); void pur_ret(char name[]); void notification(user &); void setdefault(user &); void chkusrlst(); void chkbooklst(); void showuserlist(); int crtusr(); int showbooks(); int openacc(); void namecutter(char name[]); int main() { textbackground(3); textcolor(0); chkusrlst(); chkbooklst(); mpage: clrscr(); char ch;
Downloaded From: http://www.cbseportal.com

Downloaded From: http://www.cbseportal.com

cout<<"\n\n\t\t\tWelcome To ASHISH BOOKSHOP\n\n\n\n\n '1' See the "; cout<<"lists of books\n '2' Create an account\n '3' Open an account"; cout<<"\n '4' See about no. of books purchased/returned\n"; cout<<" '5' See the list of accounts\n '6' Quit";show(); ch=getch(); switch(ch) { case '1': if(showbooks()==1) { goto mpage; } break; case '2': crtusr(); goto mpage; case '3': openacc(); goto mpage; case '4': pur_ret("BOOKLIST"); goto mpage; case '5': showuserlist(); goto mpage; case '6': return 0; default : goto mpage; } getch();
Downloaded From: http://www.cbseportal.com

Downloaded From: http://www.cbseportal.com

return 0; } int crtusr() { clrscr(); char name[50],reply; ifstream fi; user u;userlist list; fi.open("USERLIST");fi.read((char *) &list,sizeof(list));fi.close(); if(list.no==99) { clrscr();cout<<"\n\tYou can't create any account.\n\t"; cout<<"Since the accoutn list is full,\n\tso you have to"; cout<<" delete an account";show2();getch();return 0; } cout<<"\n Enter your name(max 49 characters):\n "; page2: cin.getline(name,49);uppercase(name); if(name[0]=='\0'||name[0]==' ') { clrscr(); cout<<"\n Please enter a valid name:";goto page2; } for(int i=0;name[i]!='\0';i++) {
Downloaded From: http://www.cbseportal.com

Downloaded From: http://www.cbseportal.com

if(name[i]=='\\'||name[i]=='/'||name[i]==':'||name[i]=='*'|| name[i]=='?'||name[i]=='\"'||name[i]=='<'||name[i]=='>'|| name[i]=='|') { clrscr(); cout<<"\n Please enter a valid name:";goto page2; } } fi.open(name); if(fi.good()) { clrscr(); cout<<"\n The name you have entered is already present!"; cout<<"\n Please enter another:\n ";goto page2; } fi.close(); page: clrscr(); cout<<"\n Do you want to add a password? (y/n):";reply=getch(); if(reply=='Y'||reply=='y') { clrscr(); cout<<"\n Enter your password(max 19 characters):\n "; cin.getline(u.password,19); } else if(reply=='N'||reply=='n') { strcpy(u.password,"########"); }
Downloaded From: http://www.cbseportal.com

Downloaded From: http://www.cbseportal.com

else{ goto page;} setdefault(u); ofstream fo(name); fo.write((char *) &u,sizeof(u));fo.close(); strcpy(list.users[list.no],name);list.no++; fo.open("USERLIST");fo.write((char *) &list,sizeof(list));fo.close(); clrscr();cout<<"\n\n\tCongratulations! "; cout<<"You have created your account of name:\n\t'"<<name<<"'"; show2();getch(); return 0; } void setdefault(user &usr) { int i,j; for(i=0;i<5;i++) { for(j=0;j<7;j++) { usr.sbj[i][j]=0; } } usr.totp=0;usr.totr=0; }
Downloaded From: http://www.cbseportal.com

Downloaded From: http://www.cbseportal.com

void chkusrlst() { ifstream usrlst; usrlst.open("userlist"); if(!usrlst.good()) { ofstream fo("userlist"); userlist list; list.no=0; fo.write((char *) &list,sizeof(list)); fo.close(); } usrlst.close(); } void chkbooklst() { ifstream booklst;int i,j; booklst.open("booklist"); if(!booklst.good()) { ofstream fo("booklist"); user bklst; for(i=0;i<5;i++) { for(j=0;j<5;j++)
Downloaded From: http://www.cbseportal.com

Downloaded From: http://www.cbseportal.com

{ bklst.sbj[i][j]=1000; } } for(i=0;i<5;i++) { bklst.sbj[i][5]=0;bklst.sbj[i][6]=0; } bklst.totp=0;bklst.totr=0; fo.write((char *)&bklst,sizeof(bklst)); fo.close(); } booklst.close(); } int showbooks() { user guest;subject sb;char i,k,ch,ch1,ch2;int x,y,j; page1: clrscr(); ifstream fi("Booklist"); fi.read((char *) &guest,sizeof(guest)); fi.close();cout<<"\n\n\n\n\n\n\n"; for(x=0;x<5;x++) { cout<<" '"<<x+1<<"' "<<sb.s[x]<<"\n"; }
Downloaded From: http://www.cbseportal.com

Downloaded From: http://www.cbseportal.com

cout<<" 'B' Back"; show();ch=getch(); for(i='1',x=0;i<='5';i++,x++) { page2: clrscr(); if(ch==i) { cout<<"\n\n\n\t\t"<<sb.s[x]<<"\n\n\n\n"; for(j=0;j<5;j++) { cout<<" \'"<<j+1<<"\' "<<sb.sub[x][j]<<"\t"; cout<<guest.sbj[x][j]<<" remaining\n"; } cout<<" 'B' Back";show();ch1=getch(); for(k='1',y=0;k<='5';k++,y++) { if(ch1==k) { page3: clrscr(); cout<<"\n\t\t\t\t"<<sb.sub[x][y]; guest.showpb();show();ch2=getch(); if(ch2=='P'||ch2=='p') { if(guest.sbj[x][y]>0) { guest.totp++;guest.sbj[x][5]++;guest.sbj[x][y]--;
Downloaded From: http://www.cbseportal.com

Downloaded From: http://www.cbseportal.com

notification(guest); } else { clrscr(); cout<<"\n\n\tYou can't purchase this book.\n\tMake "; cout<<"sure that no. of copies of this book\n\tin "; cout<<"this shop is greater than zero."; show2();getch();goto page2; } } else if(ch2=='B'||ch2=='b'){ goto page2;} else{ goto page3;} break; } } if(ch1=='B'||ch1=='b'){ goto page1;} else{ goto page2;} } } if(ch=='B'||ch=='b'){ return 1;} else{ goto page1;} } void notification(user &u) {
Downloaded From: http://www.cbseportal.com

Downloaded From: http://www.cbseportal.com

clrscr(); ofstream f("BOOKLIST"); f.write((char *) &u,sizeof(u)); f.close(); cout<<"\n\n\n\n\n\n\n\tThank you for your purchasing this book. "; cout<<"Next time you must create\n\tan account so that you can "; cout<<"purchase more than one book and also can\n\treturn books"; cout<<" purchased from this shop.\n\n\n\n\n"; cout<<"\tNow press any key to exit"; getch(); exit(0); } void show() { cout<<"\n\n\n\n\n\tPress any of the keys given above!"; } void show2() { cout<<"\n\n\n\n\n\tPress any key to back!"; } void pur_ret(char name[]) {
Downloaded From: http://www.cbseportal.com

Downloaded From: http://www.cbseportal.com

clrscr(); user u;subject s;ifstream fi(name);int i; fi.read((char *) &u,sizeof(u));fi.close(); cout<<"\n\n\n\n Subject\t\tPurchased\tReturned\n\n\n"; for(i=0;i<5;i++) { cout<<" "<<i+1<<"."<<" "<<s.s[i]<<"\t"<<u.sbj[i][5]; cout<<"\t\t"<<u.sbj[i][6]<<"\n"; } cout<<" 6. "<<"Total\t\t"<<u.totp<<"\t\t"<<u.totr;show2();getch(); } int openacc() { user u,bklst;userlist list; char name[50],passw[20],reply;ofstream fo; page1:clrscr(); cout<<"\n Enter your account name:\n ";cin.getline(name,49); uppercase(name);ifstream fi(name); if(!fi.good()) { pagename: clrscr();cout<<"\n\n Wrong account name!\n Enter again?(y/n)\n "; reply=getch(); if(reply=='y'||reply=='Y'){ goto page1;}
Downloaded From: http://www.cbseportal.com

Downloaded From: http://www.cbseportal.com

else if(reply=='n'||reply=='N'){ return 0;} else{ goto pagename;} } fi.read((char *) &u,sizeof(u));fi.close(); fi.open("USERLIST");fi.read((char *) &list,sizeof(list));fi.close(); int flag=0; for(int s=0;s<list.no;s++) { if(!strcmp(name,list.users[s])){ flag=1;break;} } if(flag==0) { strcpy(list.users[list.no],name);list.no++; fo.open("USERLIST"); fo.write((char *) &list,sizeof(list));fo.close(); } if(!strcmp(u.password,"########")){ goto page3;} page2: clrscr();cout<<"\n Enter your password:\n "; cin.getline(passw,19); if(strcmp(u.password,passw)) { pagepass: clrscr();cout<<"\n\n Wrong password!\n Enter again?(y/n)\n "; reply=getch(); if(reply=='y'||reply=='Y'){ goto page2;} else if(reply=='n'||reply=='N'){ return 0;}
Downloaded From: http://www.cbseportal.com

Downloaded From: http://www.cbseportal.com

else{ goto pagepass;} } page3: clrscr();fi.open("BOOKLIST"); fi.read((char *) &bklst,sizeof(bklst));fi.close(); cout<<"\n\n\n\tWelcome "<<name; cout<<"\n\n\n\n '1' Purchase/return books\n '2' No. of books"; cout<<" you are having\n '3' No. of books purchased/retutned "; cout<<"by you\n '4' Add/modify password\n '5' Remove password\n "; cout<<"'6' Delete your account\n 'B' Back";show();reply=getch(); if(reply=='1') { subject sb;char i,k,ch,ch1,ch2;int x,y,j; page31: clrscr(); cout<<"\n\n\n\n\n\n\n"; for(x=0;x<5;x++) { cout<<" '"<<x+1<<"' "<<sb.s[x]<<"\n"; } cout<<" 'B' Back"; show();ch=getch(); for(i='1',x=0;i<='5';i++,x++) { page32: clrscr(); if(ch==i)
Downloaded From: http://www.cbseportal.com

Downloaded From: http://www.cbseportal.com

{ cout<<"\n\n\n\t\t"<<sb.s[x]<<"\n\n\n\n"; for(j=0;j<5;j++) { cout<<" \'"<<j+1<<"\' "<<sb.sub[x][j]<<"\t"; cout<<bklst.sbj[x][j]<<" remaining\n"; } cout<<" 'B' Back";show();ch1=getch(); for(k='1',y=0;k<='5';k++,y++) { if(ch1==k) { page33: clrscr(); cout<<"\n\t\t\t\t"<<sb.sub[x][y]; u.showpb();cout<<"\n 'R' Return";show();ch2=getch(); if(ch2=='P'||ch2=='p') { if(bklst.sbj[x][y]>0) { u.totp++;bklst.totp++;u.sbj[x][5]++;bklst.sbj[x][5]++; u.sbj[x][y]++;bklst.sbj[x][y]--;fo.open("BOOKLIST"); fo.write((char *) &bklst,sizeof(bklst));fo.close(); fo.open(name);fo.write((char *) &u,sizeof(u));fo.close(); clrscr();cout<<"\n\n\tOK! You have purchased this book"; }
Downloaded From: http://www.cbseportal.com

Downloaded From: http://www.cbseportal.com

else { clrscr(); cout<<"\n\n\tYou can't purchase this book.\n\tMake "; cout<<"sure that no. of copies of this book\n\tin "; cout<<"this shop is greater than zero."; } show2();getch(); goto page32; } else if(ch2=='r'||ch2=='R') { if(u.sbj[x][y]>0) { u.totr++;bklst.totr++;u.sbj[x][6]++;bklst.sbj[x][6]++; u.sbj[x][y]--;bklst.sbj[x][y]++;fo.open("BOOKLIST"); fo.write((char *) &bklst,sizeof(bklst));fo.close(); fo.open(name);fo.write((char *) &u,sizeof(u));fo.close(); clrscr();cout<<"\n\n\tOK! You have returned this book"; } else { clrscr(); cout<<"\n\n\tYou can't return this book.\n\tMake "; cout<<"sure that no. of copies of this book\n\tyou";
Downloaded From: http://www.cbseportal.com

Downloaded From: http://www.cbseportal.com

cout<<" are having is greater than zero."; } show2();getch(); goto page32; } else if(ch2=='B'||ch2=='b'){ goto page32;} else{ goto page33;} } } if(ch1=='B'||ch1=='b'){ goto page31;} else{ goto page32;} } } if(ch=='B'||ch=='b'){ goto page3;} else{ goto page31;} } else if(reply=='2') { clrscr(); int i,j; for(i=0;i<5;i++) { subject sb; cout<<"\n "<<sb.s[i]<<"\n"; for(j=0;j<5;j++) {
Downloaded From: http://www.cbseportal.com

Downloaded From: http://www.cbseportal.com

cout<<" "<<j+1<<". "<<sb.sub[i][j]<<"\t"<<u.sbj[i][j]; cout<<" remaining\n"; } } show2();getch();goto page3; } else if(reply=='3') { pur_ret(name); goto page3; } else if(reply=='4') { clrscr();cout<<"\n Enter new password(max 19 characters):\n "; cin.getline(passw,19);strcpy(u.password,passw);clrscr(); cout<<"\n\tPassword modified succesfully!";show2();getch(); fo.open(name);fo.write((char *) &u,sizeof(u));fo.close(); goto page3; } else if(reply=='5') { page35: clrscr();cout<<"\n Remove password? (y/n):";reply=getch(); if(reply=='Y'||reply=='y') { strcpy(u.password,"########");fo.open(name); fo.write((char *) &u,sizeof(u));fo.close();clrscr(); cout<<"\n\tPassword removed successfully!";
Downloaded From: http://www.cbseportal.com

Downloaded From: http://www.cbseportal.com

show2();getch();goto page3; } else if(reply=='N'||reply=='n'){ goto page3;} else{ goto page35;} } else if(reply=='6') { page36: clrscr(); cout<<"\n Do you want to delete your account? (y/n):";reply=getch(); if(reply=='Y'||reply=='y') { clrscr();remove(name); cout<<"\n\tYour account is deleted successfully!";show2();getch(); namecutter(name); return 0; } else if(reply=='N'||reply=='n'){ goto page3;} else{goto page36;} } else if(reply=='b'||reply=='B') { page3b: clrscr(); cout<<"\n Do you want to exit from your account?(y/n):"; reply=getch(); if(reply=='Y'||reply=='y'){ return 0;} else if(reply=='N'||reply=='n'){ goto page3;}
Downloaded From: http://www.cbseportal.com

Downloaded From: http://www.cbseportal.com

else{ goto page3b;} } else{ goto page3;} } void uppercase(char *a) { for(int i=0;a[i]!='\0';i++) { a[i]=toupper(a[i]); } } void showuserlist() { clrscr();int i;userlist list;ifstream fi("USERLIST"); fi.read((char *) &list,sizeof(list));fi.close(); for(i=0;i<list.no;i++) { cout<<"\n "<<i+1<<". "<<list.users[i]; } show2();getch(); } void namecutter(char name[]) { userlist u;char temp[50];int i;

Downloaded From: http://www.cbseportal.com

Downloaded From: http://www.cbseportal.com

ifstream fi("USERLIST");fi.read((char *) &u,sizeof(u));fi.close(); for(i=0;i<u.no-1;i++) { if(strcmp(u.users[i],name)==0) { strcpy(temp,u.users[i]); strcpy(u.users[i],u.users[i+1]); strcpy(u.users[i+1],temp); } } u.no--;ofstream fo("USERLIST"); fo.write((char *) &u,sizeof(u));fo.close(); }

REQUIREMENTS
HARDWARE REQUIRED Printer, to print the required documents of the project Compact Drive
Downloaded From: http://www.cbseportal.com

Downloaded From: http://www.cbseportal.com

Processor : Pentium III Ram : 64 MB Harddisk : 20 Gb.

SOFTWARE REQUIRED

Operating system : Windows XP Turbo C++, for execution of program and Ms word, for presenattion of output.
www.cbseportal.com www.cbseportal.com www.cbseportal.com www.cbseportal.com www.cbseportal.com www.cbseportal.com

BIBLIOGRAPHY

COMPUTER SCIENCE IN C++ BY :

Downloaded From: http://www.cbseportal.com

Downloaded From: http://www.cbseportal.com


www.cbseportal.com www.cbseportal.com www.cbseportal.com www.cbseportal.com www.cbseportal.com www.cbseportal.com www.cbseportal.com www.cbseportal.com www.cbseportal.com www.cbseportal.com www.cbseportal.com www.cbseportal.com www.cbseportal.com www.cbseportal.com www.cbseportal.com www.cbseportal.com www.cbseportal.com www.cbseportal.com

Downloaded From: http://www.cbseportal.com

You might also like