Search

Pages

Telephone Billing System



 Telephone Billing System

C++ Project on Telephone Billing System. Download complete project form above link.


 Telephone Billing System
 

 Telephone Billing System

 Telephone Billing System

 Telephone Billing System

 Telephone Billing System

 Telephone Billing System

 Telephone Billing System




 Source Code


//Name: Hitesh Kumar
//Language: C\C++
#include"graphics.h"
#include<fstream.h>
#include<iomanip.h>
#include<string.h>
#include<process.h>
#include<stdlib.h>
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<dos.h>
void proj_name(void);
void created(void);
class consumer
{
public:
long unsigned int tel_no;
long unsigned int con_no;
char name[60];
char add[300];
char city[40];
long unsigned int op_rdg;
long unsigned int cl_rdg;
long unsigned int met_calls;
long unsigned int free_calls;
long unsigned int charge_calls;
float met_charge;
float rent;
float debits;
float tax;
float credits;
float gross_amt;
float surcharge;
long unsigned int net_amt_bef;
long unsigned int net_amt_aft;
public:
void get_data(void);
void show_data(void);
};

void consumer::get_data(void)
{
setfillstyle(1,BLACK);
bar(0,0,680,480);
consumer g1; int a; char ch;
setlinestyle(0,0,3);
setcolor(BROWN);
settextstyle(1,0,5);
outtextxy(90,20,"ENTER THE RECORD:-");
setfillstyle(1,BLACK);
bar(50,100,550,400);
rectangle(50,100,550,400);
gotoxy(10,10);
cout<<"TELEPHONE NO. :";
cout<<tel_no;
cin.get(ch);
gotoxy(10,12);
cout<<"NAME :";
cin.getline(name,60);
gotoxy(10,14);
cout<<"ADDRESS :";
cin.getline(add,300);
gotoxy(10,16);
cout<<"CITY :";
cin.getline(city,40);
gotoxy(10,18);
cout<<"OPENING READING :";
cin>>op_rdg;
gotoxy(10,20);
cout<<"CLOSING READING :";
cin>>cl_rdg;
met_calls=cl_rdg-op_rdg;
free_calls=150;
rent=360;
if(met_calls<free_calls)
{
charge_calls=0;
met_charge=0;
}
else
{
charge_calls=met_calls-free_calls;
met_charge=charge_calls*(.80);
}
gotoxy(10,22);
cout<<"DEBITS :";
cin>>debits;
tax=(rent+met_charge+debits)/20;
gross_amt=(met_charge+rent+tax+debits);
gotoxy(10,24);
cout<<"CREDITS :";
cin>>credits;
if(credits>gross_amt)
net_amt_bef=0;
else
net_amt_bef=gross_amt-credits;
if(credits>=gross_amt)
surcharge=0;
else
surcharge=20;
net_amt_aft=net_amt_bef+surcharge;
}

void consumer::show_data(void)
{
bar(0,0,660,480);
setcolor(RED);
settextstyle(8,0,3);
outtextxy(55,10,"BHARAT SANCHAR NIGAM LIMITED");
setlinestyle(1,0,3);
line(51,40,486,40);
gotoxy(10,5);
settextstyle(3,0,1);
setcolor(BROWN);
outtextxy(15,55,"TELEPHONE NO.");
outtextxy(330,55,"CONSUMER NO.");
outtextxy(15,170,"OPENING READING ");
outtextxy(15,205,"CLOSING READING ");
outtextxy(15,235,"METERED CALLS ");
outtextxy(15,268,"FREE CALLS ");
outtextxy(15,300,"CHARGABLE CALLS ");
setcolor(BROWN);
outtextxy(330,170,"METERED CALLS ");
outtextxy(330,205,"DEBITS ");
outtextxy(330,235,"TAXES ");
outtextxy(330,268,"GROSS AMOUNT ");
outtextxy(330,300,"CREDITS ");
outtextxy(330,140,"RENTAL ");
setcolor(MAGENTA);
outtextxy(15,327,"AMOUNT PAYABLE IF PAID ON OR BEFORE ");
setcolor(BROWN);
outtextxy(15,350,"SURCHARGE ");
setcolor(MAGENTA);
outtextxy(15,377,"AMOUNT PAYABLE IF PAID ON OR AFTER ");
setcolor(RED);
setlinestyle(0,0,3);
bar(70,90,320,160);
rectangle(70,90,320,160);
gotoxy(20,5);
cout<<tel_no;
gotoxy(60,5);
cout<<con_no;
gotoxy(12,7);
cout<<name<<"\n";
gotoxy(12,8);
cout<<add<<"\n";
gotoxy(12,9);
cout<<city;
gotoxy(54,10);
cout<<setw(20)<<rent;
gotoxy(25,12);
cout<<setw(15);
cout<<op_rdg;
gotoxy(25,14);
cout<<setw(15)<<cl_rdg;
gotoxy(25,16);
cout<<setw(15)<<met_calls;
gotoxy(25,18);
cout<<setw(15)<<free_calls;
gotoxy(25,20);
cout<<setw(15)<<charge_calls;
gotoxy(59,12);
cout<<setw(15)<<met_charge;
gotoxy(59,14);
cout<<setw(15)<<debits;
gotoxy(59,16);
cout<<setw(15)<<tax;
gotoxy(59,18);
cout<<setw(15)<<gross_amt;
gotoxy(59,20);
cout<<setw(15)<<credits;
gotoxy(50,22);
cout<<setw(5)<<net_amt_bef;
gotoxy(25,23);
cout<<setw(15)<<surcharge;
gotoxy(50,25);
cout<<setw(5)<<net_amt_aft;
}

void main()
{
char ans; int con_no;
int gd=DETECT,gm; int i,j;
int midx,midy;
initgraph(&gd,&gm,"c:\\tc\\bgi");
midx=getmaxx()/2; midy=getmaxy()/2;
setlinestyle(1,0,2);
setfillstyle(1,LIGHTCYAN);
rectangle(2,1,660,660);
bar(2,1,660,660);
setcolor(RED);
for(i=90;i<=385;i+=17)
{
outtextxy(50,i,"*");
outtextxy(560,i,"*");
}
for(j=50;j<=560;j+=17)
{
outtextxy(j,90,"*");
outtextxy(j,385,"*");
}
setfillstyle(1,LIGHTGRAY);
ellipse(310,240,0,360,240,120);
fillellipse(310,240,240,120);
setfillstyle(1,LIGHTCYAN);
ellipse(312,241,0,360,200,100);
fillellipse(312,241,200,100);
setfillstyle(1,LIGHTGRAY);
ellipse(314,242,0,360,160,80);
fillellipse(314,242,160,80);
settextstyle(0,0,3);
settextstyle(0,HORIZ_DIR,4);
setcolor(RED);
outtextxy(200,190,"WELCOME");
settextstyle(1,0,4);
for(i=220;i<221;i++)
{
outtextxy(280,i,"TO");
}
settextstyle(0,0,3);
for(i=270;i<271;i++)
{
outtextxy(190,270,"OUR PROJECT");
}
sleep(1);
sleep(1);
proj_name();
sleep(1);
created();
fstream fin; consumer g1;
i:
fin.open("m.dat",ios::in|ios::out|ios::app|ios::ate|ios::binary);
fin.seekg(0,ios::end);
int a; char answer;
setfillstyle(1,LIGHTMAGENTA);
rectangle(0,0,600,480);
bar(0,0,700,480);
setcolor(BLUE);
settextstyle(1,0,5);
setlinestyle(1,0,3);
outtextxy(10,20,"ENTER YOUR CHOICE:-");
settextstyle(1,0,3);
outtextxy(100,120,"PRESS 1:TO ADD NEW RECORD");
outtextxy(100,150,"PRESS 2:TO SEE THE RECORDS");
outtextxy(100,180,"PRESS 3:FOR ENQUIRY");
outtextxy(100,210,"PRESS 4:FOR MODIFICATION");
outtextxy(100,240,"PRESS 5:FOR EXIT");
setfillstyle(1,RED);
bar(580,370,640,420);
gotoxy(77,25);
cin>>a;
setfillstyle(1,0);

//TO ADD NEW RECORD
if(a==1)
{
do
{
setfillstyle(1,LIGHTMAGENTA);
bar(0,0,679,679);
settextstyle(1,0,4);
setcolor(BLUE);
outtextxy(90,10,"ENTER THE RECORD:-");
gotoxy(40,9);
long unsigned int tel_no;
outtextxy(50,110,"TELEPHONE_NO :");
cin>>tel_no;
fin.seekg(0);
do
{
fin.read((char*)&g1,sizeof(g1));
if(fin.eof())
break;
if(g1.tel_no==tel_no)
{
bar(0,0,679,679);
settextstyle(1,0,3);
setfillstyle(1,LIGHTCYAN);
bar(20,200,610,250);
outtextxy(20,220,"PERSON WITH THIS TELEPHONE_NO ALREADY EXISTS");
delay(2000);
goto u;
}
}while(!fin.eof());
fin.close();
fin.open("m.dat",ios::app|ios::out|ios::in|ios::ate|ios::binary);
fin.seekg(0,ios::end) ;
long unsigned int r=fin.tellg();
long unsigned int t=(r/sizeof(g1))+1;
con_no=t;
g1.tel_no=tel_no;
g1.con_no=con_no;
g1.get_data();
fin.write((char*)&g1,sizeof(g1));
setcolor(RED);
settextstyle(8,0,4);
outtextxy(12,420,"ENTER ANY OTHER RECORD(Y/N)");
setfillstyle(1,4);
bar(250,450,270,470);
gotoxy(37,35);
answer=getche();
}
while ((answer=='Y')||(answer=='y'));
goto u;
}

//TO SEE THE RECORDS
else if(a==2)
{
fin.seekg(0);
fin.read((char*)&g1,sizeof(g1)) ;
do
{
clrscr();
g1.show_data();
fin.read((char*)&g1,sizeof(g1));
getch();
}
while(!fin.eof());
fin.close();
goto i;
}

//FOR ENQUIRY
else if (a==3)
{
long unsigned int tel_no1;
bar(0,0,679,679);
setcolor(GREEN);
outtextxy(70,150,"ENTER THE TELEPHONE_NO OF PERSON :");
gotoxy(35,15);
cin>>tel_no1;
bar(0,0,679,679);
fin.seekg(0);
do
{
fin.read((char*)&g1,sizeof(g1));
if(fin.eof())
goto y;
else if(g1.tel_no==tel_no1)
break;
}
while(fin);
g1.show_data();
getch();
goto u;
}

//FOR MODIFICATION
else if(a==4)
{
long unsigned int tel_no2;
long unsigned int con_no;
char name[60];
char add[300];
char city[40];
long unsigned int op_rdg;
long unsigned int cl_rdg;
long unsigned int met_calls;
long unsigned int free_calls;
long unsigned int charge_calls;
float met_charge;
float rent;
float debits;
float tax;
float credits;
float gross_amt;
float surcharge;
long unsigned int net_amt_bef;
long unsigned int net_amt_aft;
bar(0,0,679,679);
setcolor(MAGENTA);
outtextxy(100,150,"ENTER THE TELEPHONE_NO OF PERSON ");
outtextxy(100,180," TO BE MODIFIED ");
gotoxy(35,17);
cin>>tel_no2;
setfillstyle(1,0);
fin.seekg(0);
do
{
fin.read((char*)&g1,sizeof(g1));
if(fin.eof())
{
setfillstyle(1,LIGHTMAGENTA);
bar(0,0,679,679);
setfillstyle(1,LIGHTCYAN);
bar(40,200,565,250);
setcolor(BLUE);
settextstyle(1,0,3);
outtextxy(70,220,"DESIRED TELEPHONE_NO DOES NOT EXISTS");
delay(2000);
setfillstyle(1,0);
goto u;
}
if(g1.tel_no==tel_no2)
{
char ch;
long unsigned int b=fin.tellg();
long unsigned int s=sizeof(g1);
fin.close();
fin.open("m.dat",ios::out|ios::ate|ios::binary);
fin.seekp(b-s);
setfillstyle(1,BLACK);
bar(0,0,680,480);
setlinestyle(0,0,3);
setcolor(BROWN);
settextstyle(1,0,5);
outtextxy(90,20,"ENTER THE RECORD:-");
setfillstyle(1,BLACK);
bar(50,100,550,400);
rectangle(50,100,550,400);
gotoxy(10,10);
cout<<"TELEPHONE NO. :";
cout<<g1.tel_no;
cin.get(ch);
gotoxy(10,12);
cout<<"NAME :";
cin.getline(name,60);
gotoxy(10,14);
cout<<"ADDRESS :";
cin.getline(add,300);
gotoxy(10,16);
cout<<"CITY :";
cin.getline(city,20);
gotoxy(10,18);
cout<<"OPENING READING :";
cin>>op_rdg;
gotoxy(10,20);
cout<<"CLOSING READING :";
cin>>cl_rdg;
met_calls=cl_rdg-op_rdg;
free_calls=150;
rent=360;
if(met_calls<free_calls)
{
charge_calls=0;
met_charge=0;
}
else
{
charge_calls=met_calls-free_calls;
met_charge=charge_calls*(.80);
}
gotoxy(10,22);
cout<<"DEBITS :";
cin>>debits;
tax=(rent+met_charge+debits)/20;
gross_amt=(met_charge+rent+tax+debits);
gotoxy(10,24);
cout<<"CREDITS :";
cin>>credits;
if(credits>gross_amt)
net_amt_bef=0;
else
net_amt_bef=gross_amt-credits;
if(credits>=gross_amt)
surcharge=0;
else
surcharge=20;
net_amt_aft=net_amt_bef+surcharge;
g1.con_no=g1.con_no;
strcpy(g1.name,name);
strcpy(g1.add,add);
strcpy(g1.city,city);
g1.op_rdg=op_rdg;
g1.cl_rdg=cl_rdg;
g1.met_calls=met_calls;
g1.free_calls=free_calls;
g1.charge_calls=charge_calls;
g1.met_charge=met_charge;
g1.rent=rent;
g1.debits=debits;
g1.tax=tax;
g1.credits=credits;
g1.gross_amt=gross_amt;
g1.surcharge=surcharge;
g1.net_amt_bef=net_amt_bef;
g1.net_amt_aft=net_amt_aft;
fin.write((char*)&g1,sizeof(g1));
goto kk;
}
}while(fin);

kk:setfillstyle(1,LIGHTMAGENTA);
bar(0,0,679,679);
setfillstyle(1,LIGHTCYAN);
bar(35,200,550,250);
setcolor(BLUE);
settextstyle(1,0,3);
outtextxy(80,220,"RECORD OF THIS PERSON IS MODIFIED");
delay(4000);
setfillstyle(1,0);
goto u;
}

//FOR EXIT
else
{
exit(0);
}

u:fin.close();
bar(0,0,680,480);
goto i;

y:setfillstyle(1,LIGHTMAGENTA);
bar(0,0,679,679);
settextstyle(TRIPLEX_FONT,0,3);
setfillstyle(1,LIGHTCYAN);
bar(150,200,490,245);
setcolor(BLUE);
outtextxy(210,220,"RECORD NOT FOUND");
setfillstyle(1,0);
fin.close();
delay(2000);
goto u;
}

void proj_name(void)
{
fflush(stdin);
int midx,midy;
midx=getmaxx()/2;
midy=getmaxy()/2;
int i,j;
setcolor(RED);
setlinestyle(1,0,3);
setfillstyle(1,CYAN);
bar(2,1,660,660);
rectangle(2,1,660,660);
setcolor(RED);
setfillstyle(1,WHITE);
bar(25,75,575,425);
rectangle(25,75,575,425);
setfillstyle(1,CYAN);
bar(50,100,550,400);
rectangle(50,100,550,400);
setcolor(RED);
setfillstyle(1,WHITE);
bar(75,125,525,375);
rectangle(75,125,525,375);
setcolor(RED);
setfillstyle(1,CYAN);
bar(100,150,500,350);
rectangle(100,150,500,350);
setcolor(RED);
settextstyle(0,0,1);
settextstyle(1,0,6);
settextjustify(CENTER_TEXT,CENTER_TEXT);
for(i=170;i<=172;i++)
{
sleep(1);
outtextxy(291,i, "TELEPHONE");
outtextxy(301,i+70, " BILLING ");
outtextxy(331,i+140,"SYSTEM ");
}
}

void created(void)
{
fflush(stdin);
setfillstyle(1,LIGHTCYAN);
rectangle(2,1,660,660);
bar(2,1,660,660);
setcolor(RED);
setlinestyle(1,0,3);
settextstyle(1,0,8);
settextjustify(LEFT_TEXT,TOP_TEXT);
line(10,110,380,110);
outtextxy(10,20,"C");
settextstyle(4,0,8);
outtextxy(47,20,"reated By:-");
settextstyle(1,0,6);
settextjustify(LEFT_TEXT,CENTER_TEXT);

outtextxy(275,250,"HITESH KUMAR");

sleep(1);
sleep(1);
clrscr();
}


For Documentation of this project drop a comment with your mail id, we provides full documentation soon........ as possible.


No comments :

Post a Comment

 

Popular Posts