0% found this document useful (0 votes)
6 views37 pages

computer project

The GAS BOOKING SYSTEM project aims to automate the manual processes of a gas agency, allowing customers to book cylinders and manage their information efficiently. The software includes features for customer record management, transaction tracking, and administrative controls, significantly reducing paperwork. The report outlines the system design, source code, advantages, and provides a comprehensive overview of the functionalities implemented.

Uploaded by

vishukanima478
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
0% found this document useful (0 votes)
6 views37 pages

computer project

The GAS BOOKING SYSTEM project aims to automate the manual processes of a gas agency, allowing customers to book cylinders and manage their information efficiently. The software includes features for customer record management, transaction tracking, and administrative controls, significantly reducing paperwork. The report outlines the system design, source code, advantages, and provides a comprehensive overview of the functionalities implemented.

Uploaded by

vishukanima478
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
You are on page 1/ 37
Project Report On GAS BOOKING SYSTEM 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. 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 much HEADER 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 cylinder gotoxy(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 J 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.

You might also like