book shop project file
TRANSCRIPT
![Page 1: Book Shop Project File](https://reader031.vdocuments.site/reader031/viewer/2022013110/546d9039b4af9f58588b49ce/html5/thumbnails/1.jpg)
COMPUTER SCIENCEPROJECT FILE
ONTELEPHONE BILL
PROJECT PREPARED BY:Mobashir Jamil & Yasir HareedXIISession: 2010-2011Board’s Roll Number: International Indian School, Buraidah
TABLE OF CONTENTS
![Page 2: Book Shop Project File](https://reader031.vdocuments.site/reader031/viewer/2022013110/546d9039b4af9f58588b49ce/html5/thumbnails/2.jpg)
Certificate
Acknowledgement
Working description of project
Header files and their purpose
Files generated
Coding & outputs
Bibliography
ACKNOWLEDGEMENT
![Page 3: Book Shop Project File](https://reader031.vdocuments.site/reader031/viewer/2022013110/546d9039b4af9f58588b49ce/html5/thumbnails/3.jpg)
It would be my utmost pleasure to express my sincere thanks to My Computer Science Teacher Ms. Anita Krishnan in providing a helping hand in this project. Her unflagging patience, creativity and immense knowledge that she shared with me have proved highly beneficial to me and have made my Project File both possible and successful.
Mobashir Jamil & Yasir HareedXII
CERTIFICATE
![Page 4: Book Shop Project File](https://reader031.vdocuments.site/reader031/viewer/2022013110/546d9039b4af9f58588b49ce/html5/thumbnails/4.jpg)
This is to certify that Mobashir Jamil & Yasir Hareed of class XII has completed this project titled “Book-Shop” under my guidance & this project may be considered as the part of the practical exam of AISSCE conducted by CBSE.
Ms. Anita KrishnanComputer Science
![Page 5: Book Shop Project File](https://reader031.vdocuments.site/reader031/viewer/2022013110/546d9039b4af9f58588b49ce/html5/thumbnails/5.jpg)
HEADER FILES USED AND THEIR
PURPOSE
1. FSTREAM.H – for file handling, cin and cout
2. PROCESS.H – for exit() function
3. CONIO.H – for clrscr() and getch() functions
4. STDIO.H – for standard I/O operations
5. DOS.H – for execution of program
6. STRING.H – for string handling
7. GRAPHICS.H – for graphical display
8. IOMANIP.H–for C++ streams I/O manipulators
![Page 6: Book Shop Project File](https://reader031.vdocuments.site/reader031/viewer/2022013110/546d9039b4af9f58588b49ce/html5/thumbnails/6.jpg)
//*******************************************************// PROJECT TELEPHONE-BILLING// By: Mobashir Jamil & Yasir Hareed//******************************************************* // TELEPHONE BILLING //
// HEADER FILES
#include <stdio.h>#include <conio.h>#include <string.h>#include <process.h>#include <ctype.h>#include <dos.h>#include <dir.h>#include <fstream.h>
// CLASS HAVING THE RECORD OF CUSTOMER
![Page 7: Book Shop Project File](https://reader031.vdocuments.site/reader031/viewer/2022013110/546d9039b4af9f58588b49ce/html5/thumbnails/7.jpg)
class customer{ char ph[10]; char name[30]; char add[40]; char type; public : void append(); void display(); void deleter(); void modify(); void list(); void help();}cust;
// FUNCTION TO DISPLAY THE MESSAGE AT THE BOTTOM OF THE SCREEN
void message(char mess[80]){ int l,d; l=strlen(mess); d=l/2;
![Page 8: Book Shop Project File](https://reader031.vdocuments.site/reader031/viewer/2022013110/546d9039b4af9f58588b49ce/html5/thumbnails/8.jpg)
gotoxy(2,24); textcolor(WHITE+BLINK); textbackground(BLACK); cprintf(" "); gotoxy(40-d,24); clreol(); cprintf("%s",mess); textcolor(BLACK); textbackground(WHITE);}
// MAIN FUNCTION HAVING THE MAIN MENU
void main(){ textcolor(BLACK); textbackground(WHITE); char ch,ch1; while(1) { clrscr();
![Page 9: Book Shop Project File](https://reader031.vdocuments.site/reader031/viewer/2022013110/546d9039b4af9f58588b49ce/html5/thumbnails/9.jpg)
textcolor(WHITE); textbackground(BLACK); gotoxy(25,5); cprintf("Y & M CO."); textcolor(BLACK); textbackground(WHITE); gotoxy(25,8); cout<<" D - Display a Bill"; gotoxy(25,10); cout<<" L - List of customers"; gotoxy(25,12); cout<<" H - Help"; gotoxy(25,14); cout<<" M - Modify a record"; gotoxy(25,16); cout<<" Q - Quit"; message("Select your choice"); gotoxy(40,18); ch =getch(); ch = toupper(ch); switch(ch) { case ('Q') : textcolor(WHITE); textbackground(BLACK);
![Page 10: Book Shop Project File](https://reader031.vdocuments.site/reader031/viewer/2022013110/546d9039b4af9f58588b49ce/html5/thumbnails/10.jpg)
clrscr(); exit(1); case ('D') : cust.display(); break; case ('L') : cust.list(); break; case ('H') : cust.help(); break; case ('M') : ch1 = 'A' ; while(ch1 != 'Q') { clrscr(); textcolor(WHITE); textbackground(BLACK); gotoxy(25,5); cprintf("Y & M CO."); textcolor(BLACK); textbackground(WHITE); gotoxy(25,9); cout<<" A - Append a record"; gotoxy(25,11);
![Page 11: Book Shop Project File](https://reader031.vdocuments.site/reader031/viewer/2022013110/546d9039b4af9f58588b49ce/html5/thumbnails/11.jpg)
cout<<" D - Delete a record"; gotoxy(25,13); cout<<" M - Change a record"; gotoxy(25,15); cout<<" Q - Quit"; message("Select your option"); ch1 = getch(); ch1 = toupper(ch1); switch(ch1) { case ('A') : cust.append(); break; case ('D') : cust.deleter(); break; case ('M') : cust.modify(); break; } }
} }
![Page 12: Book Shop Project File](https://reader031.vdocuments.site/reader031/viewer/2022013110/546d9039b4af9f58588b49ce/html5/thumbnails/12.jpg)
}
// FUNCTION TO ADD THE CUSTOMER RECORD IN THE FILE
void customer :: append(){ char choice; fstream fp; fp.open("tphone.dat", ios::app); if (!fp) { cout<<"Unable to open FILE."; getch(); return; } while(1) { clrscr(); gotoxy(3,3); cout<<"Customer Record #"; message("Enter the customer record"); while(1)
![Page 13: Book Shop Project File](https://reader031.vdocuments.site/reader031/viewer/2022013110/546d9039b4af9f58588b49ce/html5/thumbnails/13.jpg)
{ message("Enter the name"); gotoxy(3,5); cout<<"Name : "; gotoxy(25,5); gets(name); if(strlen(name)==0) { gotoxy(2,23); clreol(); textcolor(WHITE+BLINK); textbackground(BLACK); cprintf("Name cannot be left blank\a"); textcolor(BLACK); } else break; } while(1) { message("Enter the address"); gotoxy(3,6); cout<<"Address : ";
![Page 14: Book Shop Project File](https://reader031.vdocuments.site/reader031/viewer/2022013110/546d9039b4af9f58588b49ce/html5/thumbnails/14.jpg)
gotoxy(25,6); gets(add); if (strlen(add) != 0) break; }
while(1) { gotoxy(3,7); cout<<"Assigned Ph. No. : "; gotoxy(25,7); cin>>ph; if (ph != 0 ) break; else { gotoxy(25,7); clreol(); } } message("Enter O for Office and R for residential phone"); gotoxy(3,8); cout<<"catagory ( O/R ) : ";
![Page 15: Book Shop Project File](https://reader031.vdocuments.site/reader031/viewer/2022013110/546d9039b4af9f58588b49ce/html5/thumbnails/15.jpg)
cin>>type; gotoxy(4,10); cout<<"1 : Save & Exit 2 : Save & Cont. 0 : Exit without save"; gotoxy(4,11); cout<<"? "; cin>>choice; switch(choice) { case ('1') : fp.write((char *) this,sizeof(cust)); fp.close(); return; case ('2') : fp.write((char *) this,sizeof(cust)); break; case ('0') : fp.close(); return; default : fp.close(); return; } }}
![Page 16: Book Shop Project File](https://reader031.vdocuments.site/reader031/viewer/2022013110/546d9039b4af9f58588b49ce/html5/thumbnails/16.jpg)
// FUNCTION TO DISPLAY THE CUSTOMER RECORD AND CALCULATE THE BILLvoid customer :: display(){ char p[10]; char choice; int found=0; int no; float bill=0.0, tax=0.0, fine=0.0, bbill=0.0, abill=0.0; fstream fp; fp.open("tphone.dat", ios::in); if (!fp) { cout<<"Unable to open a file"; getch(); fp.close(); return; } while(choice != '0') { clrscr(); gotoxy(3,20);
![Page 17: Book Shop Project File](https://reader031.vdocuments.site/reader031/viewer/2022013110/546d9039b4af9f58588b49ce/html5/thumbnails/17.jpg)
cout<<"Please enter the Phone No. "; cin>>p; if (!strcmp(p,"0")) return; found = 0; fp.seekg(0); while (fp.read((char *)this ,sizeof(cust))) { if (found==1) break; if (!strcmp(ph,p)) { clrscr(); gotoxy(28,2); textcolor(BLACK+BLINK) ; textbackground(WHITE); cprintf("Y & M CO. BILL"); textcolor(WHITE); textbackground(BLACK); gotoxy(3,4); cout<<"Name : "; cout<<name; gotoxy(35,5); cout<<"Address : ";
![Page 18: Book Shop Project File](https://reader031.vdocuments.site/reader031/viewer/2022013110/546d9039b4af9f58588b49ce/html5/thumbnails/18.jpg)
cout<<add; gotoxy(35,4); cout<<"Assigned Ph. No. : "; cout<<ph; gotoxy(3,5); cout<<"Catagory ( O/R ) : "; cout<<type; gotoxy(23,8); cout<<"___________"; gotoxy(10,8); cout<<"No. of calls "; cin>>no;
if ( no <= 15 ) bill = 0 ;
else {
no = no - 15; if (toupper(type) == 'O')
bill = no * 5.00 ; else bill = no * .80;
} gotoxy(10,9); cout<<"Bill";
![Page 19: Book Shop Project File](https://reader031.vdocuments.site/reader031/viewer/2022013110/546d9039b4af9f58588b49ce/html5/thumbnails/19.jpg)
gotoxy(70,9); cout<<bill; tax = (5*bill)/100; gotoxy(10,10 ); cout<<"5% Tax"; gotoxy(70,10); cout<<tax; gotoxy(10,11); cout<<"Duties"; gotoxy(70,11); cout<<"100"; int dd,mm,yy; struct date d; // Getting system Date getdate(&d); dd = d.da_day; mm = d.da_mon; yy = d.da_year; gotoxy(10,15) ; cout<<"TOTAL BILL before " ; cout<<dd<<"/"<<mm<<"/"<<yy; bbill = bill+tax+100; gotoxy(70,15); cout<<bbill;
![Page 20: Book Shop Project File](https://reader031.vdocuments.site/reader031/viewer/2022013110/546d9039b4af9f58588b49ce/html5/thumbnails/20.jpg)
gotoxy(10,17); cout<<"Late Fine"; fine = (bbill*5)/100; gotoxy(70,17); cout<<fine; gotoxy(10,21); cout<<"TOTAL BILL after "; cout<<dd<<"/"<<mm<<"/"<<yy; abill = bbill+fine; gotoxy(70,21); cout<<abill; found = 1; message("Press a Key"); getch(); } } message("Enter 1 or 2 to cont."); gotoxy(4,22); cout<<"1 : Cont. 0 : Exit "; cout<<"? "; cin>>choice; switch(choice) { case ('1') :
![Page 21: Book Shop Project File](https://reader031.vdocuments.site/reader031/viewer/2022013110/546d9039b4af9f58588b49ce/html5/thumbnails/21.jpg)
break; case ('0') : return; default : return; }
} fp.close();}
// FUNCTION TO DISPLAY THE LIST OF THE CUSTOMERS
void customer :: list(){ clrscr(); fstream fp; int r; fp.open("tphone.dat", ios::in); if (!fp) { cout<<"Unable to open"; getch(); fp.close();
![Page 22: Book Shop Project File](https://reader031.vdocuments.site/reader031/viewer/2022013110/546d9039b4af9f58588b49ce/html5/thumbnails/22.jpg)
return; } gotoxy(35,2); cout<<"List of Customers"; gotoxy(35,3); cout<<"*****************"; gotoxy(5,4); cout<<"Name"; gotoxy(40,4); cout<<"Phone No."; gotoxy(65,4); cout<<"Catagory"; gotoxy(1,5); cout<<"*******************************************************************************"; r=6; while (fp.read((char *) this, sizeof(cust))) { if (r >= 21) { message("Press a key"); getch(); clrscr();
![Page 23: Book Shop Project File](https://reader031.vdocuments.site/reader031/viewer/2022013110/546d9039b4af9f58588b49ce/html5/thumbnails/23.jpg)
gotoxy(35,2); cout<<"List of customers"; gotoxy(35,3); cout<<"*****************"; gotoxy(5,4); cout<<"Name"; gotoxy(40,4); cout<<"Phone No."; gotoxy(65,4); cout<<"Catagory"; gotoxy(1,5); cout<<"*******************************************************************************"; r=6; } gotoxy(5,r); cout<<name; gotoxy(40,r); cout<<ph; gotoxy(65,r); if (toupper(cust.type) == 'O') cout<<"Office"; else
![Page 24: Book Shop Project File](https://reader031.vdocuments.site/reader031/viewer/2022013110/546d9039b4af9f58588b49ce/html5/thumbnails/24.jpg)
cout<<"Residential"; r++; } message("Press a key"); getch(); fp.close();}
// FUNCTION TO DELETE THE RECORD OF CUSTOMER FROM THE FILE
void customer :: deleter(){ char ch; char p[10]; fstream temp,fp; fp.open("tphone.dat", ios::in); if (!fp) { cout<<"Unable to open Telephone file"; getch(); fp.close(); return;
![Page 25: Book Shop Project File](https://reader031.vdocuments.site/reader031/viewer/2022013110/546d9039b4af9f58588b49ce/html5/thumbnails/25.jpg)
} temp.open("temp.dat", ios::out); if (!temp) { cout<<"Unable to open Temporary file"; getch(); temp.close(); return; } clrscr(); gotoxy(5,3); cout<<"Enter the Phone No. to be deleted : "; cin>>p; if(!strcmp(p,"0")) return; int found=0; while (fp.read((char *) this, sizeof(cust))) { if (!strcmp(p,ph)) { found = 1; gotoxy(5,5); cout<<"Name "<<name;
![Page 26: Book Shop Project File](https://reader031.vdocuments.site/reader031/viewer/2022013110/546d9039b4af9f58588b49ce/html5/thumbnails/26.jpg)
gotoxy(5,6); cout<<"Address " <<add; gotoxy(5,7); cout<<"Catagory "<<type; gotoxy(6,10); cout<<"Delete this record (Y/N) "; cin>>ch; if (toupper(ch) == 'N') temp.write((char *) this,sizeof(cust)); } else temp.write((char *) this,sizeof(cust)); } fp.close(); temp.close(); if (toupper(ch) == 'N') return; if (!found) { cout<<"\n\nTelephone no. not found"; getch(); return; }
![Page 27: Book Shop Project File](https://reader031.vdocuments.site/reader031/viewer/2022013110/546d9039b4af9f58588b49ce/html5/thumbnails/27.jpg)
fp.open("tphone.dat", ios::out); temp.open("temp.dat", ios::in); while (temp.read((char *) this, sizeof(cust))) fp.write((char *) this, sizeof(cust)); fp.close(); temp.close();}
// FUNCTION TO MODIFY THE RECORD OF CUSTOMER FROM THE FILE
void customer :: modify(){ char ch; char p[10]; fstream temp,fp; fp.open("tphone.dat", ios::in); if (!fp) { cout<<"Unable to open Telephone file"; getch(); fp.close();
![Page 28: Book Shop Project File](https://reader031.vdocuments.site/reader031/viewer/2022013110/546d9039b4af9f58588b49ce/html5/thumbnails/28.jpg)
return; } temp.open("temp.dat", ios::out); if (!temp) { cout<<"Unable to open Temporary file"; getch(); temp.close(); return; } clrscr(); gotoxy(5,3); cout<<"Enter the Phone No. to be Modify : "; cin>>p; if(!strcmp(ph,"0")) return; int found=0; while (fp.read((char *) this, sizeof(cust))) { if (!strcmp(p,ph)) { found = 1; gotoxy(5,5);
![Page 29: Book Shop Project File](https://reader031.vdocuments.site/reader031/viewer/2022013110/546d9039b4af9f58588b49ce/html5/thumbnails/29.jpg)
cout<<"Name "<<name; gotoxy(5,6); cout<<"Address " <<add; gotoxy(5,7); cout<<"Catagory "<<type; gotoxy(6,10); cout<<"Modify this record (Y/N) "; cin>>ch; if (toupper(ch) == 'Y') { gotoxy(3,13); cout<<"Customer Record #"; message("Enter the customer record"); while(1) { gotoxy(3,15); cout<<"Name : "; gets(name); if (strlen(name) != 0) break; } gotoxy(3,16); cout<<"Address : ";
![Page 30: Book Shop Project File](https://reader031.vdocuments.site/reader031/viewer/2022013110/546d9039b4af9f58588b49ce/html5/thumbnails/30.jpg)
gets(add); while(1) { gotoxy(3,17); cout<<"Assigned Ph. No. : "; cin>>ph; if (ph != 0 ) break; } message("Enter O for Office and R for residential phone"); gotoxy(3,18); cout<<"catagory ( O/R ) : "; cin>>type; } } temp.write((char *) this,sizeof(cust)); } fp.close(); temp.close(); if (toupper(ch) == 'N') return; if (!found) {
![Page 31: Book Shop Project File](https://reader031.vdocuments.site/reader031/viewer/2022013110/546d9039b4af9f58588b49ce/html5/thumbnails/31.jpg)
cout<<"\n\nTelephone no. not found"; getch(); return; } fp.open("tphone.dat", ios::out); temp.open("temp.dat", ios::in); while (temp.read((char *) this, sizeof(cust))) fp.write((char *) this, sizeof(cust)); fp.close(); temp.close();}
// FUNCTION TO DISPLAY THE DISCRIPTION FOR THE PROJECT WORKING
void customer :: help(){ clrscr(); gotoxy(35,2); textcolor(WHITE + BLINK); textbackground(BLACK); cprintf(" HELP ");
![Page 32: Book Shop Project File](https://reader031.vdocuments.site/reader031/viewer/2022013110/546d9039b4af9f58588b49ce/html5/thumbnails/32.jpg)
textcolor(BLACK); textbackground(WHITE); gotoxy(8,5); cout<<"This software is used to create a telephone bill for the customers. "; gotoxy(8,7); cout<<"There are two catagories of the customers. First catagories is of"; gotoxy(8,9); cout<<"Residential phones and second catagories is of Office phones. Both"; gotoxy(8,11); cout<<"the catagories have different charges of the telephone bill. Charges"; gotoxy(8,13); cout<<"of residential phones are 80 Paise per call and Charges of Office "; gotoxy(8,15); cout<<"office phones are Rs. 1 per call. 150 call are free for each catogory"; gotoxy(8,17); cout<<"Total bill for is equal to 5% tax plus 100 rupees charges for other"; gotoxy(8,19);
![Page 33: Book Shop Project File](https://reader031.vdocuments.site/reader031/viewer/2022013110/546d9039b4af9f58588b49ce/html5/thumbnails/33.jpg)
cout<<"charges. If bill is not paid before the paticular date then penalty "; gotoxy(8,21); cout<<"should also be given."; getch();
}
![Page 34: Book Shop Project File](https://reader031.vdocuments.site/reader031/viewer/2022013110/546d9039b4af9f58588b49ce/html5/thumbnails/34.jpg)
BIBLIOGRAPHY
COMPUTER SCIENCE IN C++ BY :– Mobashir Jamil & Yasir Hareed