book shop project file

50
COMPUTER SCIENCE PROJECT FILE ON TELEPHONE BILL PROJECT PREPARED BY: Mobashir Jamil & Yasir Hareed XII Session: 2010-2011 Board’s Roll Number:

Upload: mobashir-jamil

Post on 20-Nov-2014

160 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Book Shop Project File

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

Certificate

Acknowledgement

Working description of project

Header files and their purpose

Files generated

Coding & outputs

Bibliography

ACKNOWLEDGEMENT

Page 3: Book Shop Project File

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

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

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

//*******************************************************// 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

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

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

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

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

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

}

// 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

{ 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

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

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

// 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

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

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

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

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

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

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

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

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

} 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

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

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

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

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

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

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

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

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

BIBLIOGRAPHY

COMPUTER SCIENCE IN C++ BY :– Mobashir Jamil & Yasir Hareed