Project Report
On
GAS BOOKING
SYSTEMContent
1. Introduction
2. Source Code
3. Output
4. Requirement
5. Advantages and disadvantages
6. Conclusion
7. System designThis project GAS BOOKING SYSTEM includes some facilities for
the customer to get the required number of cylinders. and it
will provide the facility of getting information about number of
subsidy cylinders left.
This software keep the records of all the customers and their
information about how many time the booking of cylinders
done.
Objective of this software is to computerize the manual system
of a Gas Agency, so that all the transactions become fast and
easy. It replaces all the paper work. It works according to the
need and lowers the workload of user.
Objective of the program is rather simple .It provides easy
management of transaction that are regular in a business
concerned for which it have been developed. It’s provides an
easy navigation menu which a layman user can also use.
It manage the entire record along with date, item code, item
cost etc. in this program there is a working mode available
administrator. An administrator is as usual given all the rights
like adding information, modifying existing information,
deleting and viewing the information.
In this system clearly aims at reducing the paper work at the
cost to be borne of the registers and other things are muchHEADER FILE USED IN PROJECT
finclude
finclude
#include
#include
#includecfstream.h>
#includesiomanip.h>
#includesstring.h>
#includesctype.h>
meeeeeresstructure
struct otherinfo
char mobno[15};
char emailf70};
char aadhaar{20)
tiname structure
struct nameinfo
{
char fname{20};
char iname[20};
int age;
}
{address structure
struct address
char hno[20},
char city{35}
char state[ 15}
}
(idate structure
struet dateinfo|
int da
int mm;
int yy:
i
listruct donardate
struct custdate
char custreg(25}
dateinfo dt
h
struct bank_info
{
int ifsc
char bankname|50};
char acctno[20}
char branch(15}
}"40 increase or decerese the limit
struct conn_limit
char cust_reg[15];
int mit;
%
struct bank trans,
(
char bookno[ 15};
char custeonn 5};
dateinfo datesub;
int amount;
bank_info bankdetails:
wrefunctions protoype:
void write_cust_conn();
int getcusino();
char *getreg();
int getimil(char conn(1))
void modify _CUSTinfo(char regno[15});
void delete_CUSTinfo(char regno[15]);
void displayCONNofCUST char conn{15]);
void displayCONNonly(char conn[15));
void bookmyeylinder(char con[t5)};
void cust_report_menut);
void decreaselimitonly(char conn[15]);
void display_cyl_datewise(dateinfo disearch)
void display_cyl_datewise(dateinfo dtsearch);
void displayCONN_withnoCYL(char conn[15});
eeeeetenctions
int checkpass();
void incr_decr(int val,char choice);
int statuscheck(char conf1§});
Void booking_menu();
void intromain();
oid intro)
void admin_menu();
void customer_menu();
void displayaliCONN();
void limitchango(char custreg( 15} int im);
char “getbookreg();
void finalizedcyi(char conn(5));
char “getstatus(char cn{15});
void display_custlimit(char custreg{5}.inty
void createbanktransc(char con2[15},bank_info bank_infor,int sub_emt2,dateinfo date),
bank_info getbankdetails(char cn[15});
void donarist(in c,dateinfo BDT dateinfo DDT char stat{15)};
ipssseemssfunctions
Wn
preter class customer connection
class customer
Hint dono;
int custno;
char cust_regist(15};
nameinfo nm;
address add;
dateinfo date1;
otherinfo other,
bank info bkinfo;
float conn_amount;
char status;
public:
customer()
tuatno:
conn_amount=0.00;
}
void setbankinfo(bank_info bk1){
‘strepy(bkinfo.bankname,bk1.bankname);
strepy(bkinfo.acctna, bk'acctno);
‘strepy(bkinfo, branch, bk1..branch);
bkinfo.ifso=bk‘ ifsc;
t
int getcusino2()
{
retum custno;
y
ae ‘NEW CUSTOMER CONNECTION
void create CUST_CONNECTION(int dnt)
{
gotoxy(5.7):
cout<<'
gotoxy(1,8)
couts<"CUST NO"
custno=dnt;
sgotoxy(10.8);
cout<>cust_regist;
gotoxy(209)
coute<"FIRST NAME";
gotoxy(32,9)
cin>>nm fname;
gotoxy(48.9);
coute<"LAST NAME";
gotoxy(60.9):
cin>>nm.iname:
-gotoxy(10,10)
cout<<"AGE:";
gotoxy(20,10);
cin>>nm.age;
gotoxy( 10,11);
cout<<"
sgotoxy(1, 12);
cin ignore);
coute<"H NO/STREET:";
gotoxy( 15,12);
cin.getine{add.hno,80);
Icout<<"5-545,sakhawat ganj mall gorahkpur";
Iicin>>add.hno;
gotoxy( 18,13),
‘coute<"CITY:";
gotoxy(30,13)
cin>>add.city
gotoxy(55,13);
coute<"STATE",
‘gotoxy(65,13)
cin>>add.state;
gotoxy(10,14)
couts<". —--DATE OF CONNECTION
gotoxy( 10,15):
‘couts<"DATE (ddlmmiyyyy)";
gotoxy( 30,15);
cin>>datet.dd;
gotoxy(35,15);
couts<"";
gotoxy(40,15):
cin>>datet mm;
gotoxy(45,15)
cout<<"";
gotoxy(50,15);
cin>>date 1 yy:
gotoxy( 10,16);
couts<"———OTHER INFORMATION—
gotoxy(1.17);
CUSTOMER'S ADDRESS DETAIL'S————-——-—",coute<"MOBILE NO";
gotoxy(15,17)
cin>>other.mobno;
gotoxy(1,18);
Couts<"E-MAIL(IF NO ENTER \'NOM")”
‘gotoxy(30,18);
cin>>other. email;
if(stromp(other.email,"NO")==0||stremp(other. email
strepy(other.emall,"NO EMAIL ID");
cin ignore)
gotoxy(1,19);
couts<"AADHAAR NO: ";
Ngotoxy(15,20),
cin.getine(other.aadnaar.20);
‘gotoxy(10,20);
coute<"———-BANK INFORMATION.
gotoxy(1,21);
cin ignore);
couts<"BANK NAME:
gotoxy(15,21)
in.getine(bkinfo. bankname, 50);
gotoxy(45,21);
cin ignored)
coul<<"BRANCH NAME::";
gotoxy(60,21);
cin getline(bkinfo.branch,20);
gotoxy( 1,22):
couts<"ACCOUNT NO.*;
gotoxy(15,22):
cin=>Dkinfo.acctno;
gotoxy(45,22);
cout<<"IFSC CODE:
_gotoxy(58,22);
cin>>bkinfoifsc;
gotoxy(5,23);
coute<"AMOUNT OF CONNECTION: *;
cin>>conn_amount;
stalus=Y"
NEW CUSTOMER CONNECTION
“display customer info
void display_cust_conn()
gotoxy(1 8)
coute<"CONN NO:";
gotoxy(12.8);
cout<>bkno;
gotoxy(20 pos);
cout<<"CUSTOMER CONNECTION:”;
gotoxy(48,pos);
strepy(custconn,c_reg);
coute>amt;
pos=pos+1;
gotoxy(5,pos);
cout<<"—-——----—-DATE OF BOOKING —--—-—---——";
pos=pos+1;
gotoxy(10,pos);
cout<<"DATE(ddimmiyyyy):";
gotoxy(30,pos);
cin>>bookdate.dd;
gotoxy(35,pos);
coutee"P:
gotoxy(40 pos);
cin>>bookdate. mm;
gotoxy(45,pos);
coutee"
gotoxy(50,pos);
cin>>bookdate yy
sitrepy(status,"Pending’):
)
imee#4*44444590king slip
void display bookslip_horizontal(int ct)
{gotoxy(1.ct);
cout<>nm;
cirsor(};
gotoxy(20,20);cout<<"PLEASE ENTER THE PASSWORD:";
gotoxy(20,21);,
cin>>pass;
if(stromp(nim,"admin"}==0 && stromp(pass, "vicky" }==0)
return 0;
else
{
return 1;
)
y
peers
vvold intromain()
‘main intro
_jpovinesapnocamrenmenensenscnbocbaiat a
li INTRODUCTION FUNCTION
pasesnstasansaneisssaiacoeeusnnengansauntaeaians
void intr)
{clrser();
gotoxy(4,2)
Bae eremisiermesinenSASSEYLINDER BOOKING: rersnreenon
gotoxy(12,4);
coutee”
gotoxy(5.5)
cout
gotoxy(50.10);
cout<<"PROJECT:”,
gotoxy(50, 12);
couteMADE BY : ~
gotoxy( 10,14),
coute—
geteh()
CLASS : XII
ue ‘ADMINSTRATOR MENU FUNCTION
UF sssoctane tn crmnert eneonionert ase
void admin_menul)
{
clrser();
char ch2;
colrser();
intromain()
gotoxy( 12,6);
cout
goioxy( 12,7)
cout<<"1. CUSTOMER CONNECTION INFORMATION",
gotoxy(12.8)
cout<<"2.BOOKING SYSTEM/FINALIZATION/INCREASE OR DECREASE CYLINDER LIMIT";
gotony( 12,9
cout<<"3.BACK TO MAIN MENU",
gotoxy( 12,10);
cout<<"Please Enter Your Choice (1-3) ";
gotoxy(22,11)
ADMIN: MEN\
phavocesenbeseasaviniievestioveetsnctasauimaneneansccenssens
ch2=getche();
switeh(ch2)
{
case'1':
‘customer_menu();
break;
case '2
booking_menu();
break;default:
coute<"a"iadmin_menu();
d
W. DONARS INFORMATION ADD / MODIFY / DELETE
Void customer_menu()
{
cirser():
char cha:
char regno[15];
cirser();
intromain();
gotoxy(20,6);
coute<
gotoxy(22,7);
‘cout<<"1, ADD CUSTOMER CONNECTION INFORMATION":
gotoxy(22,8);
Cout<<"2. MODIFY CUSTOMER INFORMATION":
gotoxy(22,9);
cout<<"3, DELETE CUSTOMER INFORMATION":
gotoxy(22,10);
cout<<"4.BACK TO MAIN MENU";
gotoxy(22,11);
cout<<"Please Enter Your Choice (1-4) ":
gotoxy(22,12);
USTOMER'S MENU:
po+seoeenssnneneeensnnenunnentensuneanssnnnennasuenneteti
ch2=getche();
switeh(ch2)
{
case 1" clrser();
write_cust_eonn()
break;
case 2
gotoxy(10.8);
‘cout<<"*** ENTER THE REG, NO. OF CONNECTION NO TO BE SEARCHED:”;
gotoxy(55.9);
cin>>regno,
modify CUSTinfo(regno);
break:
case '3'
cirser();
intromain();
gotoxy(10.8):
cout<<"**** ENTER THE CONNECTION NO OF CUSTOMER TO BE SEARCHED AND DELETE";
gotoxy(55.9);
cin>>regno;
delete_CUSTinfo(regno);
break;
default:
couts<"ta’v/admin_menu();
}
hroeeneesnunnianeensaneniisutashnanieesnnnnsncenstssniiissansis
“booking menu
Void booking_menu()
{
cirser();
int value=0;
char ch2,ch;
char conn[15};
peeveseastinvsununuuveeiiatennannnecsnstessunnsancnnnsessins
cirser();
intromain();
gotoxy(20.6);
iene{
m
}
custobj.create_CUST_CONNECTION(mn);
gotoxy(5,23);
cout<<'NO. OF CYLINDERS:
cconim.limit=Im;
‘objoff write((char")&custobj,sizeof{customer)};
psterseeyrite to cust. limit list also
stropy(conim.cust_reg,custobj getcusireg());
objoffst.write{(char*)&conim,sizeof(conn_limit));
objoft closet);
objofflist.close();
gotoxy( 10,24);
Bouter RECORD SAVED HtHHersssteeteee
cin ignore();
getch():
}
Ipserstreerress+4add new registered donars information
sposeeeeeewnesget the customer NO
int getcustna()
ccin>>Im;
ifstream objif;
customer st
int count=0;
objiff.opent"customer. dat" jos::binary);
Objiff seekg(0,ios beg);
if(obitty
{
cout<<"File could not be open !! Press any Key.
getchi);
}
sseesess****stemporary hiding these lines
while(objif.read((char *) &st, sizeof(customer)))
{
ccount++:
une=*""iump to the last line
objiff seekg(count-sizeof(st),ios::beg);
objiff.read((char*) &st, sizeof(customer));
count=st.getcustno2();
count++,
objiff.close);
retum count;
ipsr"*ee= get the customer reggst
ytteeesss+eeegt thie donars last number"
char “getreg()
{
ifstream objif;
customer st;
int count=0;
char tmpreanof 5]:
objff open"customer dat"ios::binary);
obj seekg(0,ios::beg):
if(lobjify
{
cout<<"File could not be open !! Press any Key...
getch();
Itteese=*#**2"*temporaty hiding these lines
wihile(objif.read((char *) &st, sizeof{customer)))
{
count++;
reer" iump to the last line
objif seekg(count-sizeot{st)ios::beg);
objifread\(char *) &st, sizeof{customer)):
stropy(tmpregno,st.getcustreg();
objif. closet);while(objif.read((char*)8&book_obj sizeof(bookingstip)))
BDT=book_obj.getbookdate();
if(dtsearch.dd==BDT dd && dtsearch.mm=:
{
-BDT.mm && disearch yy==BDT yy)
DDT=book_obj.getdeliverdato()
ifstremp(book_ obj getthestatus
{
gotoxy(5,01)
cout<<"||~"<>ch;
if (oupperich}==)
(
00 YOU WANT TO DELETE THE RECORDS GIVEN ABOVEIYES(Y) OR NO (N)=
ofstream outFile
outFile.open("Temp1 dat" ,jos::binary);
ifstream objf("customer dat’ jos:binary);
Objff seekg(0,ios::beg);
wihile(objifread((char *) &dr, sizeof(customer)))
{
if(stremp(dr.getcustreg(),regno)!=0)
{
outFile.write((char *) &dr, sizeof(customer)),
}
outFile.close();
objif close();
romove("customer dat")
rename("Temp1 dat" "customer. dat’)
JVagainopenandclose();
gotoxy(30,20);
oul ——
getch():
}
}
——Record Deleted:
steeewesseeee-=-*detion of the customer connection...
[pestetvererenss*rail reports display here
void cust_report_menu()
clrscr();
char ch2;
Ni char regnol15};
char conn[15};//,ct¥35];
dateinfo datesearch:
clrser();
‘intromain();
gotoxy(20,6);coute<" REPORTS
gotoxy(22,7):
cout<<"1.ALL CONNECTION INFORMATION ";
gotoxy(22,8):
Cout<<"2. CUSTOMER INFORMATION BY CONNECTION NO";
gotoxy(22,9),
cout<<"3.CUSTOMER INFORMATION AND NO. CYLINDER DELEVERED OR PENDING";
gotoxy(22, 10);
cout<<"4.DISPLAY CYLINDER BOOKING DELEVERED OR PENDING DATE WISE":
gotoxy(22,11);
cout<<"5.DISPLAY CUSTOMER INFORMATION WITH NO. OF SUBSIDY LIMITS LEFT";
gotoxy(22,12)
coute<’6.BACK TO MAIN MENU"
gotoxy(22,13)
cout<<"Please Enter Your Choice (1-6) ";
gotoxy( 22,14);
——
ch2=gotche();
switeh(ch2)
(
case"
clrser)
intromain():
displayallCONN();
break;
case '3'
clrser)
intromain();
gotoxy( 10,8);
coute<"****ENTER THE CONNECTION NO TO BE SEARCHED:";
gotoxy(55,9);
cin>>conn;
displayCONN_withnoCYL (conn);
break;
case '2:
clrser();
intromain();
gotoxy(10,8);
couts<""**""ENTER THE CONNECTION NO TO BE SEARCHED:
goioxy(55,9);
cin>>conn:
displayCONNofCUST (conn);
break;
case
lrser(;
intromain();
gotoxy(10,8);
cout<<"***"ENTER THE datewise TO BE SEARCHE of cylinder bookings
gotoxy(10,9):
coute<"——— DATE OF SEARCH",
gotoxy(10,10);
couts<"DATE (dd/mmiyyyy)
gotoxy(30,10);
cin2>datesearch.d
gotoxy(35,10);
coutc<"";
gotoxy(40,10);
cin2>datesearch.mm,
gotoxy( 45,10);
coute<"/"
gotoxy(50,10);
cin>>datesearch.yy;
display _cy|_datewise(datesearch):
break;
case
clrser()
intromain();
gotoxy(10,8);
coute<"**"" ENTER THE CONNECTION NO TO BE SEARCHED.”{p.seekp (fpos-sizeof(customer),ios::beg);
drdisplay_cust_conn();
\while(objiff.read((char*)&cnim,sizeof(conn_limit)))
if(stremp(cnim.cust_reg.custreg)
0)
flag2=1
break;
USTOMER CYLINDER SUBSIDY LIMITS LEFT=
P=PH;
gotoxy(5.P):
Coute<"no of cylinders left: "<>date! dd
gotoxy(35.ct);
cout<<"";
gotoxy(40,c1);
cin>>date1.mm;
gotoxy(45,c1);
coute="";
gotoxy(50.c1);
cin>>datet yy:
book_obj.setdeliver(date1);
book_obj.setthestatus();
obj write((char *) &book_obj, sizeof(bookingslip))
objiff.close()
getchi);
|poseneenesonsoees
\crease or decrease all the cylinder limits of all the customer
void incr_decr(int val,char choice)
fstream objif;
objiff.cpen("conniimit. dat” jos::binarylios::infios::out);
conn_limit enim;
int flag2=-1,pos=0;
is0 increase
|| choice=='y')
while(objffread((char*)&cnim,sizeof(conn_limit)))
if{choice:
{
if{statuscheck(cnim.cust_reg)==0)cout<<"===ENTER THE FIRST NAME TO MODIFY: *:cin>>nminfo.iname;
gotoxy(20,14);
Couls<"===ENTER THE LAST NAME TO MODIFY: “:cin>>nminfo.iname;
dr-setfullname(nminfo)
break:
case 2:
gotoxy(20,13);
Couts<"===ENTER THE AGE TO MODIFY: *;cin>>ag;
dr.setage(ag),
break:
case '3':
gotoxy(20,13);
Couts<"===ENTER THE HNO TO MODIFY: ":cin>>ad1.hno:
gotoxy(20,14);
cout<<"===ENTER THE CITY TO MODIFY: *;cin>>ad1.city;
gotoxy(20,15);
cout<<"==-ENTER THE STATE TO MODIFY: "scin>>ad1 state;
dr.setaddress(adt);
break:
case"
gotoxy(20,13):
cout<<"===ENTER THE MOBILE TO MODIFY: *;cin>>mb;
dr.setmobileno{mb);
break;
case '5'
gotoxy(20,13);
Cout<<"===ENTER THE EMAIL TO MODIFY: “;cin>>eid;
dr.setemail(eid)
break
case‘
gotoxy(20,13);
Cout<<"===ENTER THE AADHAAR NO TO MODIFY: *;cin>>ADH,
dr.setaadhar(ADH);
‘agblood:
break;
case 7’
gotoxy(20, 13);
‘couts<"==-ENTER THE BANK DETAILS TO BE MODIFY:";
gotoxy(5,14):
cin ignore():
coute<"BANK NAME:: ";
cin getline(bktmp bankname,50);
gotoxy(5,15);
cout<<"BANK BRANCH:
cin>>bktmp.branch;
gotoxy(5,16):
cout<<"ACGOUNT NO: *
cin>>bkimp.acctno;
goloxy(S,17):
couts<"IFSC:: ",
cin>>bkimp ifsc:
dr.setbankinfo(bktmp);
break;
default:
cout<<"\a"/admin_menu();
}
{p.write((char *) &dr, sizeof{(customer));
{p.close():
coutcemmernenetteesttmodifid the racordrrteeersereeee,
getch();
}
ypateseess9s88**M}QDIFY CUSTOMER INFORMATION
Ipresssssss2ss+=0¢dojetion of the customer connection...
ipmeserrreetdelete: donars information
void delete CUSTinfo(char regno[15])
{
lrseri):
intromain():
ifstream fp;coute: OOKING MENI
gotoxy(22,7):
cout<<"1 BOOKING OF CYLINDER”;
gotoxy(22,8)
cout<<"2,FINALIZATION AFTER CYLINDER DELIVERED",
gotoxy(22,9)
cout<<"3,INCREASE OR DECREASE THE SUBSIDY CYLINDER LIMIT";
gotaxy{22, 10)
cout<<"4. BACK TO MAIN MENU";
gotoxy(22, 11);
cout<<"Please Enter Your Choice (1-4) ";
gotoxy(22,12):
ch2=getche();
swwitch(ch2)
{
case '1': clrser();
intromain();
gotoxy(10.8);
cout<<"***"ENTER THE CONNECTION NO TO BE SEARCHED:”;
gotoxy(55.9);
cin>>conn;
bookmycylinder(conn);
break;
case '2': clrscr();
intromain«);
gotoxy(10,8);
coutc<"**"""ENTER THE CONNECTION NO TO BE FINALIZED:",
gotoxy(55.9);
cin>>conn:
finalizedcyl(conn);
break;
case '3': clrscr();
intromain«);
gotoxy(10,8);
coute<"**"""ENTER THE LIMIT TO INCR OR DECR(Y/N) AND VALUE OF LIMIT:";
gotoxy(10,9);
Coute<"Enter the choice (Yiy) to INCREASE and (Nin) to Decrase”;
cin>>ch;
gotoxy(10, 10);
cout<<"Please enter the limit value:";
cin>>value;
incr_decr(value,ch);
break;
default:
coute<"a";
}
}
Ipoereeeernerethooking menu,
Ineeweeeessss**++#add new registered donars information
void write_cust_conn()
ofstream objoff;
customer custobj;
cconn_timit conim:
int im=0;
‘objoff.open( "customer. dat”.jos:
ofstream objoffst('connlimit.c
lrser()
intromain();
int mn=getcustno():
char getprv_regnof15];
strcpy(getprv_regno.getreg()):
if(stremp(gelprv_regno,"NULL’
{
inary|ios::app):
\jos::binarylios::app);
0)
gotoxy(5.4);
couts<'Previous REGNO: "<10000)if(aga:
{
)
flag=enim limit;
}
objif.close();
return flag;
)
ypsseere-rn DECREASE THE LIMIT
void decreaselimitonly(char conn{15])
{
{stream obj
objiff.open("conniimit dat" jos::binarylios::inlios::out);
‘conn_limit crim
int flag2=-1,pos=0;
while(objiffread((char* &.cnim,sizeof(conn_limit)))
if(stremp(cnim.cust_reg,cont
=0)
lagi
pos
break;
d
}
if(ag2==1)
conim fimit=cnim limit-1;
Objiff seekp(pos-sizeof{conn_limit)ios::beg);
objiff. write((char *) &cnim, sizeof(conn_limit));
objif.close();
)
Inmeeeeees DECREASE THE LIMIT
[yeseeseetee-booking oylinder
Void bookmycyfinder(char con|15])
int flag=1;
int sub_amt=0;
ofstream objoff,bankoff
bbookingslip book_obj;
Objoff.open( "booking at”,jos::binarylios::app);
dateinfo datet;
bank _info bank_information:
if(stremp(getstatus(con),"Pending"
{
clrscr();
intromain();
gotoxy(10, 10);
couts<"YOUR CYLINDER IS ALREADY BOOKED !! THNK U~ Press any Key..."
getchi);
jelse
{
if(getiimit(con)<0)
{
display_custimit(con,14),
gotoxy(i0,16);
cout<"NOT GET THE SUBSIDY ON CYLINDERS!!!";
flag=1;
+
else
{
display_custlimit(con,14);
bank information=getbankdetails(con);
gotoxy(10.16)
‘cout<<"ENTER THE SUBSIDY ON CYLINDERS::";cin>>sub_amt;
fla
)
we
“without subsidey cylindergotoxy(55.9);
in>>conn;
display_custlimit(conn, 13);
break;
}
}
Ipseeeseeeseesssail reports display here
yn""*"**display all working connections
void displayallCONN()
{
ifstream objif("customer.dat’ ios::binary),
customer bistk;
iMCobjif)
{
cout<<'File could not be open I! Press any Key..";
getch();
return:
}
lrser()
intromain();
int c1=5;
gotoxy(1,c1);
Cout<<"CUST CONN.NO."<>ch;
ich
‘while(fp.read (char*)&dr sizeof(customer)))
{
ifstromp(dr.geteustreg(),con!
0)
clrscri);
intromain();
drdisplay_cust_conn();
} )
Jelse if(eh=="¥" || ch==')
{
while(fp.read{(char*)&dr,sizeof{customer)))
if{stremp(dr.getcustreg(),coni
0){
clrser();
intromain();
dr.display_cust_conn_bank();
}
}
}
fp.close();
Ipmosstseseenees DISPLAY CUSTOMER BY CONN SEARCH
jjssseeveerseee*9 change the limit of cylinder
Void limitchange(char custreg[15] nt im)
{
fstream fp;
cconn_limit enim;
cout<<'File could not be open !! Press any Key..."
getch();
return;
esearch
while(fp.read((char*)&cnim sizeof(conn_limit)))
)
if{stromp(cnim.cust_reg,custreg}
{
flag?
fpos=(int)fp.tellg();
break;
ccnim.timit=cnlm.limit+im:;
fp.seekp(fpos-sizeof(customer).ios::beg);
wr "search
fp.wtite((char *) &cnim, sizeof{conn_timit));
ssseee«4%0 change the limit of cylinder
asseeessssssse+4cisplay customer information with limits,
Void display_custlimit(char custreg[15].int P)
{
clrsor();
intromain();
{stream fp;
ifstream
fp.opent inarylios::in|ios::out);
objiff open("‘connlimit.dat” jos::binary);
customer dr;
conn_limit enim,
int flag flag2=-1 fpos=(
if(tfp)
{
cout<<'File could not be open !! Press any Key...
getch();
retum;
While(fp.read((char*)&dr,sizeof(customer)))
{
if(stromp(dr-getcustreg(),custreg)==0)
{
fla
fpos=(int)p.telig);
break;
}‘enim.limit=cnim.limit+val;
Objff seekp(pos-sizeof(conn_timit)os::beg);
objfiwrite((char *) &cnim, sizeof{conn_limit);
I
}
Jelse
Ins*erto decrease
while objiff.read((char*)&cnim,sizeof{conn_limit)))
objiffseekp(pos-sizeof(conn_limit) ios::beg);
objftwrite((char *) &cnim, sizeof{conn_limit));
}
objiff.close();
increase or decrease all the cylinder limits of all the customer
statuscheck (char con{15})
int tmp=
ifstream fp;
fp.open("customer. dat" jos::binary);
customer dr:
int flag=-1;//,pos=0;
while(fp.read ((char*)&dr,sizeof{customer)))
{
if(strcmp(dr-getoustreg(),can)==0)
flag=1
break:
}
}
it(flag==1)
{
tmp=0;
}
retum tmp;
}count++
ypeeresiump to the last ine
obj seekg(count-sizeof(st),/0s::beg);
‘objtf.read{(char *) Bst, sizeof(bookingslip);
strepy(tmpregno,st.getbkno());
obi. close();
if(count'=0)
return tmpregno;
else
return “NULL”
Ipsvenssse=g0t the status of the connection booking
char “getstatus(char on{15})
int fag=1;
ifstream objiff;
bookingslip st:
char *tmpvar="NOT",
objif open("booking dal jos: binary)
objiff seekg(0,ios:beg);
itQobji)
{
cout<<"File could not be open !! Press any Key..."
strepy(tmpvar"NOT};
return tmpvar;
}
“temporary hiding these lines
while(objiffread|(char *) &st, sizeof(bookingslip)))
{
if(stromp(st.getcustconn),c7
flag=1:
break;
cout<<"recard not exist";
‘strepy(tmpvar,"NOT");
retum tmpvar;
Jelse {
if(stromp(st.getthestatus(),"Pending’-=0)
strepy(tmpvar,"Pending’)
t
else
{
stropy(tmpvar,"Delivered”);
}
d
objiff.close();
return tmpvar;
y
r gol the status of the connection booking
int getlimit(char conn15})
{
ifstream objif:
obj. open(’connlimt dat”. ios::binary);
‘conn_limit nim;
int flag2—4 flag=0;
\while(objf.reaq{(char*)&.cnim,sizeof(conn_imit))
if(stremp(cnim.cust_reg,conr
0)intromain();
gotoxy(10,9);
While (fp.readl (char*)&dr sizeof(customer)))
{
if(stremp(dr-getcustregt),conn)==0)
{
dr-display_cust_conn();
flag=1;
break;
gotoxy(5, 13);
coutec.
gotoxy(5. 14);
Couts<"||JBOOKING DATE|-|DATE OF DELIVERY/!"<<"STATUS",
[povweeenssnssannannesesusssscanee
inte1=15;
wihile(objffread (char*}&book_obj,sizeof(bookingslip)))
{
-LIST OF CYLINDERS BOOKING'S.
if(strcmp(conn,book obj, getcustconn()}
{
donarlist(ct,book_obj.getbookdate(),book_obj getdeliverdate(),book_obj.getthestatus());
colt;
}
Fe
}
objif.close()
d
Ipseseesse=**dsplay connection with no of cylinder
‘void donariist(int ¢,dateinfo BDT dateinfo DDT char stat{15])
if(stremp(stat,"Pending")!=0)
tony)
coute<"."<
“CLASS = XII ~
senna enemas ee eBLOUD* ++ =6DOHAT I DHeea ++ 2eeSYSTEHesenene ns enen
SAIN HENU=
61. REPORTS
82. ADMINISTRATOR
3. EXIT
Please Select Your option (1-3)
ADHIN HEHU~
4.CUSTONER CONNECTION INFORMATION
2.BOOKING SYSTEN/FINALIZATION/INCREASE OR DECREASE CYLINDER LIMIT
3.BACK TO HAIN HENU
Please Enter Your Choice (1-3)
if choice is 2:
CUSTOHER'S HEHU--
ADD CUSTOMER CONNECTION INFORMATION
MODIFY CUSTOMER INFORMATION
3-DELETE CUSTOMER INFORMATION
4.BACK TO HAIN HENU
Please Enter Your Choice (1-4)
If choice 1 in sub menu:eenneneennnnnnscenennneell O0Dsee+**DONAT ION eeennenes YSTEMteneanenannnecenenne
Previous REGNO: 1236
GUSTONER GONHECTIO} 4297
FIRST NAME nemant LAST NAME: negi
58
-CUSTONER*S ADDRESS DETAILS
€-45 adarsh nagar
crm haldwani STATE: — uttrakhand
DATE OF CONNECTION- =
2 f 10 fF 2816
OTHER INFORMATION.
HNO//STREE
DATECdd/mn/yyyy)
HOBILE NO:
E-MAIL (IF NO ENTER ‘HO’
AADHAAR NOs 123456925896
seggsasu5g
Ho
BANK INFORHATION-~
BANKNAME: state bank of india haldvani
NO. OF CYLINDERS:: 12 IFSC CODE: 1235
AMOUNT DEPOS! 5400 ACCOUNT NO.:: 166002929222
Soccer eeARECORD SAUED Eaenanseneceenree ee
if choice 2:
seeesEHTER THE REG. HO. OF CONNECTION HO TO BE SEARCHED:
1236
NAHE: paras - pant AGE: 25
‘ikonia,haldwani ,uttrakhand
MOBILE NOz 2956859658 AADHARR NOz — 214525636958
E-NAIL: NO EMAIL 1D 5/1/2017
4.NODIFY NAHE
2. MODIFY AGE
2. MODIFY ADDRESS
4 MODIFY MOBILE NO.
S.MODIFY EMAIL
6.NODIFY AADHAAR NO:
7.MODIFY BANK INFO.
Please Enter Your Choice (1-7)
if choice 3 Delete the informtion:
weesEHTER THE REG. NO. OF CONNECTION NO TO BE SEARCHED:
1236
paras = pant AGE: 25
tikonia,haldwani uttrakhand
MOBILE NOz 2956959658 AADHAAR NO: — 244595696058
E-MAIL: NO EMAIL ID CONN.DATE:: 5/1/2017
=D0 YOU ANT TO DELETE THE RECORDS GIVEN ABOUE[YES(¥) OR NO (N)=AIM HENU=~
01. REPORTS
02. ADMINISTRATOR
03. EXIT
Please Select Your Option (1-3)
If choice is 1
1EPORT:
4.ALL CONNECTION THFORMATION
2.CUSTONER INFORMATION BY CONNECTION NO
3-CUSTONER INFORMATION AND NO. CYLINDER DELEUERED OR PENDIN
4.DESPLAY CYLINDER BOOKING DELEVERED OR PENDING DATE WISE
5.DISPLAY CUSTOMER INFORMATION WITH HO. OF SUBSIDY LIMITS L
6-BACK TO MAIN MENU
Please Enter Your Choice (1
)
Choice 1:
CUST COMN.NO. NAME OF CUSTOMER AGE-—ADDRESS wop.NonADHARR_NO
41234 vicky-verma 36 haldwani 5689574589 56845694512
1235 hem-singh 48 haldwani 8459695869 235625872356
1236 paras-pant 25 haldwani 2956859658 214525636958
1237 henant-negi 5B haldwani 5689586959 129N56325896
Choice 2:
seewENTER THE CONNECTION NO TO BE SEARCHED:
1236
DISPLAY DETAILS WITH OR WOTHOUT BANK DETAILS(¥//N)?
¥,
1236 NAHE: paras - pant AGE: 25
ADDRESS :: tikonia yhaldwani uttrakhand
MOBILE NO: 2356859058 AADHAAR NO: 214525036958
E-MAIL: NO EMAIL 1D CONN.DATES: 5/1/2017
“BANK INFORMATION
union bank of india BRANCH NAHE: =halduani
ACCOUNT NO. ::2255896666923 IFSC CODE::2aN5
AMOUNT OF CONNECTION: :7500
wseesEMTER THE CONNECTION NO TO BE SEARCHED:
123K,
NAHE: vicky - verna AGE: 36
ADDRESS: =5-545 sakhawat ganj,haldvani ,uttrakhand
MOBILE WO: 5689574589 AADHAAR NO= 456845094512
CONN.DATE:: 12/12/2616
E-MAIL: NO EMAIL ID
LIST OF CYLINDERS BOOKING" S:
[BOOKING DATE|-JDATE OF DELIVERY] -|STATUS
[-5/1/2017---]- [2/1/2017] -[Delerived
1-57972017-~-[-1- ~|-|Pending
Choice 4:
Enter the date of cylinder booking:: 5/01/2017
“LIST OF CYLINDERS BOOKING'S
||--GONNEGTION HO] [BOOKING DATE|-|DATE OF DELIVERY |-|StATUS
Ie =
I[--1294—-1]
[]--1280--] |
[[--12a5—-]]
“It
[-[Delerivea
I-|Pending
[-]Pending_Choice 5:
sexexENTER THE CONNECTION NO TO BE SEARCHED:
4294
CONN NO: 129% NANE: vicky - verma AGE: 36
ADDRESS: :5-$45 sakhawat ganj,haldvand uttrakhand
HOBILE NO: 5689574589 AADHAAR HO: — 456845694512
E-HAIL: NO EMAIL 1D GONN.DATE:: 12/12/2016
CUSTONER CYLINDER SUBSIDY LIMITS LEF
no of cylinders Left: 18
HAIN. HENU:
REPORTS:
+ ADMINISTRATOR
2 EXIT
ot.
92
93,
Please Select Your Option (1-3)
Choice: 2
<====ADHIM HERU~
4.CUSTOMER CONNECTION INFORMATION
2.BOOKING SYSTEH/FINALIZATION/ INCREASE OR DECREASE CYLINDER LIMIT
B.BACK TO MAIN HENU
Please Enter Your Choice (1-3)
If choice is 2
BOOKING HEMU-~=~~~
4.BOOKING OF CYLINDER
2-FINALIZATION AFTER CYLINDER DELIVERED
SLINCREASE OR DECREASE THE SUBSIDY CYLINDER LIMIT
4.BACK TO MAIN MENU
Please Enter Your Choice (1-4)REQUIREMENTS
@ HARDWARE REQUIRED
¢ Printer, to print the required documents of the project
¢ Compact Drive
¢ Processor : intel
e Ram : 512 MB or more than 512MB
e Harddisk : 80 GB or more than 80GB.
@ SOFTWARE REQUIRED
© Operating system : Windows XP
e Turbo C++, for execution of program and Ms word, for
presentation of output.ADVANTAGES
Customers do not need to wait in long queues.
This software reduces paper work.
It is easy to handle customer as well as the cylinder’s record,
This software saves the time.
© Information of the customers stores permanently.
DISADVANTAGES
© This system suitable for only small level gas agencies.
© Online facility is not available.SYSTEM DESIGN
Then we began with the design phase of the system. System design is a solution, a
“HOW TO” approach to the creation of a new system. It translates system
requirements into ways by which they can be made operational. It is a
translational from a user oriented document to a document oriented
programmers. For that, it provides the understanding and procedural details
necessary for the implementation. Here we use Flowchart to supplement the
working of the new system. The system thus made should be reliable, durable and
above all should have least possible maintenance costs. It should overcome all the
drawbacks of the Old existing system and most important of all meet the user
requirements.
} (wos)
ae ROOKING SYSTEM
connection FIALIZATION
TNTORMATION INCREASE OR
peckeast Cranpess |
4.ALL CUSTOMER ) [ 2. CUSTOMER INFO, | {9.CUSTOMERIVFO. | [@DISPLAYCVLINDER ) SDISPLAY CUSTOMER
INFORMATION By CONNECHON ‘WITH CYLINDER DOOKING WITH INFO WITH NO OF
DELIVERED OR PENDING OR ‘SUBSIDY CYLINDERS
iG DELIVERED JCONCLUSION
This software is efficient in maintaining customers details and
can easily perform operations of cylinders records. This
software also reduces the work load of the booking system as
they know how many cylinders are delivered every day and
how many are pending.
In future, this system can launch web site for easy online gas
booking system.