This project is useful for BCA, MSCIT and class XII students.It is useful for generating report cards of student on the basis of marks enter by the user.
THIS PROJECT CANTEEN MANAGEMENT SYSTEM IS FOR THE STUDENTS OF MCA,B.SC.IT,BCA AND STUDENTS OF COMPUTER SCIENCE.THIS PROJECT IS DESIGN IN PYTHON AND USES SQL AS A BACK-END TO STORE ALL THE INFORMATION'S.
Cosmetics Shop Management System is a complete solution for managing a Shop, in other words, an enhanced tool that assists in organizing the day-to-day activities of a Shop. There is the need of an application for efficient management and handling customer orders. This Cosmetics Shop Management System keeps every record Shop and reducing paperwork
This project is useful for BCA, MSCIT and class XII students.It is useful for generating report cards of student on the basis of marks enter by the user.
THIS PROJECT CANTEEN MANAGEMENT SYSTEM IS FOR THE STUDENTS OF MCA,B.SC.IT,BCA AND STUDENTS OF COMPUTER SCIENCE.THIS PROJECT IS DESIGN IN PYTHON AND USES SQL AS A BACK-END TO STORE ALL THE INFORMATION'S.
Cosmetics Shop Management System is a complete solution for managing a Shop, in other words, an enhanced tool that assists in organizing the day-to-day activities of a Shop. There is the need of an application for efficient management and handling customer orders. This Cosmetics Shop Management System keeps every record Shop and reducing paperwork
Our application aims to bring about transparency, clarity and swiftness in the process of donation thus aiming to mitigate prevailing issues in whatever zone it is possible for us to do so. This is a project report for the same.
Tourism is a big growth business in all countries. Bus Reservation System deals with maintenance of records details of each passenger. It also includes maintenance of information such as timetable and details in each bus.
this is the computer science project that i created for my friends to submit in the finals for 12th standard. the pages are jumbled up but other than that everything is good.
Core java project based on ATM(Automated Teller Machine) software.Presentation related to ATM Software Project.Features Present in ATM That help Customer to do various transactions.
This project is aimed at developing an online movie ticket booking system website for customers.Online movie ticket booking system is a project developed for booking movie ticket online.This project saves lots of time and reduces the work of the customer.In online movie ticket booking system booking the movie ticket can be done from anywhere and at any time(24*7).some features provided to the users are new registration,login in,see movies by category,compare ticket price and timing,Customer can book ticket online without registration but if he/she registers then he/she will get different types of special offers,e-newsletters,movie updates and lots more The user can also cancel or update their order
project report on hacking of passwords . this help to save the passwords in this software . in this project there are coding , flowcharts ,input - output , system design data design and all.......................................................................................................................
Attendance management system project report.Manoj Kumar
Attendance management system project report is a document in PDF file. If you have any confusion in your document then you can clear your concepts here.
This project is for the students of BCA, MCA,MSc-it and computer science students.This project store and maintained the records of books purchased or sell by the book storekeeper.
This project report on canteen management system in c++, for the BCA, MCA and class XII computer science students.This project helps to accept the details of canteen product and maintained the records of product sell or purchased.
Our application aims to bring about transparency, clarity and swiftness in the process of donation thus aiming to mitigate prevailing issues in whatever zone it is possible for us to do so. This is a project report for the same.
Tourism is a big growth business in all countries. Bus Reservation System deals with maintenance of records details of each passenger. It also includes maintenance of information such as timetable and details in each bus.
this is the computer science project that i created for my friends to submit in the finals for 12th standard. the pages are jumbled up but other than that everything is good.
Core java project based on ATM(Automated Teller Machine) software.Presentation related to ATM Software Project.Features Present in ATM That help Customer to do various transactions.
This project is aimed at developing an online movie ticket booking system website for customers.Online movie ticket booking system is a project developed for booking movie ticket online.This project saves lots of time and reduces the work of the customer.In online movie ticket booking system booking the movie ticket can be done from anywhere and at any time(24*7).some features provided to the users are new registration,login in,see movies by category,compare ticket price and timing,Customer can book ticket online without registration but if he/she registers then he/she will get different types of special offers,e-newsletters,movie updates and lots more The user can also cancel or update their order
project report on hacking of passwords . this help to save the passwords in this software . in this project there are coding , flowcharts ,input - output , system design data design and all.......................................................................................................................
Attendance management system project report.Manoj Kumar
Attendance management system project report is a document in PDF file. If you have any confusion in your document then you can clear your concepts here.
This project is for the students of BCA, MCA,MSc-it and computer science students.This project store and maintained the records of books purchased or sell by the book storekeeper.
This project report on canteen management system in c++, for the BCA, MCA and class XII computer science students.This project helps to accept the details of canteen product and maintained the records of product sell or purchased.
The Computer Shop System is designed & developed for a computer shop to manage their records of selling and purchasing of the computer parts from the dealers and sell them to the customers. This system makes the work of the computer shopkeepers easy as it keeps all the records of the computer product and also keep the records of the product that is sold to the customers.
Development of an interactive car sale system which lets a user to find a car and its details is the main objective of this project. The administrators can access, enter, modify and delete the details of every car. Administrators are responsible of maintaining the details of vehicles like the Manufacturer information,
Python Project book shop system.This project BOOKSHOP SYSTEM includes some facilities for the retail book shop to maintain records of the books and also search, display, modification, delete etc the books available. This software searches the books data which is store in the record.
WHAT IS FUNCTION? WHY WE NEED FUNCTION.
TYPES OF FUNCTIONS
BUILT IN FUNCTIONS
int() , str(), float(), eval(), abs(),pow(), type() , round(),
modules in python,
Mat modules
pi, ceil(),pow(),floor(),sqrt(), sin(), cos() , tan()
NATURAL ENVIRONMENT,CATEGORIES OF RESOURCES,NATURAL RESOURCES,RENEWABLE AND NON-RENEWABLE,EXHAUSTIBLE , NON-EXHAUSTIBLE RESOURCES,HOW ENVIRONMENT IS CRUCIAL FOR US
WHAT IS DICTIONARY IN PYTHON?
HOW TO CREATE A DICTIONARY
INITIALIZE THE DICTIONARY
ACCESSING KEYS AND VALUES FROM A DICTIONARY
LOOPS TO DISPLAY KEYS AND VALUES IN A DICTIONARY
METHODS IN A DICTIONARY
TO WATCH VIDEO OR PDF:
https://computerassignmentsforu.blogspot.com/p/dictinpyxii.html
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Enhancing Performance with Globus and the Science DMZGlobus
ESnet has led the way in helping national facilities—and many other institutions in the research community—configure Science DMZs and troubleshoot network issues to maximize data transfer performance. In this talk we will present a summary of approaches and tips for getting the most out of your network infrastructure using Globus Connect Server.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
2. ……………………..
ACKNOWLEDGEMENT
I would like to convey my heartful thanks to
………………………. 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.
3. CERTIFICATE
This is to certify that ………………….. of
…………of
…………………………………… has
completed his project under my supervision.
He 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.
6. INTRODUCTION
The project is designed for Electricity billing in C++.
The title of the project is Electricity Billing
Management System. In this project Customer need to
deposit the amount in time otherwise fine is to be paid.
Administrator of the project can enter new meter
number series and can change the meter series if
needed. In the project customer records are entered and
save after that only the bill is generated of a particular
customer after checking the customer record is their on
the basis of meter number that is registered with the
customer.
In this project all the searches are based on meter
number and is any customer details is needed just write
the meter number and all the details of customer is
displayed.
7. //***************************************************************
// HEADER FILE USED IN PROJECT
//****************************************************************
#include<stdio.h>
#include<conio.h>
#include<process.h>
#include<fstream.h>
#include<iomanip.h>
#include<string.h>
#include<ctype.h>
#include<stdlib.h>
//********************functions names*************************************
void intro();
int checkpass();
void admin_menu();
void intromain();
void customer_info();
void meter_info();
void transcations();
void reports();
void displaytrans();
//********************customer functions*********************************
void write_customer();
void modify_customer_record(int);
void delete_cust_record(int);
int getcustno();
int checkmetergentrans();
//********************customer functions*********************************
//******************meter info***********************
void write_meter();
int getmeterno();
void delete_meter(char mn[25]);
int checkmetergen();
//***************************************************
void write_bills(char mnum[25]);
void displaycust_meterno(char mnum2[25],int k);
int checkbillpaid(char mn[25]);
void savebillrecord(int r,char mn[25]);
//**********************reports********************
void display_meters();
int getbillno();
14. cout<<"METER NO:";
gotoxy(25,10);
cout<<meterno;
gotoxy(35,10);
cout<<"DATE OF CONNECTION:";
gotoxy(53,10);
cout<<dtconn.dd<<"-"<<dtconn.mm<<"-"<<dtconn.yy;
gotoxy(5,11);
cout<<"=====================================================================";
}
void showallcust(int c)
{
gotoxy(1,c);
cout<<fname<<"-"<<lname<<setw(8)<<hn<<"-"<<add1<<","<<add2<<setw(15) <<phno<<setw(10)<<meterno
<<setw(10) <<dtconn.dd<<"-"<<dtconn.mm<<"-"<<dtconn.yy;
}
void showallcustdetails(int c)
{
gotoxy(1,c);
cout<<"FIRST NAME:"<<setw(8)<<fname<<setw(15)<<"LAST NAME:"<<setw(8) <<lname<<setw(15)
<<"ADDRESS:" <<setw(8)<<hn<<"-"<<add1<<","<<add2;
gotoxy(1,c+1);
cout<<"PHONE NO:"<<setw(10)<<phno<<setw(10)<<"METER NO:"<<setw(10)<<meterno
<<setw(15)<<"DATEOFCONN." <<setw(10)<<dtconn.dd<<"-"<<dtconn.mm<<"-"<<dtconn.yy;
}};
void customer::modifydatacust()
{
char tmpnm[25],tmpnm2[25],tmpphno[15],tmpmtno[15],choice='n';
gotoxy(5,14);
cout<<"===================WANT TO MODIFY ===============================";
gotoxy(10,15);
cout<<"CUST NO:";
gotoxy(25,15);
cout<<cust_id;
gotoxy(40,15);
cout<<"FIRST NAME:";
gotoxy(60,15);
cout<<fname;
gotoxy(10,17);
cout<<"Want to change the First Name";
gotoxy(50,17);
int flag=0;
while(1)
{
gets(tmpnm);
if(strlen(tmpnm)!=0)
{
flag=1;
break;
}
if(strlen(tmpnm)==0)
{ flag=0;
break;
}
}
if(flag==1)
{ strcpy(fname,tmpnm);
}
gotoxy(5,18);
//****************COMPANY NAME TO BE MODIFY
cout<<"LAST NAME:";
gotoxy(20,18);
cout<<lname;
gotoxy(35,18);
15. cout<<"Want to change the Last Name";
gotoxy(65,18);
flag=0;
while(1)
{
gets(tmpnm2);
if(strlen(tmpnm2)!=0)
{
flag=1;
break;
}
if(strlen(tmpnm2)==0)
{ flag=0;
break;
}
}
if(flag==1)
{ strcpy(lname,tmpnm2);
}
//*****************class to be modify
gotoxy(5,19);
//****************CLASS NAME TO BE MODIFY
cout<<"PHONE NO.:";
gotoxy(20,19);
cout<<phno;
gotoxy(35,19);
cout<<"Want to change the Phone No.";
gotoxy(65,19);
flag=0;
while(1)
{
gets(tmpphno);
if(strlen(tmpphno)!=0)
{
flag=1;
break;
}
if(strlen(tmpphno)==0)
{ flag=0;
break;
}
}
if(flag==1)
{ strcpy(phno,tmpphno);
}
//****************************************************
char mch;
gotoxy(5,20);
cout<<"METER NO.:";
//****************CLASS SEC TO BE MODIFY
gotoxy(20,20);
cout<<meterno;
gotoxy(35,20);
cout<<"Want to change the Meter:[y or n]";
gotoxy(70,20);
cin>>mch;
if(mch=='y')
{
//******************get the meter no
fstream objiff;
meter mt;
char meternum[25];
objiff.open("meter.dat",ios::binary|ios::in|ios::out);
16. objiff.seekg(0,ios::beg);
int pos=0;
if(!objiff)
{
cout<<"File could not be open !! Press any Key...";
}
else{
//**************temporary hiding these lines
while(objiff.read((char *) &mt, sizeof(meter)))
{
if(mt.getmeterstatus()=='N')
{
pos=(int)objiff.tellg();
flag=1;
break;
}
}
strcpy(meternum,mt.getmeterreg());
mt.setmeterstatus();
objiff.seekp(pos-sizeof(meter),ios::beg);
objiff.write((char *) &mt, sizeof(meter));
}
objiff.close();
//************************************************************
strcpy(meterno,tmpmtno);
}
gotoxy(5,21);
cout<<"ADDRESS:";
gotoxy(20,21);
cout<<hn<<"-"<<add1<<","<<add2;
gotoxy(35,21);
cout<<"Want to change the address[y yes or n no]";
gotoxy(65,21);
cin>>choice;
if(choice=='y')
{
gotoxy(20,22);
cout<<"hno,address1,address2";
gotoxy(35,22);
cin>>hn>>add1>>add2;
}
//***************************************************
gotoxy(5,23);
cout<<"=====================================================================";
}
//*****************classes name ends**************************************
//*********************welcome page*************************************
void intro()
{ clrscr();
gotoxy(4,2);
cout<<"***************************ELECTRICITY BILLING**************************";
gotoxy(12,4);
cout<<"==============================MANAGEMENT================================";
gotoxy(5,5);
cout<<"******************************S=Y=S=T=E=M*******************************";
gotoxy(50,10);
cout<<"PROJECT:";
gotoxy(50,12);
cout<<"MADE BY : STUDENT NAME";
gotoxy(8,14);
cout<<"--------------------DOON PUBLIC SCHOOL,HALDWANI------------------------";
gotoxy(8,15);
cout<<"------------------CLASS : XII B ( COMPUTER SCIENCE )-------------------";
getch();
17. }
//*********************welcome page*************************************
//************************MAIN STARTS ***************************************
void main()
{
char ch;
intro();
if(checkpass()==0)
{
do
{
//****************TEMPORARY***********************
clrscr();
intromain();
gotoxy(20,6);
cout<<"=================MAIN MENU====================";
gotoxy(28,7);
cout<<"01. REPORT GENERATOR";
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':
reports();
break;
case '2': admin_menu();
break;
case '3':exit(0);
}
}while(ch!='3');
}
else
{exit(0);}
}
//****************************FUNCTIONS STARTS HERE************************
//******************************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,"1234")==0)
{
return 0;
18. }else
{
return 1;
}
}
//*******************introduction
void intromain()
{ clrscr();
gotoxy(1,2);
cout<<"*************************ELECTRICITY****BILLING*****SYSTEM**********************";
gotoxy(1,3);
cout<<"*************************************PROJECT***********************************";
}
//**************************admin starts**********************************
void admin_menu()
{
clrscr();
char ch2='0';
//************************************************************
clrscr();
intromain();
gotoxy(20,6);
cout<<"=================ADMIN MENU====================";
gotoxy(22,7);
cout<<"1.CUSTOMER'S INFORMATION";
gotoxy(22,8);
cout<<"2.METER'S INFORMATION";
gotoxy(22,9);
cout<<"3.BILLING/TRANSCATIONS";
gotoxy(22,10);
cout<<"4.BACK TO MAIN MENU";
gotoxy(22,12);
cout<<"Please Enter Your Choice (1-4) ";
gotoxy(23,16);
//**********************************************************
ch2=getche();
switch(ch2)
{
case '1':
if(checkmetergen()==1)
{
customer_info();
}else
{
clrscr();
intromain();
gotoxy(20,6);
cout<<"Please enter the meter information first";
getch();
}
break;
case '2':
meter_info();
break;
case '3':
if(checkmetergentrans()==1)
{
transcations();
}else
{
clrscr();
intromain();
gotoxy(20,6);
19. cout<<"Please enter the meter information first";
}
getch();
break;
case '4':
break;
default:
cout<<"a";
admin_menu();
}
}
//************************check meter generated for trans
int checkmetergentrans()
{
ifstream objiff;
meter mt;
int count=-1;
objiff.open("meter.dat",ios::binary);
objiff.seekg(0,ios::beg);
if(!objiff)
{
cout<<"File could not be open !! Press any Key...";
count=-1;
}else{
//**************temporary hiding these lines
while(objiff.read((char *) &mt, sizeof(meter)))
{
if(mt.getmeterstatus()=='Y')
{ count=1;
break;
}
}
}
objiff.close();
return count;
}
//**************************customer information system*******************
void customer_info()
{
clrscr();
char ch2='0';
int num=0;
//************************************************************
clrscr();
intromain();
gotoxy(20,6);
cout<<"=================CUSTOMER'S INFORMATION====================";
gotoxy(22,7);
cout<<"1.ADD CUSTOMER'S INFORMATIONS";
gotoxy(22,8);
cout<<"2.MODIFY CUSTOMER'S INFORMATIONS";
gotoxy(22,9);
cout<<"3.DELETE CUSTOMER'S INFORMTIONS";
gotoxy(22,10);
cout<<"4.BACK TO MENU";
gotoxy(22,12);
cout<<"Please Enter Your Choice (1-4) ";
gotoxy(23,16);
ch2=getche();
switch(ch2)
{
case '1':
write_customer();
20. break;
case '2':
clrscr();
intromain();
gotoxy(10,8);
cout<<"***ENTER THE CUST ID TO BE SEARCHED AND MODIFY:";
gotoxy(55,9);
cin>>num;
modify_customer_record(num);
break;
case '3':
clrscr();
intromain();
gotoxy(10,8);
cout<<"***ENTER THE CUST ID TO BE SEARCHED AND DELETE:";
gotoxy(55,9);
cin>>num;
delete_cust_record(num);
break;
case '4':
break;
default:
cout<<"a";
admin_menu();
} }
//************************customer functions*******************************
//*****************delete the customer records****************************
void delete_cust_record(int n)
{
customer cust;
ifstream inFile;
inFile.open("customer.dat",ios::binary);
if(!inFile)
{
cout<<"File could not be open !! Press any Key...";
getch();
return;
}
int flag=0;
while(inFile.read((char *) &cust, sizeof(customer)))
{
if(cust.getcustid()==n)
{ clrscr();
intromain();
cust.showdatamulti_cust();
flag=1;
}
}
inFile.close();
char ch;
if(flag==0)
cout<<"nnrecord not exist";
else
{
//*******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')
{
21. ofstream outFile;
outFile.open("Temp1.dat",ios::binary);
ifstream objiff("customer.dat",ios::binary);
objiff.seekg(0,ios::beg);
while(objiff.read((char *) &cust, sizeof(customer)))
{
if(cust.getcustid()!=n)
{
outFile.write((char *) &cust, sizeof(customer));
}
}
outFile.close();
objiff.close();
remove("customer.dat");
rename("Temp2.dat","customer.dat");
gotoxy(30,20);
cout<<"----------------------------Record Deleted----------------------------------";
}
}
getch();
}
//*****************delete the customer records****************************
//*****************modify the customer records****************************
void modify_customer_record(int n)
{
customer cust;
ifstream inFile;
int fpos=-1;
inFile.open("customer.dat",ios::binary);
if(!inFile)
{
cout<<"File could not be open !! Press any Key...";
getch();
}
int flag=0;
while(inFile.read((char *) &cust, sizeof(customer)))
{
if(cust.getcustid()==n)
{ clrscr();
intromain();
cust.showdatamulti_cust();
flag=1;
}
}
inFile.close();
if(flag==0)
cout<<"nnrecord not exist";
else
{
//*******modifying the records starts here
fstream File;
File.open("customer.dat",ios::binary|ios::in|ios::out);
if(!File)
{
cout<<"File could not be open !! Press any Key...";
getch();
return;
}
while(File.read((char *) &cust, sizeof(customer)))
{
if(cust.getcustid()==n)
{ fpos=(int)File.tellg();
break;
22. }
}
File.seekp(fpos-sizeof(customer),ios::beg);
gotoxy(1,12);
cout<<"*****************************************************************************";
gotoxy(1,13);
cout<<"======ENTER NEW VALUES FOR THE RECORDS GIVEN ABOVE=================";
cust.modifydatacust();
File.write((char *) &cust, sizeof(customer));
File.close();
}}
//*****************modify the customer records****************************
// function to write in file
//****************************************************************
void write_customer()
{
int flag=-1,pos=0;
fstream fp;
customer cust;
char meternum[25];
fp.open("customer.dat",ios::out|ios::app);
clrscr();
intromain();
int rnn=getcustno();
if(rnn>10000)
{
rnn=1;
}
//******************get the meter no
fstream objiff;
meter mt;
objiff.open("meter.dat",ios::binary|ios::in|ios::out);
objiff.seekg(0,ios::beg);
if(!objiff)
{
cout<<"File could not be open !! Press any Key...";
}
else{
//**************temporary hiding these lines
while(objiff.read((char *) &mt, sizeof(meter)))
{
if(mt.getmeterstatus()=='N')
{
pos=(int)objiff.tellg();
flag=1;
break;
}
}
}
//******************get the meter no mt.getmeterreg()
if(flag==1)
{
strcpy(meternum,mt.getmeterreg());
cust.addcustomer(rnn,meternum);
mt.setmeterstatus();
objiff.seekp(pos-sizeof(meter),ios::beg);
objiff.write((char *) &mt, sizeof(meter));
objiff.close();
fp.write((char*)&cust,sizeof(customer));
fp.close();
gotoxy(10,20);
cout<<"***************CUSTOMER'S RECORD SAVED******************* ";
cin.ignore();
getch();
23. }else
{
fp.close();
gotoxy(10,20);
cout<<"****PLEASE ADD METER INFORMATION BEFORE CUSTOMER'S RECORD SAVED**** ";
cin.ignore();
getch();
}
}
//********************check the Student roll number already given or not******
int getcustno()
{
ifstream objiff;
customer cust;
int count=0,count2=0;
objiff.open("customer.dat",ios::binary);
objiff.seekg(0,ios::beg);
if(!objiff)
{
cout<<"File could not be open !! Press any Key...";
count=1;
getch();
}else{
//**************temporary hiding these lines
while(objiff.read((char *) &cust, sizeof(customer)))
{
count2++;
}
count=count2;
count++;
}
objiff.close();
return count;
}
//************************customer functions*******************************
//*****************meter_info informations*****************************
void meter_info()
{
clrscr();
char ch2='0';
char mnum[25];
//************************************************************
clrscr();
intromain();
gotoxy(20,6);
cout<<"=================METER'S INFORMATION====================";
gotoxy(22,7);
cout<<"1.ADD METER'S INFORMATIONS";
gotoxy(22,8);
cout<<"2.DELETE METER'S INFORMTIONS";
gotoxy(22,9);
cout<<"3.BACK TO MENU";
gotoxy(22,11);
cout<<"Please Enter Your Choice (1-3) ";
gotoxy(23,13);
ch2=getche();
switch(ch2)
{
case '1':
write_meter();
break;
case '2':
clrscr();
24. intromain();
gotoxy(10,8);
cout<<"***ENTER THE METER NO TO BE SEARCHED AND DELETE:";
gotoxy(55,9);
cin>>mnum;
delete_meter(mnum);
break;
case '3':
break;
default:
cout<<"a";
admin_menu();
} }
//***************************************************************
// function to delete the meter number
void delete_meter(char mn[25])
{
meter mt;
ifstream inFile;
inFile.open("meter.dat",ios::binary);
if(!inFile)
{
cout<<"File could not be open !! Press any Key...";
getch();
return;
}
int flag=0;
while(inFile.read((char *) &mt, sizeof(meter)))
{
if((strcmp(mt.getmeterreg(),mn)==0) && mt.getmeterstatus()=='N')
{ clrscr();
intromain();
mt.showmeters();
flag=1;
}
}
inFile.close();
char ch;
if(flag==0)
cout<<"nnrecord not exist";
else
{
//*******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("Temp2.dat",ios::binary);
ifstream objiff("meter.dat",ios::binary);
objiff.seekg(0,ios::beg);
while(objiff.read((char *) &mt, sizeof(meter)))
{
if(strcmp(mt.getmeterreg(),mn)!=0)
{
outFile.write((char *) &mt, sizeof(meter));
}
}
outFile.close();
25. objiff.close();
remove("meter.dat");
rename("Temp2.dat","meter.dat");
gotoxy(30,20);
cout<<"----------------------------Record Deleted----------------------------------";
}
}
getch();
}
// function to write in file
//****************************************************************
void write_meter()
{
char series[25],mtrno[25],ch,temp[15];
fstream fp;
meter m;
clrscr();
intromain();
int N,x;
gotoxy(10,10);
cout<<"new series or old one[y or n]";
gotoxy(10,11);
cin>>ch;
if(ch=='y')
{
clrscr();
intromain();
gotoxy(10,10);
cout<<"Enter the series starting 4 number:";
gotoxy(10,11);
cin>>series;
clrscr();
intromain();
gotoxy(10,10);
cout<<"Enter number of meter number to be generated:";
gotoxy(10,11);
cin>>N;
for(x=1;x<=N;x++)
{
int rnn=getmeterno();
if(rnn>10000)
{
rnn=1;
}
strcpy(mtrno,series);
itoa(rnn,temp,10);
strcat(mtrno,temp);
cout<<"nrnn="<<rnn<<" series="<<series<<" mtrno="<<mtrno;
getch();
fp.open("meter.dat",ios::binary|ios::out|ios::app);
m.writemeter(rnn,series,mtrno,'N');
fp.write((char*)&m,sizeof(m));
fp.close();
}
}else
{
strcpy(series,m.getseries());
clrscr();
intromain();
gotoxy(10,10);
cout<<"Enter number of meter number to be generated:";
gotoxy(10,11);
cin>>N;
for(x=1;x<=N;x++)
26. {
int rnn=getmeterno();
if(rnn>10000)
{
rnn=1;
}
strcpy(mtrno,series);
itoa(rnn,temp,1);
strcat(mtrno,temp);
fp.open("meter.dat",ios::binary|ios::out|ios::app);
m.writemeter(rnn,series,mtrno,'N');
fp.write((char*)&m,sizeof(m));
fp.close();
} }
gotoxy(10,20);
cout<<"***************METER'S RECORD SAVED******************* ";
cin.ignore();
getch();
}
//********************get meter no*************************************
int getmeterno()
{
ifstream objiff;
meter m;
int count=0,count2=0;
objiff.open("meter.dat",ios::binary);
objiff.seekg(0,ios::beg);
if(!objiff)
{
count=1;
}else{
//**************temporary hiding these lines
while(objiff.read((char *) &m, sizeof(meter)))
{
count2++;
}
count=count2;
count++;
}
objiff.close();
return count;
}
//*****************Billing transcations informations*****************************
//*********************************************
void transcations()
{
clrscr();
char ch2='0';
char mnum[25];
//************************************************************
clrscr();
intromain();
gotoxy(20,6);
cout<<"=================BILLING/TRANSCATIONS====================";
gotoxy(22,7);
cout<<"1.ADD BILL READING";
gotoxy(22,8);
cout<<"2.MODIFY BILL READING";
gotoxy(22,9);
cout<<"3.TRANSCATIONS";
gotoxy(22,10);
cout<<"4.BACK TO MENU";
gotoxy(22,12);
27. cout<<"Please Enter Your Choice (1-4) ";
gotoxy(23,16);
ch2=getche();
switch(ch2)
{
case '1':
clrscr();
intromain();
gotoxy(10,8);
cout<<"***ENTER THE METER NO:";
gotoxy(55,9);
cin>>mnum;
write_bills(mnum);
break;
case '2':
clrscr();
intromain();
gotoxy(10,8);
cout<<"***ENTER THE METER NO:";
gotoxy(55,9);
cin>>mnum;
modify_bills(mnum);
break;
case '3':
clrscr();
intromain();
gotoxy(10,8);
cout<<"***ENTER THE METER NO:";
gotoxy(55,9);
cin>>mnum;
paid_bills(mnum);
break;
case '4':
break;
default:
cout<<"a";
admin_menu();
}
}
//***************************************************************
void paid_bills(char mnum[25])
{
fstream fp;
fstream objiffback;
billing bl;
char meternum[25];
fp.open("billing.dat",ios::binary|ios::out|ios::in);
ofstream trobj("trans.dat",ios::binary|ios::app);
trans tr;
clrscr();
intromain();
con_date d1;
int bpos=-1,bflag=-1;
billprevrecord brprv;
float amtadd=0.00;
float amtded=0.00;
int kpos=0,amount=0;
float deduct=0.00;
float amountaddnxt=0.00,totalamount=0.00;
//********************meter
details*****************************************************************
ifstream objiff;
28. meter mt;
int flag=-1,flag2=-1;
objiff.open("meter.dat",ios::binary);
objiff.seekg(0,ios::beg);
if(!objiff)
{
cout<<"File could not be open !! Press any Key...";
}
else{
while(objiff.read((char *) &mt, sizeof(meter)))
{
if((strcmp(mnum,mt.getmeterreg())==0)&& mt.getmeterstatus()=='Y')
{
flag=1;
break;
}} }
//*************************meter details**************************************************
if(flag==1)
{
if(checkbillpaid(mnum)!=1)
{
clrscr();
intromain();
strcpy(meternum,mt.getmeterreg());
//*****************display customer information**********
displaycust_meterno(mnum,5);
//*****************bill info
if(!objiff)
{
}else{
while(fp.read((char *) &bl, sizeof(billing)))
{
if((strcmp(meternum,bl.getmtn())==0) && bl.getstatus()=='Y')
{
kpos=(int)fp.tellg();
flag2=1;
break;
}
}
if(flag2==1)
{
//***************get the previou left amount*********************
objiffback.open("billsprevrecord.dat",ios::binary|ios::in|ios::out);
objiffback.seekg(0,ios::beg);
if(!objiffback)
{
cout<<"File could not be open !! Press any Key...";
}else{
while(objiffback.read((char *) &brprv, sizeof(billprevrecord)))
{
if((strcmp(mnum,brprv.mtrno)==0)&& brprv.status=='Y')
{
bpos=(int)objiffback.tellg();
bflag=1;
break;
}
}
if(bflag==1)
{
amtadd= brprv.amtadd;
amtded=brprv.amtdud;
brprv.status='N';
objiffback.seekp(bpos-sizeof(billprevrecord),ios::beg);
objiffback.write((char*)&brprv,sizeof(billprevrecord));
30. if(rnn>100)
{
rnn=1;
}
ifstream objiff;
meter mt;
int flag=-1;
objiff.open("meter.dat",ios::binary);
objiff.seekg(0,ios::beg);
if(!objiff)
{
cout<<"File could not be open !! Press any Key...";
}
else{
//**************temporary hiding these lines
while(objiff.read((char *) &mt, sizeof(meter)))
{
if((strcmp(mnum,mt.getmeterreg())==0)&& mt.getmeterstatus()=='Y')
{
flag=1;
break;
}} }
//******************get the meter no mt.getmeterreg()
if(flag==1)
{
if(checkbillpaid(mnum)==1)
{
clrscr();
intromain();
strcpy(meternum,mt.getmeterreg());
//*****************display customer information**********
displaycust_meterno(mnum,5);
//*******************************************************
bl.addbill(rnn,meternum);
fp.write((char*)&bl,sizeof(billing));
gotoxy(10,20);
cout<<"***************bill created******************* ";
savebillrecord(rnn,mnum);
cin.ignore();
getch();
}else{
gotoxy(10,20);
cout<<"***************PLEASE PAY PREVIOUS BILL FIRST!!!!!!!******************* ";
}
}else {
gotoxy(10,20);
cout<<"***************error!!!!!!!******************* ";
}
getch();
objiff.close();fp.close();
}
//*******************bill entry *************************************
void overwritebillrecord(char mn[25])
{
fstream objiff;
billrecord br;
int kpos=0,flag=-1;
objiff.open("billsrecord.dat",ios::binary|ios::in|ios::out);
if(!objiff)
{
cout<<"File could not be open !! Press any Key...";
}else{
while(objiff.read((char *) &br, sizeof(billrecord)))
{
31. if((strcmp(mn,br.mrtno)==0)&& br.billstatus =='Y')
{
flag=1;
kpos=(int)objiff.tellg();
break;
}}
if(flag==1)
{
objiff.seekp(kpos-sizeof(billrecord),ios::beg);
strcpy(br.mrtno,mn);
br.billstatus ='N';
objiff.write((char *) &br, sizeof(br));
}
}
objiff.close();
}
//******************save bill record********************
void savebillrecord(int r,char mn[25])
{
ofstream objiff;
billrecord br;
objiff.open("billsrecord.dat",ios::binary|ios::app);
if(!objiff)
{
cout<<"File could not be open !! Press any Key...";
}else{
br.billno=r;
strcpy(br.mrtno,mn);
br.billstatus ='Y';
objiff.write((char *) &br, sizeof(br));
}
objiff.close();
}
//**********************CHECK THE BILL PAID OR NOT*****************
int checkbillpaid(char mn[25])
{
ifstream objiff;
billrecord br;
int flag=0;
objiff.open("billsrecord.dat",ios::binary);
objiff.seekg(0,ios::beg);
if(!objiff)
{
cout<<"File could not be open !! Press any Key...";
return 1;
}else{
//**************temporary hiding these lines
while(objiff.read((char *) &br, sizeof(br)))
{
if((strcmp(mn,br.mrtno)==0)&& br.billstatus =='Y')
{
flag=0;
break;
}else
{flag=1;}
}}
objiff.close();
return flag;
}
//********************get meter no*************************************
int getbillno()
{
ifstream objiff;
billing bl;
32. int count=0,count2=0;
objiff.open("billing.dat",ios::binary);
objiff.seekg(0,ios::beg);
if(!objiff)
{
count=1;
}else{
//**************temporary hiding these lines
while(objiff.read((char *) &bl, sizeof(billing)))
{
count2++;
}
count=count2;
count++;
}
objiff.close();
return count;
}
//*******************ALL Reports Display Menu************************
void reports()
{
clrscr();
char ch2='0';
char mnum[25];
clrscr();
intromain();
gotoxy(20,6);
cout<<"=================REPORTS====================";
gotoxy(22,7);
cout<<"1.All Customer's Details With Meter No.";
gotoxy(22,8);
cout<<"2.All Meter's Details Working";
gotoxy(22,9);
cout<<"3.Display all bills ";
gotoxy(22,10);
cout<<"4.Display Customer details With Bills Details";
gotoxy(22,11);
cout<<"5.Display all bill records";
gotoxy(22,12);
cout<<"6.Display all transcations";
gotoxy(22,13);
cout<<"7.BACK TO MENU";
gotoxy(22,14);
cout<<"Please Enter Your Choice (1-7) ";
gotoxy(23,16);
ch2=getche();
switch(ch2)
{
case '1':
display_customer();
getch();
break;
case '2':
display_meters();
getch();
break;
case '3':
display_bills();
getch();
break;
case '4':
clrscr();
intromain();
gotoxy(10,8);
33. cout<<"***ENTER THE CUSTOMER METER NO:";
gotoxy(55,9);
cin>>mnum;
display_custwithbills(mnum);
getch();
break;
case '5':
display_billrecords();
getch();
break;
case '6':
displaytrans();
getch();
break;
case '7':
break;
default:
cout<<"a";
admin_menu();
}
}
//***************************************************************
int checkmetergen()
{
ifstream objiff;
meter mt;
int count=-1;
objiff.open("meter.dat",ios::binary);
objiff.seekg(0,ios::beg);
if(!objiff)
{
cout<<"File could not be open !! Press any Key...";
count=-1;
}else{
//**************temporary hiding these lines
while(objiff.read((char *) &mt, sizeof(meter)))
{
if(mt.getmeterstatus()=='N')
{ count=1;
break;
}
}
}
objiff.close();
return count;
}
//*****************************display all meters***********************
void display_meters()
{
ifstream objiff;
meter mt;int c=7;
objiff.open("meter.dat",ios::binary);
objiff.seekg(0,ios::beg);
if(!objiff)
{
cout<<"File could not be open !! Press any Key...";
return;
}else{
//**************temporary hiding these lines
clrscr();
intromain();
gotoxy(25,5);
cout<<"METER NO"<< setw(15)<<"STATUS";
34. gotoxy(8,6);
cout<<"=========================================================";
while(objiff.read((char *) &mt, sizeof(meter)))
{
mt.showallmeters(c);
c++;
} }
gotoxy(8,c);
cout<<"=========================================================";
objiff.close();
}
void displaycust_meterno(char mnum2[25],int k)
{
ifstream objiff;
customer cust;
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...";
}else{
//**************temporary hiding these lines
while(objiff.read((char *) &cust, sizeof(customer)))
{
if(strcmp(mnum2,cust.getmetern())==0)
{
count=1;
break;
}
}
if(count==1)
{ cust.showallcustdetails(k);
}}
objiff.close();
}
//**********************display customers***************************
void display_customer()
{
ifstream objiff;
customer cust;
int c=7;
objiff.open("customer.dat",ios::binary);
objiff.seekg(0,ios::beg);
if(!objiff)
{
cout<<"File could not be open !! Press any Key...";
}else{
//**************temporary hiding these lines
clrscr();
intromain();
gotoxy(1,5);
cout<<"NAME OF CUST."<<setw(12)<<"ADDRESS" <<setw(15)<<"MOB.NO" <<setw(12)<<"METERNO" <<setw(15)
<<"DATEODCONN";
gotoxy(1,6);
cout<<"======================================================================";
while(objiff.read((char *) &cust, sizeof(customer)))
{
cust.showallcust(c);
c++;
}
gotoxy(1,c);
cout<<"======================================================================";
}
35. objiff.close();
}
//************************************************************************
void display_bills()
{
ifstream objiff;
billing bl;
int c=7;
objiff.open("billing.dat",ios::binary);
objiff.seekg(0,ios::beg);
if(!objiff)
{
cout<<"File could not be open !! Press any Key...";
}else{
//**************temporary hiding these lines
clrscr();
intromain();
gotoxy(1,5);
cout<<"BILLNO"<<setw(8)<<"METERNO"<<setw(20)<<"CUR.-
PREV.READING"<<setw(8)<<"UNITS"<<setw(15)<<"AMT + TAX
="<<setw(10)<<"NETAMT"<<setw(10)<<"STATUS";
gotoxy(1,6);
cout<<"===============================================================================";
while(objiff.read((char *) &bl, sizeof(billing)))
{
bl.showallbill(c);
c++;
}
gotoxy(1,c);
cout<<"===============================================================================";
}
objiff.close();
}
//******************************bill records******************************
void display_billrecords()
{
ifstream objiff;
billrecord br;
objiff.open("billsrecord.dat",ios::binary);
int c=7;
objiff.seekg(0,ios::beg);
if(!objiff)
{
cout<<"File could not be open !! Press any Key...";
}else{
//**************temporary hiding these lines
clrscr();
intromain();
gotoxy(1,5);
cout<<"BILL NO"<<setw(10)<<"METERNO"<<setw(15)<<"STATUS";
gotoxy(1,6);
cout<<"===============================================================================";
while(objiff.read((char *) &br, sizeof(br)))
{
gotoxy(5,c);
cout<<br.billno<<setw(10)<<br.mrtno<<setw(15)<<br.billstatus;
c++;
}
gotoxy(1,c);
cout<<"===============================================================================";
}
36. objiff.close();
}
//**************************display bills of customer*****************************
void display_custwithbills(char mnum[25])
{
fstream fp;
billing bl;
char meternum[25];
fp.open("billing.dat",ios::binary|ios::out|ios::in);
clrscr();
intromain();
//******************get the meter no
ifstream objiff;
meter mt;
int flag=-1;
objiff.open("meter.dat",ios::binary);
objiff.seekg(0,ios::beg);
if(!objiff)
{
cout<<"File could not be open !! Press any Key...";
}
else{
//**************temporary hiding these lines
while(objiff.read((char *) &mt, sizeof(meter)))
{
if((strcmp(mnum,mt.getmeterreg())==0)&& mt.getmeterstatus()=='Y')
{
flag=1;
break;
}} }
//******************get the meter no mt.getmeterreg()
if(flag==1)
{
clrscr();
intromain();
strcpy(meternum,mt.getmeterreg());
//*****************display customer information**********
displaycust_meterno(mnum,5);
//*****************bill info
if(!fp)
{
}else{
gotoxy(1,8);
cout<<"BILLNO"<<setw(8)<<"METERNO"<<setw(20)<<"CUR.-
PREV.READING"<<setw(8)<<"UNITS"<<setw(15)<<"AMT + TAX
="<<setw(10)<<"NETAMT"<<setw(10)<<"STATUS";
gotoxy(1,9);
cout<<"===============================================================================";
int c=10;
while(fp.read((char *) &bl, sizeof(billing)))
{
if(strcmp(meternum,bl.getmtn())==0)
{
bl.showallbill(c);
c++;
}
}
gotoxy(1,c);
cout<<"===============================================================================";
}
}else
{
gotoxy(10,10);
37. cout<<"***********************no such customer record***************";
getch();
}
fp.close();
objiff.close();
}
//***********************modify th bill reading
void modify_bills(char mnum[25])
{
fstream fp;
billing bl;
char meternum[25];
fp.open("billing.dat",ios::binary|ios::out|ios::in);
clrscr();
intromain();
int pos=-1,creading=0;
//******************get the meter no
ifstream objiff;
meter mt;
int flag=-1;
objiff.open("meter.dat",ios::binary);
objiff.seekg(0,ios::beg);
if(!objiff)
{
cout<<"File could not be open !! Press any Key...";
}
else{
//**************temporary hiding these lines
while(objiff.read((char *) &mt, sizeof(meter)))
{
if((strcmp(mnum,mt.getmeterreg())==0)&& mt.getmeterstatus()=='Y')
{
flag=1;
break;
}} }
//******************get the meter no mt.getmeterreg()
if(flag==1)
{
clrscr();
intromain();
strcpy(meternum,mt.getmeterreg());
//*****************display customer information**********
displaycust_meterno(mnum,5);
while(fp.read((char *) &bl, sizeof(billing)))
{
if((strcmp(meternum,bl.getmtn())==0) && bl.getstatus()=='Y')
{
pos=(int)fp.tellg();
break;
}}
//***************************************
gotoxy(1,8);
cout<<"BILLNO"<<setw(8)<<"METERNO"<<setw(20)<<"CUR.-PREV.READING"<<setw(8) <<"UNITS" <<setw(15)
<<"AMT + TAX ="<<setw(10)<<"NETAMT"<<setw(10)<<"STATUS";
gotoxy(1,9);
cout<<"===============================================================================";
bl.showallbill(10);
gotoxy(10,11);
cout<<"Please enter the new current reading:";
gotoxy(10,12);
cin>>creading;
bl.setnewbillreading(creading);
fp.seekp(pos-sizeof(billing),ios::beg);
38. fp.write((char*)&bl,sizeof(billing));
gotoxy(10,20);
cout<<"***************bill re-created******************* ";
cin.ignore();
getch();
}else
{
gotoxy(10,20);
cout<<"***************error!!!!!!!******************* ";
}
getch();
objiff.close();fp.close();
}
//**********************set the bill record
void setoldleftamount(int r,char mn[25],float amtaddnxt,float amtdeduct)
{
ofstream objiff;
billprevrecord brprv;
objiff.open("billsprevrecord.dat",ios::binary|ios::app);
if(!objiff)
{
cout<<"File could not be open !! Press any Key...";
}else{
brprv.bno=r;
strcpy(brprv.mtrno,mn);
brprv.amtadd=amtaddnxt;
brprv.amtdud=amtdeduct;
brprv.status ='Y';
objiff.write((char *) &brprv, sizeof(billprevrecord));
}
objiff.close();
}
//***************************display transcation**************************
void displaytrans()
{
ifstream objiff;
trans tr;
objiff.open("trans.dat",ios::binary);
int c=7;
objiff.seekg(0,ios::beg);
if(!objiff)
{
cout<<"File could not be open !! Press any Key...";
}else{
//**************temporary hiding these lines
clrscr();
intromain();
gotoxy(1,5);
cout<<"TRNO"<<setw(10)<<"METERNO"<<setw(5)<<"BNO"<<setw(5)<<"DATEOFDEPOSIT"<<setw(10)<<"AMOU
NT"<<setw(10)<<"PAID"<<setw(10)<<"+ADDTONXT"<<setw(8)<<"-DEDUCT"<<setw(8)<<"STATUS";
gotoxy(1,6);
cout<<"===============================================================================";
while(objiff.read((char *) &tr, sizeof(trans)))
{
tr.showalltrans(c);
c++;
}
gotoxy(1,c);
cout<<"===============================================================================";
}
objiff.close();
}
45. *******************DISPLAY CUSTOMER DETAILS WITH BILLS***************
*************DISPLAY BILL RECORDS*********
*******************DISPLAY ALL TRANSCATIONS **********************
46. 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.
47. ADVANTAGES
• Customer does not have to wait in long queues.
• Customer does not need to worry about electricity bills reports.
• This software reduces paper work.
• It is easy to handle customer’s record.
• This software saves the time.
• Information of the customer stores permanently.
• Reading of the meter and the all bills paid information store permanently.
DISADVANTAGES
• Online facility is not available.
48. CONCLUSION
This software is efficient in maintaining customer’s
details and can easily perform operations on customer’s
electricity bills. This software also reduces the work
load of the customers.
In future, this system can launch web site for easy
online registration. In this system there is limitation for
some interior places where computer is not available. In
future, it can be extended to add more place.
49. 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.
50. Content diagram of Project/FLOWCHART
MAIN MENU
Report generator Administrator
Display all
Meters
Customer
Info.
Meters
Info.
Transcation
Display all
transactions
START
LOGIN PAGE
Add Cust.
Mod. Cust.
Del.Cust.
Add Meter
Del. Meter
Add bill Readings
Modify bill Readings
Display all
Bills
Display all bill
records
Display customer details
withal bills issued paid or
unpaid
Display customer details
with meter no.
Transcations