Anda di halaman 1dari 43

.

Project Report
On

GAS BOOKING
SYSTEM

.
CLASS--
.
ACKNOWLEDGEMENT

I would like to convey my heartful


thanks to .. (Computer
Science) who always gave valuable
suggestions & guidance for completion
of my project.
He helped me to understand &
remember important details of the
project. My project has been a success
only because of his guidance.
I am especially indented & I am also
beholden to my friends. And finally I
thank to the members of my family for
their support & encouragement.
CERTIFICATE

This is to certify that ..


of class XII of
.. has
completed her project under my
supervision. She has taken proper
care & shown sincerity in completion
of this project.
I certify that this project is up
to my expectation & as per the
guideline issued by CBSE.

(Computer Science faculty )
Content
1. Introduction

2. Source Code

3. Output

4. Requirement

5. Advantages and disadvantages

6. Conclusion

7. System design
This 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. Its 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 much
higher than the Systems working. Its keep record of all the
information given to it according to the date which makes
locating a record quite easy
//***************************************************************
// HEADER FILE USED IN PROJECT
//****************************************************************
#include<stdio.h>
#include<conio.h>
#include<stdio.h>
#include<process.h>
#include<fstream.h>
#include<iomanip.h>
#include<string.h>
#include<ctype.h>
//**********structure
struct otherinfo
{
char mobno[15];
char email[70];
char aadhaar[20];
};
//name structure
struct nameinfo
{
char fname[20];
char lname[20];
int age;
};
// address structure
struct address
{
char hno[20];
char city[35];
char state[15];
};
//date structure
struct dateinfo
{
int dd;
int mm;
int yy;
};

//struct donardate
struct custdate
{
char custreg[25];
dateinfo dt;
};
struct bank_info
{
int ifsc;
char bankname[50];
char acctno[20];
char branch[15];
};
//*******to increase or decerese the limit
struct conn_limit
{
char cust_reg[15];
int limit;
};
struct bank_trans
{
char bookno[15];
char custconn[15];
dateinfo datesub;
int amount;
bank_info bankdetails;
};
//**********structure
//********functions protoype
void write_cust_conn();
int getcustno();
char *getreg();
int getlimit(char conn[15]);
void modify_CUSTinfo(char regno[15]);
void delete_CUSTinfo(char regno[15]);
void displayCONNofCUST(char conn[15]);
void displayCONNonly(char conn[15]);
void bookmycylinder(char con[15]);
void cust_report_menu();
void decreaselimitonly(char conn[15]);
void display_cyl_datewise(dateinfo dtsearch);
void display_cyl_datewise(dateinfo dtsearch);
void displayCONN_withnoCYL(char conn[15]);
//*************functions
int checkpass();
void incr_decr(int val,char choice);
int statuscheck(char con[15]);
void booking_menu();
void intromain();
void intro();
void admin_menu();
void customer_menu();
void displayallCONN();
void limitchange(char custreg[15],int lm);
char *getbookreg();
void finalizedcyl(char conn[15]);
char *getstatus(char cn[15]);
void display_custlimit(char custreg[15],int);
void createbanktransc(char con2[15],bank_info bank_infor,int sub_amt2,dateinfo date1);
bank_info getbankdetails(char cn[15]);
void donarlist(int c,dateinfo BDT,dateinfo DDT,char stat[15]);
//*************functions
//***************************
//************class customer connection
class customer
{
//int 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()
{
custno=0;
conn_amount=0.00;
}
void setbankinfo(bank_info bk1)
{
strcpy(bkinfo.bankname,bk1.bankname);
strcpy(bkinfo.acctno,bk1.acctno);
strcpy(bkinfo.branch,bk1.branch);
bkinfo.ifsc=bk1.ifsc;
}
int getcustno2()
{
return custno;
}
//************NEW CUSTOMER CONNECTION
void create_CUST_CONNECTION(int dn1)
{
gotoxy(5,7);
cout<<"======================================================================";
gotoxy(1,8);
cout<<"CUST NO:";
custno=dn1;
gotoxy(10,8);
cout<<custno;
gotoxy(20,8);
cout<<"CUSTOMER CONNECTION:";
gotoxy(48,8);
cin>>cust_regist;
gotoxy(20,9);
cout<<"FIRST NAME:";
gotoxy(32,9);
cin>>nm.fname;
gotoxy(48,9);
cout<<"LAST NAME:";
gotoxy(60,9);
cin>>nm.lname;
gotoxy(10,10);
cout<<"AGE:";
gotoxy(20,10);
cin>>nm.age;
gotoxy(10,11);
cout<<"-----------------CUSTOMER'S ADDRESS DETAIL'S---------------------";
gotoxy(1,12);
cin.ignore();
cout<<"H.NO//STREET:";
gotoxy(15,12);
cin.getline(add.hno,80);
//cout<<"5-545,sakhawat ganj mall gorahkpur";
//cin>>add.hno;
gotoxy(18,13);
cout<<"CITY:";
gotoxy(30,13);
cin>>add.city;
gotoxy(55,13);
cout<<"STATE:";
gotoxy(65,13);
cin>>add.state;
gotoxy(10,14);
cout<<"-----------------DATE OF CONNECTION----------------------";
gotoxy(10,15);
cout<<"DATE(dd/mm/yyyy):";
gotoxy(30,15);
cin>>date1.dd;
gotoxy(35,15);
cout<<"/";
gotoxy(40,15);
cin>>date1.mm;
gotoxy(45,15);
cout<<"/";
gotoxy(50,15);
cin>>date1.yy;
gotoxy(10,16);
cout<<"-----------------OTHER INFORMATION----------------------";
gotoxy(1,17);
cout<<"MOBILE NO:";
gotoxy(15,17);
cin>>other.mobno;
gotoxy(1,18);
cout<<"E-MAIL(IF NO ENTER \"NO\"):";
gotoxy(30,18);
cin>>other.email;
if(strcmp(other.email,"NO")==0||strcmp(other.email,"no")==0)
strcpy(other.email,"NO EMAIL ID");
cin.ignore();
gotoxy(1,19);
cout<<"AADHAAR NO: ";
//gotoxy(15,20);
cin.getline(other.aadhaar,20);
gotoxy(10,20);
cout<<"-----------------BANK INFORMATION----------------------";
gotoxy(1,21);
cin.ignore();
cout<<"BANK NAME::";
gotoxy(15,21);
cin.getline(bkinfo.bankname,50);
gotoxy(45,21);
cin.ignore();
cout<<"BRANCH NAME::";
gotoxy(60,21);
cin.getline(bkinfo.branch,20);
gotoxy(1,22);
cout<<"ACCOUNT NO.::";
gotoxy(15,22);
cin>>bkinfo.acctno;
gotoxy(45,22);
cout<<"IFSC CODE:";
gotoxy(58,22);
cin>>bkinfo.ifsc;
gotoxy(5,23);
cout<<"AMOUNT OF CONNECTION:: ";
cin>>conn_amount;
status='Y';
}
//************NEW CUSTOMER CONNECTION
//***********display customer info
void display_cust_conn()
{
gotoxy(5,7);
cout<<"======================================================================";
gotoxy(1,8);
cout<<"CONN NO:";
gotoxy(12,8);
cout<<cust_regist;
//cout<<"875424323";
gotoxy(25,8);
cout<<"NAME:";
gotoxy(30,8);
cout<<" "<<nm.fname;
cout<<" - "<<nm.lname;
gotoxy(60,8);
cout<<"AGE:";
gotoxy(65,8);
cout<<nm.age;
gotoxy(1,9);
cout<<"ADDRESS::";
gotoxy(10,9);
cout<<add.hno<<",";
cout<<add.city;
cout<<","<<add.state;
gotoxy(1,10);
cout<<"MOBILE NO:";
gotoxy(12,10);
cout<<other.mobno;
gotoxy(1,11);
cout<<"E-MAIL:";
gotoxy(10,11);
cout<<other.email;
gotoxy(40,10);
cout<<"AADHAAR NO:";
gotoxy(55,10);
cout<<other.aadhaar;
gotoxy(50,11);
cout<<"CONN.DATE:: "<<date1.dd<<"/"<<date1.mm<<"/"<<date1.yy;
gotoxy(5,12);
cout<<"======================================================================";
}
//************display customer info
//***********display customer info with bank details
void display_cust_conn_bank()
{
gotoxy(5,7);
cout<<"======================================================================";
gotoxy(1,8);
cout<<"CONN NO:";
gotoxy(12,8);
cout<<cust_regist;
//cout<<"875424323";
gotoxy(25,8);
cout<<"NAME:";
gotoxy(30,8);
cout<<" "<<nm.fname;
cout<<" - "<<nm.lname;
gotoxy(60,8);
cout<<"AGE:";
gotoxy(65,8);
cout<<nm.age;
gotoxy(1,9);
cout<<"ADDRESS::";
gotoxy(10,9);
cout<<add.hno<<",";
cout<<add.city;
cout<<","<<add.state;
gotoxy(1,10);
cout<<"MOBILE NO:";
gotoxy(12,10);
cout<<other.mobno;
gotoxy(1,11);
cout<<"E-MAIL:";
gotoxy(10,11);
cout<<other.email;
gotoxy(40,10);
cout<<"AADHAAR NO:";
gotoxy(55,10);
cout<<other.aadhaar;
gotoxy(50,11);
cout<<"CONN.DATE:: "<<date1.dd<<"/"<<date1.mm<<"/"<<date1.yy;
gotoxy(5,12);
cout<<"======================================================================";
gotoxy(10,13);
cout<<"-----------------BANK INFORMATION----------------------";
gotoxy(1,14);
cout<<"BANK NAME::";
cout<<bkinfo.bankname;
gotoxy(45,14);
cout<<"BRANCH NAME::"<<bkinfo.branch;
gotoxy(1,15);
cout<<"ACCOUNT NO.::"<<bkinfo.acctno;
gotoxy(45,15);
cout<<"IFSC CODE::"<<bkinfo.ifsc;
gotoxy(5,16);
cout<<"AMOUNT OF CONNECTION::"<<conn_amount;
gotoxy(10,17);
cout<<"-------------------------------------------------------";
}
//************display customer info with bank detalis
//*********display customer row wise
void showallcustrowwise(int c)
{
gotoxy(1,c);
cout<<cust_regist<<setw(15)<<nm.fname<<"-" << nm.lname << setw(10) <<nm.age<<setw(10) <<add.city<<setw(15)
<<other.mobno<<setw(18)<<other.aadhaar;
gotoxy(1,c+1);
cout<<"------------------------------------------------------------------------";
}
//*********display customer row wise
//*********set all the functions
bank_info getbank()
{
return bkinfo;
}
void setfullname(nameinfo n)
{
strcpy(nm.fname,n.fname);
strcpy(nm.lname,n.lname);
}
void setage(int ag)
{
nm.age=ag;
}
void setaddress(address ad1)
{
strcpy(add.hno,ad1.hno);
strcpy(add.city,ad1.city);
strcpy(add.state,ad1.state);
}
void setmobileno(char mb[15])
{
strcpy(other.mobno,mb);
}
void setaadhar(char addhar[20])
{
strcpy(other.aadhaar,addhar);
}
char *getadhar()
{
return other.aadhaar;
}
void setemail(char eid[75])
{
strcpy(other.email,eid);
}
char *getcustreg()
{
return cust_regist;
}
dateinfo getdate()
{
return date1;
}
};
//************class customer connection
//************booking slip class
class bookingslip
{
char bkno[15];
char custconn[15];
int amt;
char status[15];
dateinfo bookdate;
dateinfo deliverdate;
public:
bookingslip()
{
amt=0;
}
char *getbkno()
{
return bkno;
}
char *getcustconn()
{
return custconn;
}
char *getthestatus()
{
return status;
}
void setthestatus()
{
strcpy(status,"Delerived");
}
dateinfo getbookdate()
{
return bookdate;
}
dateinfo getdeliverdate()
{
return deliverdate;
}
void setdeliver(dateinfo d1)
{
deliverdate=d1;
}
//*************booking slip
void create_bookslip(char c_reg[15],int pos)
{
gotoxy(5,pos);
cout<<"======================================================================";
pos=pos+1;
gotoxy(1,pos);
cout<<"BOK.NO:";
gotoxy(10,pos);
cin>>bkno;
gotoxy(20,pos);
cout<<"CUSTOMER CONNECTION:";
gotoxy(48,pos);
strcpy(custconn,c_reg);
cout<<custconn;
pos=pos+1;
gotoxy(20,pos);
cout<<"AMOUNT";
gotoxy(32,pos);
cin>>amt;
pos=pos+1;
gotoxy(5,pos);
cout<<"-----------------DATE OF BOOKING----------------------";
pos=pos+1;
gotoxy(10,pos);
cout<<"DATE(dd/mm/yyyy):";
gotoxy(30,pos);
cin>>bookdate.dd;
gotoxy(35,pos);
cout<<"/";
gotoxy(40,pos);
cin>>bookdate.mm;
gotoxy(45,pos);
cout<<"/";
gotoxy(50,pos);
cin>>bookdate.yy;
strcpy(status,"Pending");
}
//*************booking slip
void display_bookslip_horizontal(int c1)
{
gotoxy(1,c1);
cout<<bkno<<setw(15)<<custconn<<setw(10)<<amt<<setw(10)<<bookdate.dd<<"/"<<bookdate.mm<<"/"<<bookdate.yy<<
setw(15)<<deliverdate.dd<<"/"<<deliverdate.mm<<"/"<<deliverdate.yy<<setw(18)<<status;
gotoxy(1,c1+1);
cout<<"------------------------------------------------------------------------";
}
};
//************booking slip class
//***************************************************************
// THE MAIN FUNCTION OF PROGRAM
//****************************************************************
void main()
{
char ch;
intro();
if(checkpass()==0)
{
do
{
//****************TEMPORARY***********************
clrscr();
intromain();
gotoxy(20,6);
cout<<"=================MAIN MENU====================";
gotoxy(28,7);
cout<<"01. REPORTS";
gotoxy(28,8);
cout<<"02. ADMINISTRATOR";
gotoxy(28,9);
cout<<"03. EXIT";
gotoxy(20,10);
cout<<"==============================================";
gotoxy(25,12);
cout<<"Please Select Your Option (1-3) ";
gotoxy(30,14);
ch=getche();
switch(ch)
{
case '1': clrscr();
cust_report_menu();
getch();
break;
case '2': admin_menu();
break;
case '3':exit(0);
default :cout<<"\a";
}
}while(ch!='3');
}
else
{
exit(0);
}
}
//***************************************************************
// THE MAIN FUNCTION OF PROGRAM
//****************************************************************
//******************************login name and password****************
int checkpass()
{
char nm[20];
char pass[10];
clrscr();
intromain();
gotoxy(20,20);
cout<<"PLEASE ENTER THE USER NAME:";
gotoxy(20,21);
cin>>nm;
clrscr();
gotoxy(20,20);
cout<<"PLEASE ENTER THE PASSWORD:";
gotoxy(20,21);
cin>>pass;
if(strcmp(nm,"admin")==0 && strcmp(pass,"vicky")==0)
{
return 0;
}else
{
return 1;
}
}
//********************************************************************
void intromain()
{ clrscr();
gotoxy(1,2);
cout<<"*************************BLOOD******DONATION********SYSTEM********************";
gotoxy(1,3);
cout<<"******************************************************************************";
}
//***************main intro
//***************************************************************
// INTRODUCTION FUNCTION
//****************************************************************
void intro()
{ clrscr();
gotoxy(4,2);
cout<<"****************************GAS CYLINDER BOOKING************************";
gotoxy(12,4);
cout<<"===========================================================";
gotoxy(5,5);
cout<<"****************************S=Y=S=T=E=M********************************";
gotoxy(50,10);
cout<<"PROJECT:";
gotoxy(50,12);
cout<<"MADE BY : --------------------";
gotoxy(10,14);
cout<<"---------------CLASS : XII --------------------";
getch();
}
//***************************************************************
// ADMINSTRATOR MENU FUNCTION
//****************************************************************
void admin_menu()
{
clrscr();
char ch2;
clrscr();
intromain();
gotoxy(12,6);
cout<<"======================ADMIN MENU=========================";
gotoxy(12,7);
cout<<"1.CUSTOMER CONNECTION INFORMATION";
gotoxy(12,8);
cout<<"2.BOOKING SYSTEM/FINALIZATION/INCREASE OR DECREASE CYLINDER LIMIT";
gotoxy(12,9);
cout<<"3.BACK TO MAIN MENU";
gotoxy(12,10);
cout<<"Please Enter Your Choice (1-3) ";
gotoxy(22,11);

//**********************************************************
ch2=getche();
switch(ch2)
{
case '1':
customer_menu();
break;
case '2':
booking_menu();
break;
default:
cout<<"\a";//admin_menu();
}
}
//***************************************************************
// DONARS INFORMATION ADD / MODIFY / DELETE
//****************************************************************
void customer_menu()
{
clrscr();
char ch2;
char regno[15];
//************************************************************
clrscr();
intromain();
gotoxy(20,6);
cout<<"=================CUSTOMER'S MENU====================";
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);

//**********************************************************
ch2=getche();
switch(ch2)
{
case '1': clrscr();
write_cust_conn();
break;
case '2':
clrscr();
intromain();
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':
clrscr();
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:
cout<<"\a";//admin_menu();
}
}
//***************************************************************
//********************booking menu
void booking_menu()
{
clrscr();
int value=0;
char ch2,ch;
char conn[15];
//************************************************************
clrscr();
intromain();
gotoxy(20,6);
cout<<"=================BOOKING MENU====================";
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";
gotoxy(22,10);
cout<<"4.BACK TO MAIN MENU";
gotoxy(22,11);
cout<<"Please Enter Your Choice (1-4) ";
gotoxy(22,12);

//**********************************************************
ch2=getche();
switch(ch2)
{
case '1': clrscr();
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);
cout<<"*****ENTER THE CONNECTION NO TO BE FINALIZED:";
gotoxy(55,9);
cin>>conn;
finalizedcyl(conn);
break;
case '3': clrscr();
intromain();
gotoxy(10,8);
cout<<"*****ENTER THE LIMIT TO INCR OR DECR(Y/N) AND VALUE OF LIMIT:";
gotoxy(10,9);
cout<<"Enter the choice (Y/y) to INCREASE and (N/n) to Decrase";
cin>>ch;
gotoxy(10,10);
cout<<"Please enter the limit value:";
cin>>value;
incr_decr(value,ch);
break;
default:
cout<<"\a";
}
}
//********************booking menu
//*****************add new registered donars information
void write_cust_conn()
{
ofstream objoff;
customer custobj;
conn_limit conlm;
int lm=0;
objoff.open("customer.dat",ios::binary|ios::app);
ofstream objofflist("connlimit.dat",ios::binary|ios::app);
clrscr();
intromain();
int rnn=getcustno();
char getprv_regno[15];
strcpy(getprv_regno,getreg());
if(strcmp(getprv_regno,"NULL")!=0)
{
gotoxy(5,4);
cout<<"Previous REGNO: "<<getprv_regno;
}
if(rnn>10000)
{
rnn=1;
}
custobj.create_CUST_CONNECTION(rnn);
gotoxy(5,23);
cout<<"NO. OF CYLINDERS:: ";cin>>lm;
conlm.limit=lm;
objoff.write((char*)&custobj,sizeof(customer));
//************write to cust. limit list also
strcpy(conlm.cust_reg,custobj.getcustreg());
objofflist.write((char*)&conlm,sizeof(conn_limit));
objoff.close();
objofflist.close();
gotoxy(10,24);
cout<<"***************RECORD SAVED******************* ";
cin.ignore();
getch();
}
//*****************add new registered donars information
//*************get the customer no
int getcustno()
{
ifstream objiff;
customer st;
int count=0;
objiff.open("customer.dat",ios::binary);
objiff.seekg(0,ios::beg);
if(!objiff)
{
cout<<"File could not be open !! Press any Key...";
getch();
}
//**************temporary hiding these lines
while(objiff.read((char *) &st, sizeof(customer)))
{
count++;
}
//***********jump to the last line
objiff.seekg(count-sizeof(st),ios::beg);
objiff.read((char *) &st, sizeof(customer));
count=st.getcustno2();
count++;
objiff.close();
return count;
}
//*************get the customer reggst
//************get thje donars last number****************
char *getreg()
{
ifstream objiff;
customer st;
int count=0;
char tmpregno[15];
objiff.open("customer.dat",ios::binary);
objiff.seekg(0,ios::beg);
if(!objiff)
{
cout<<"File could not be open !! Press any Key...";
getch();
}
//**************temporary hiding these lines
while(objiff.read((char *) &st, sizeof(customer)))
{
count++;
}
//***********jump to the last line
objiff.seekg(count-sizeof(st),ios::beg);
objiff.read((char *) &st, sizeof(customer));
strcpy(tmpregno,st.getcustreg());
objiff.close();
if(count!=0)
return tmpregno;
else
return "NULL";
}
//************get thje donars last number****************
//************************************
//***************MODIFY CUSTOMER INFORMATION
void modify_CUSTinfo(char regno[15])
{
char ch2;
clrscr();
intromain();
fstream fp;
fp.open("customer.dat",ios::binary|ios::in|ios::out);
bank_info bktmp;
customer dr;
nameinfo nminfo;
address ad1;
char mb[15],eid[75],ADH[20];
int fpos=-1,ag=0;
int flag=-1;//flagblood=-1;
if(!fp)
{
cout<<"File could not be open !! Press any Key...";
getch();
return;
}
while(fp.read((char*)&dr,sizeof(customer)))
{
if(strcmp(dr.getcustreg(),regno)==0)
{
flag=1;
fpos=(int)fp.tellg();
break;
}
}
if(flag==1)
{
fp.seekp(fpos-sizeof(customer),ios::beg);
dr.display_cust_conn();
//--------------------------------------------
gotoxy(20,13);
cout<<"==========CONNECTION'S MODIFICATION MENU====================";
gotoxy(22,14);
cout<<"1.MODIFY NAME";
gotoxy(22,15);
cout<<"2.MODIFY AGE";
gotoxy(22,16);
cout<<"3.MODIFY ADDRESS";
gotoxy(22,17);
cout<<"4.MODIFY MOBILE NO.";
gotoxy(22,18);
cout<<"5.MODIFY EMAIL";
gotoxy(22,19);
cout<<"6.MODIFY AADHAAR NO:";
gotoxy(22,20);
cout<<"7.MODIFY BANK INFO.";
gotoxy(22,21);
cout<<"Please Enter Your Choice (1-7) ";
gotoxy(22,22);
//**********************************************************
ch2=getche();
clrscr();
intromain();
dr.display_cust_conn();
switch(ch2)
{
case '1':
gotoxy(20,13);
cout<<"===ENTER THE FIRST NAME TO MODIFY: ";cin>>nminfo.fname;
gotoxy(20,14);
cout<<"===ENTER THE LAST NAME TO MODIFY: ";cin>>nminfo.lname;
dr.setfullname(nminfo);
break;
case '2':
gotoxy(20,13);
cout<<"===ENTER THE AGE TO MODIFY: ";cin>>ag;
dr.setage(ag);
break;
case '3':
gotoxy(20,13);
cout<<"===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: ";cin>>ad1.state;
dr.setaddress(ad1);
break;
case '4':
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 '6':
gotoxy(20,13);
cout<<"===ENTER THE AADHAAR NO TO MODIFY: ";cin>>ADH;
dr.setaadhar(ADH);
//flagblood=1;
break;
case '7':
gotoxy(20,13);
cout<<"===ENTER THE BANK DETAILS TO BE MODIFY:";
gotoxy(5,14);
cin.ignore();
cout<<"BANK NAME:: ";
cin.getline(bktmp.bankname,50);
gotoxy(5,15);
cout<<"BANK BRANCH:: ";
cin>>bktmp.branch;
gotoxy(5,16);
cout<<"ACCOUNT NO:: ";
cin>>bktmp.acctno;
gotoxy(5,17);
cout<<"IFSC:: ";
cin>>bktmp.ifsc;
dr.setbankinfo(bktmp);
break;
default:
cout<<"\a";//admin_menu();
}
fp.write((char *) &dr, sizeof(customer));
}
fp.close();
cout<<"*****************modified the record******************";
getch();
}
//***************MODIFY CUSTOMER INFORMATION
//****************deletion of the customer connection..............
//***************delete donars information
void delete_CUSTinfo(char regno[15])
{
clrscr();
intromain();
ifstream fp;
customer dr;
int flag=0;
fp.open("customer.dat",ios::binary);
if(!fp)
{
cout<<"File could not be open !! Press any Key...";

getch();
return;
}
while(fp.read((char*)&dr,sizeof(customer)))
{
if(strcmp(dr.getcustreg(),regno)==0)
{
flag=1;
break;
}
}
char ch;
if(flag==0)
{ cout<<"\n\nrecord not exist";
fp.close();
}else
{
dr.display_cust_conn();
fp.close();
//*******deletion of the records starts from here
gotoxy(1,15);
cout<<"*****************************************************************************";
gotoxy(5,16);
cout<<"======DO YOU WANT TO DELETE THE RECORDS GIVEN ABOVE[YES(Y) OR NO (N)========";
gotoxy(2,17);
cin>>ch;
if (toupper(ch)=='Y')
{
ofstream outFile;
outFile.open("Temp1.dat",ios::binary);
ifstream objiff("customer.dat",ios::binary);
objiff.seekg(0,ios::beg);
while(objiff.read((char *) &dr, sizeof(customer)))
{
if(strcmp(dr.getcustreg(),regno)!=0)
{
outFile.write((char *) &dr, sizeof(customer));
}
}
outFile.close();
objiff.close();
remove("customer.dat");
rename("Temp1.dat","customer.dat");
//againopenandclose();
gotoxy(30,20);
cout<<"----------------------------Record Deleted----------------------------------";
getch();
}
}
}
//****************deletion of the customer connection..............
//******************all reports display here
void cust_report_menu()
{
clrscr();
char ch2;
// char regno[15];
char conn[15];//,cty[35];
dateinfo datesearch;
//************************************************************
clrscr();
intromain();
gotoxy(20,6);
cout<<"=================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);
cout<<"6.BACK TO MAIN MENU";
gotoxy(22,13);
cout<<"Please Enter Your Choice (1-6) ";
gotoxy(22,14);

//**********************************************************
ch2=getche();
switch(ch2)
{
case '1':
clrscr();
intromain();
displayallCONN();
break;
case '3':
clrscr();
intromain();
gotoxy(10,8);
cout<<"*****ENTER THE CONNECTION NO TO BE SEARCHED:";
gotoxy(55,9);
cin>>conn;
displayCONN_withnoCYL(conn);
break;
case '2':
clrscr();
intromain();
gotoxy(10,8);
cout<<"*****ENTER THE CONNECTION NO TO BE SEARCHED:";
gotoxy(55,9);
cin>>conn;
displayCONNofCUST(conn);
break;
case '4':
clrscr();
intromain();
gotoxy(10,8);
cout<<"*****ENTER THE datewise TO BE SEARCHE of cylinder bookings:";
gotoxy(10,9);
cout<<"-----------------DATE OF SEARCH----------------------";
gotoxy(10,10);
cout<<"DATE(dd/mm/yyyy):";
gotoxy(30,10);
cin>>datesearch.dd;
gotoxy(35,10);
cout<<"/";
gotoxy(40,10);
cin>>datesearch.mm;
gotoxy(45,10);
cout<<"/";
gotoxy(50,10);
cin>>datesearch.yy;
display_cyl_datewise(datesearch);
break;
case '5':
clrscr();
intromain();
gotoxy(10,8);
cout<<"*****ENTER THE CONNECTION NO TO BE SEARCHED:";
gotoxy(55,9);
cin>>conn;
display_custlimit(conn,13);
break;
}
}
//******************all reports display here
//***********display all working connections
void displayallCONN()
{
ifstream objiff("customer.dat",ios::binary);
customer blstk;
if(!objiff)
{
cout<<"File could not be open !! Press any Key...";
getch();
return;
}
clrscr();
intromain();
int c1=5;
gotoxy(1,c1);
cout<<"CUST CONN.NO."<<setw(18)<<"NAME OF CUSTOMER"<<setw(5)<<"AGE"<<setw(10)<<"--
ADDRESS--"<<setw(12)<<"MOB.NO"<<setw(15)<<"AADHAAR NO";
c1++;
while(objiff.read((char*)&blstk,sizeof(customer)))
{
gotoxy(5,c1);
blstk.showallcustrowwise(c1);
c1++;
}
objiff.close();
getch();
}
//***********display all working connections
//****************DISPLAY CUSTOMER BY CONN SEARCH
void displayCONNofCUST(char conn[15])
{
ifstream fp;
fp.open("customer.dat",ios::binary);
customer dr;
char ch='\0';
if(!fp)
{
cout<<"File could not be open !! Press any Key...";
getch();
return;
}
clrscr();
intromain();
gotoxy(10,9);
cout<<"DISPLAY DETAILS WITH OR WOTHOUT BANK DETAILS(Y//N)?";
gotoxy(10,10);
cin>>ch;
if(ch=='N' || ch=='n')
{
while(fp.read((char*)&dr,sizeof(customer)))
{
if(strcmp(dr.getcustreg(),conn)==0)
{
clrscr();
intromain();
dr.display_cust_conn();
}
}
}else if(ch=='Y' || ch=='y')
{
while(fp.read((char*)&dr,sizeof(customer)))
{
if(strcmp(dr.getcustreg(),conn)==0)
{
clrscr();
intromain();
dr.display_cust_conn_bank();
}
}
}
fp.close();
}
//****************DISPLAY CUSTOMER BY CONN SEARCH
//*****************to change the limit of cylinder
void limitchange(char custreg[15],int lm)
{
fstream fp;
conn_limit cnlm;
int flag=-1;
int fpos=0;
fp.open("connlimit.dat",ios::binary|ios::in|ios::out);
if(!fp)
{
cout<<"File could not be open !! Press any Key...";
getch();
return;
}
//**********search
while(fp.read((char*)&cnlm,sizeof(conn_limit)))
{
if(strcmp(cnlm.cust_reg,custreg)==0)
{
flag=1;
fpos=(int)fp.tellg();
break;
}
}
if(flag==1)
{
cnlm.limit=cnlm.limit+lm;
fp.seekp(fpos-sizeof(customer),ios::beg);
//**********search
fp.write((char *) &cnlm, sizeof(conn_limit));
}
fp.close();
}
//*****************to change the limit of cylinder
//*****************display customer information with limits
void display_custlimit(char custreg[15],int P)
{
clrscr();
intromain();
fstream fp;
ifstream objiff;
fp.open("customer.dat",ios::binary|ios::in|ios::out);
objiff.open("connlimit.dat",ios::binary);
customer dr;
conn_limit cnlm;
int flag=-1,flag2=-1,fpos=0;
if(!fp)
{
cout<<"File could not be open !! Press any Key...";
getch();
return;
}
while(fp.read((char*)&dr,sizeof(customer)))
{
if(strcmp(dr.getcustreg(),custreg)==0)
{
flag=1;
fpos=(int)fp.tellg();
break;
}
}
if(flag==1)
{
fp.seekp(fpos-sizeof(customer),ios::beg);
dr.display_cust_conn();
//--------------------------------------------
while(objiff.read((char*)&cnlm,sizeof(conn_limit)))
{
if(strcmp(cnlm.cust_reg,custreg)==0)
{
flag2=1;
break;
}
}
if(flag2==1)
{
//-------------------------------------------
gotoxy(20,P);
cout<<"====CUSTOMER CYLINDER SUBSIDY LIMITS LEFT====";
P=P+1;
gotoxy(5,P);
cout<<"no of cylinders left: "<<cnlm.limit;
}
}
fp.close();
objiff.close();
getch();
}
//*****************display customer information with limits
void displayCONNonly(char conn[15])
{
ifstream fp;
fp.open("customer.dat",ios::binary);
customer dr;
if(!fp)
{
cout<<"File could not be open !! Press any Key...";
getch();
return;
}
clrscr();
intromain();
gotoxy(10,9);
while(fp.read((char*)&dr,sizeof(customer)))
{
if(strcmp(dr.getcustreg(),conn)==0)
{
dr.display_cust_conn();
break;
}
}
fp.close();
}
//************get the bookin last number****************
char *getbookreg()
{
ifstream objiff;
bookingslip st;
int count=0;
char tmpregno[15];
objiff.open("booking.dat",ios::binary);
objiff.seekg(0,ios::beg);
if(!objiff)
{
cout<<"File could not be open !! Press any Key...";
getch();
}
//**************temporary hiding these lines
while(objiff.read((char *) &st, sizeof(bookingslip)))
{
count++;
}
//***********jump to the last line
objiff.seekg(count-sizeof(st),ios::beg);
objiff.read((char *) &st, sizeof(bookingslip));
strcpy(tmpregno,st.getbkno());
objiff.close();
if(count!=0)
return tmpregno;
else
return "NULL";
}
//************get thje booking last number****************

//****************get the status of the connection booking


char *getstatus(char cn[15])
{
int flag=-1;
ifstream objiff;
bookingslip st;
char *tmpvar="NOT";
objiff.open("booking.dat",ios::binary);
objiff.seekg(0,ios::beg);
if(!objiff)
{
cout<<"File could not be open !! Press any Key...";
strcpy(tmpvar,"NOT");
return tmpvar;
}
//**************temporary hiding these lines
while(objiff.read((char *) &st, sizeof(bookingslip)))
{
if(strcmp(st.getcustconn(),cn)==0)
{
flag=1;
break;
}
}
if(flag==-1)
{ cout<<"record not exist";
strcpy(tmpvar,"NOT");
return tmpvar;
}else {
if(strcmp(st.getthestatus(),"Pending")==0)
{
strcpy(tmpvar,"Pending");
}
else
{
strcpy(tmpvar,"Delivered");
}
}
objiff.close();
return tmpvar;
}
//****************get the status of the connection booking
int getlimit(char conn[15])
{
ifstream objiff;
objiff.open("connlimit.dat",ios::binary);
conn_limit cnlm;
int flag2=-1,flag=0;
while(objiff.read((char*)&cnlm,sizeof(conn_limit)))
{
if(strcmp(cnlm.cust_reg,conn)==0)
{
flag2=1;
break;
}
}
if(flag2==1)
{
flag=cnlm.limit;
}
objiff.close();
return flag;
}
//*************DECREASE THE LIMIT
void decreaselimitonly(char conn[15])
{
fstream objiff;
objiff.open("connlimit.dat",ios::binary|ios::in|ios::out);
conn_limit cnlm;
int flag2=-1,pos=0;
while(objiff.read((char*)&cnlm,sizeof(conn_limit)))
{
if(strcmp(cnlm.cust_reg,conn)==0)
{
flag2=1;
pos=(int)objiff.tellg();
break;
}
}
if(flag2==1)
{
cnlm.limit=cnlm.limit-1;
objiff.seekp(pos-sizeof(conn_limit),ios::beg);
objiff.write((char *) &cnlm, sizeof(conn_limit));
}
objiff.close();
}
//*************DECREASE THE LIMIT
//***************booking cylinder
void bookmycylinder(char con[15])
{

int flag=-1;
int sub_amt=0;
ofstream objoff,bankoff;
bookingslip book_obj;
objoff.open("booking.dat",ios::binary|ios::app);
dateinfo date1;
bank_info bank_information;
if(strcmp(getstatus(con),"Pending")==0)
{
clrscr();
intromain();
gotoxy(10,10);
cout<<"YOUR CYLINDER IS ALREADY BOOKED !! THNK U-- Press any Key...";
getch();
}else
{
if(getlimit(con)<0)
{
display_custlimit(con,14);
gotoxy(10,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;
flag=0;
}
if(flag==1)
{
//********without subsidey cylinder
gotoxy(9,17);
cout<<"Previo Booking no:"<<getbookreg();
book_obj.create_bookslip(con,18);
objoff.write((char*)&book_obj,sizeof(bookingslip));
}else
{
// with subsidey cylinder
gotoxy(9,17);
cout<<"Previo Booking no:"<<getbookreg();
book_obj.create_bookslip(con,18);
date1=book_obj.getbookdate();
objoff.write((char*)&book_obj,sizeof(bookingslip));
createbanktransc(con,bank_information,sub_amt,date1);
decreaselimitonly(con);
//************subsidy entry in a bank account
}
}
objoff.close();
getch();
}
//************bank transcations details
void createbanktransc(char con2[15],bank_info bank_infor,int sub_amt2,dateinfo date1)
{
ofstream bankoff;
bankoff.open("subsidytobank.dat",ios::binary|ios::app);
bank_trans banksubsidy;
strcpy(banksubsidy.custconn,con2);
banksubsidy.bankdetails=bank_infor;
banksubsidy.amount=sub_amt2;
banksubsidy.datesub=date1;
bankoff.write((char*)&banksubsidy,sizeof(bank_trans));
bankoff.close();
}
//*************************************
//****************get the bank details of customer
bank_info getbankdetails(char cn[15])
{
bank_info tmpbk;
//*****************************
ifstream fp;
fp.open("customer.dat",ios::binary);
customer dr;
while(fp.read((char*)&dr,sizeof(customer)))
{
if(strcmp(dr.getcustreg(),cn)==0)
{
tmpbk=dr.getbank();
break;
}
}
fp.close();
//*****************************
return tmpbk;
}
//******************display connection with no of cylinder
void displayCONN_withnoCYL(char conn[15])
{
ifstream fp;
fp.open("customer.dat",ios::binary);
ifstream objiff("booking.dat",ios::binary);
customer dr;
int flag=-1;
bookingslip book_obj;
if(!fp)
{
cout<<"File could not be open !! Press any Key...";
getch();
return;
}
clrscr();
intromain();
gotoxy(10,9);
while(fp.read((char*)&dr,sizeof(customer)))
{
if(strcmp(dr.getcustreg(),conn)==0)
{
dr.display_cust_conn();
flag=1;
break;
}
}
fp.close();
if(flag==1)
{
gotoxy(5,13);
cout<<"-------------------LIST OF CYLINDERS BOOKING'S---------------------";
gotoxy(5,14);
cout<<"||BOOKING DATE|-|DATE OF DELIVERY|-|"<<"STATUS";
//*********************************
int c1=15;
while(objiff.read((char*)&book_obj,sizeof(bookingslip)))
{
if(strcmp(conn,book_obj.getcustconn())==0)
{
donarlist(c1,book_obj.getbookdate(),book_obj.getdeliverdate(),book_obj.getthestatus());
c1++;
}
}
//*********************************
}
objiff.close();
}
//******************display connection with no of cylinder
void donarlist(int c,dateinfo BDT,dateinfo DDT,char stat[15])
{
if(strcmp(stat,"Pending")!=0)
{
gotoxy(5,c);
cout<<"||-"<<BDT.dd<<"/"<<BDT.mm<<"/"<<BDT.yy<<"---|-|"<<DDT.dd<<"/"<<DDT.mm<<"/"<<DDT.yy<<"|-|"<<stat;
}else
{
gotoxy(5,c);
cout<<"||-"<<BDT.dd<<"/"<<BDT.mm<<"/"<<BDT.yy<<"---|-|"<<"--------------------"<<"|-|"<<stat;
}
c=c+1;
gotoxy(5,c);
cout<<"................................................................";
}
//*************bookings of cylinders date wise
void display_cyl_datewise(dateinfo dtsearch)
{
ifstream objiff("booking.dat",ios::binary);
bookingslip book_obj;
dateinfo BDT,DDT;
if(!objiff)
{
cout<<"File could not be open !! Press any Key...";
getch();
return;
}
clrscr();
intromain();
gotoxy(5,6);
cout<<"-------------------LIST OF CYLINDERS BOOKING'S---------------------";
gotoxy(5,7);
cout<<"||--CONNECTION NO||BOOKING DATE|-|DATE OF DELIVERY|-|"<<"STATUS";
//*********************************
gotoxy(5,8);
cout<<"||-------------------------------------------------------------||";
int c1=9;
while(objiff.read((char*)&book_obj,sizeof(bookingslip)))
{
BDT=book_obj.getbookdate();
if(dtsearch.dd==BDT.dd && dtsearch.mm==BDT.mm && dtsearch.yy==BDT.yy)
{
DDT=book_obj.getdeliverdate();
if(strcmp(book_obj.getthestatus(),"Pending")!=0)
{
gotoxy(5,c1);

cout<<"||--"<<book_obj.getcustconn()<<"--||-----"<<BDT.dd<<"/"<<BDT.mm<<"/"<<BDT.yy<<"---|-|-----"<<DDT.dd<<"/"<<DDT.m
m<<"/"<<DDT.yy<<"-------|-|"<<book_obj.getthestatus();
}else
{
gotoxy(5,c1);

cout<<"||--"<<book_obj.getcustconn()<<"--||-----"<<BDT.dd<<"/"<<BDT.mm<<"/"<<BDT.yy<<"---|-|"<<"--------------------"<<"|-|"<<
book_obj.getthestatus();
}
}
c1++;
}
//*********************************
objiff.close();
}
//*************bookings of cylinders date wise
//**********finalize the booking slip
void finalizedcyl(char conn[15])
{
ifstream fp;
fp.open("customer.dat",ios::binary);
fstream objiff("booking.dat",ios::binary|ios::in|ios::out);
customer dr;
int flag=-1,flag2=-1;
bookingslip book_obj;
if(!fp)
{
cout<<"File could not be open !! Press any Key...";
getch();
return;
}
clrscr();
intromain();
gotoxy(10,9);
while(fp.read((char*)&dr,sizeof(customer)))
{
if(strcmp(dr.getcustreg(),conn)==0)
{
dr.display_cust_conn();
flag=1;
break;
}
}
fp.close();
//***********************display the booking slip
dateinfo BDT,DDT,date1;
if(flag==1)
{
if(!objiff)
{
cout<<"File could not be open !! Press any Key...";
getch();
return;
}
gotoxy(5,13);
cout<<"-------------------CYLINDERS BOOKING'S SLIP---------------------";
gotoxy(5,14);
cout<<"||--CONNECTION NO||BOOKING DATE|-|DATE OF DELIVERY|-|"<<"STATUS";
//*********************************
gotoxy(5,15);
cout<<"||-------------------------------------------------------------||";
int c1=16,pos=0;
while(objiff.read((char*)&book_obj,sizeof(bookingslip)))
{
BDT=book_obj.getbookdate();
if(strcmp(conn,book_obj.getcustconn())==0)
{
DDT=book_obj.getdeliverdate();
if(strcmp(book_obj.getthestatus(),"Pending")==0)
{

gotoxy(5,c1);
cout<<"||--"<<book_obj.getcustconn()<<"--||-----"<<BDT.dd<<"/"<<BDT.mm<<"/"<<BDT.yy<<"---|-|"<<"--------------------"<<"|-|"<<
book_obj.getthestatus();
flag2=1;
pos=(int)objiff.tellg();
break;
}
}
c1++;
}
//*********************************
if(flag2==1)
{
objiff.seekp(pos-sizeof(bookingslip),ios::beg);
gotoxy(5,c1);
cout<<"PLEASE ENTER THE DATE OF DELIVERY OF CYLINDER";
c1=c1+1;
gotoxy(10,c1);
cout<<"DATE(dd/mm/yyyy):";
gotoxy(30,c1);
cin>>date1.dd;
gotoxy(35,c1);
cout<<"/";
gotoxy(40,c1);
cin>>date1.mm;
gotoxy(45,c1);
cout<<"/";
gotoxy(50,c1);
cin>>date1.yy;
book_obj.setdeliver(date1);
book_obj.setthestatus();
objiff.write((char *) &book_obj, sizeof(bookingslip));
}
}
objiff.close();
//*****************************************************
getch();
}
//**********************increase or decrease all the cylinder limits of all the customer
void incr_decr(int val,char choice)
{
fstream objiff;
objiff.open("connlimit.dat",ios::binary|ios::in|ios::out);
conn_limit cnlm;
int flag2=-1,pos=0;
//***********to increase
if(choice=='Y' || choice=='y')
{
while(objiff.read((char*)&cnlm,sizeof(conn_limit)))
{
if(statuscheck(cnlm.cust_reg)==0)
{
flag2=1;
pos=(int)objiff.tellg();
}
if(flag2==1)
{
cnlm.limit=cnlm.limit+val;
objiff.seekp(pos-sizeof(conn_limit),ios::beg);
objiff.write((char *) &cnlm, sizeof(conn_limit));
}
}
}else
{
//**********to decrease
while(objiff.read((char*)&cnlm,sizeof(conn_limit)))
{
if(statuscheck(cnlm.cust_reg)==0)
{
flag2=1;
pos=(int)objiff.tellg();
}
if(flag2==1)
{
cnlm.limit=cnlm.limit-val;
objiff.seekp(pos-sizeof(conn_limit),ios::beg);
objiff.write((char *) &cnlm, sizeof(conn_limit));
}
}
}
objiff.close();
}
//**********************increase or decrease all the cylinder limits of all the customer
int statuscheck(char con[15])
{
int tmp=-1;
ifstream fp;
fp.open("customer.dat",ios::binary);
customer dr;
int flag=-1;//,fpos=0;
while(fp.read((char*)&dr,sizeof(customer)))
{
if(strcmp(dr.getcustreg(),con)==0)
{
flag=1;
break;
}
}
if(flag==1)
{
tmp=0;
}
return tmp;
}
if choice is 2:

If choice 1 in sub menu:


if choice 2:

if choice 3 Delete the informtion:


If choice is 1

Choice 1:

Choice 2:

Choice 3:

Choice 4:
Enter the date of cylinder booking:: 5/01/2017
Choice 5:

Choice: 2

If choice is 2
REQUIREMENTS
HARDWARE REQUIRED

Printer, to print the required documents of the project


Compact Drive
Processor : intel
Ram : 512 MB or more than 512MB
Harddisk : 80 GB or more than 80GB.

SOFTWARE REQUIRED

Operating system : Windows XP


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 cylinders 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.
CONCLUSION
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.
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.
BIBLIOGRAPHY
The C++ Programming Language , 3rd Edition / Stroustrup Addison-Wesley.

C++ Primer, 3rd Edition / Lippman and Lajoie Addison-Wesley.


The Scott Meyers series, Addison-Wesley:

Effective C++ : 50 Specific Ways to Improve Your Programs and Designs, 2nd Edition

More Effective C++ : 35 New Ways to Improve Your Programs and Designs
and Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library

Beginners' C++ Course, 3rd Edition Ron Wein

Anda mungkin juga menyukai