computerised billing system c++

52
A PROJECT REPORT ON COMPUTERISED BILLING SYSTEM SUBMITTED TO SHAH SATNAM JI Boy’s’ COLLEGE In Partial Fulfilment Of The Requirements For B.Com III (Voc.) In Computer Applications UNDER SUPERVISION OF SUBMITTED BY Mr Mandeep Singh Manoj Singh Dalal (Lect. In Computer Applications) Roll. No. 1365 SHAH SATNAM JI Boy’s COLLEGE

Upload: subhash-bajaj

Post on 11-Dec-2015

204 views

Category:

Documents


33 download

TRANSCRIPT

Page 1: COMPUTERISED BILLING SYSTEM c++

A

PROJECT REPORT

ON

COMPUTERISED BILLING SYSTEMSUBMITTED TO

SHAH SATNAM JI Boy’s’ COLLEGE

In Partial Fulfilment Of The Requirements

For B.Com III (Voc.) In Computer Applications

UNDER SUPERVISION OF SUBMITTED BY

Mr Mandeep Singh Manoj Singh Dalal

(Lect. In Computer Applications) Roll. No. 1365

SHAH SATNAM JI Boy’s COLLEGE

Sirsa

Page 2: COMPUTERISED BILLING SYSTEM c++

CERTIFICATE

It is to be certificate that Mr. Manoj Singh Dalal student ofIt is to be certificate that Mr. Manoj Singh Dalal student of

B.Com.III(Computer vocational) under roll no…1365…has completed theB.Com.III(Computer vocational) under roll no…1365…has completed the

project report entitled ‘Computerized Billing System under myproject report entitled ‘Computerized Billing System under my

supervision & guidance . The work done in the project is a result ofsupervision & guidance . The work done in the project is a result of

candidate’s own effort, hard working & dedication.candidate’s own effort, hard working & dedication.

(Supervisor)

Mr. Mandeep Singh

Lect. In Comp. Sc.

Shah Satnam Ji Boy’s College, Sirsa

Page 3: COMPUTERISED BILLING SYSTEM c++

Acknowledgement

There is always a sense of gratitude, which express to others

For the helpful and needy service they render during all phrase of life. My

heart is so much filled with gratitude for my respected “Murshid ji” for

blessings showered upon me to work on the and entitled project

“Computersied Billing System”

I pay my sincere gratitude to Mr. …T. N Chugh……….. Principal of Shah Satnam ji Boy’s College Sirsa for his guidance & Supervision .

I am also highly indebted to my guide Mr. Mandeep Singh for his kind and valuable guidance, who are not only encouraged me and carefully suggesting. Nothing i say or write will ever able to acknowledge her role in this work.

Last but not the least I am thankful to all those who directly or indirectly extend their assistance whenever possible my grateful my will self always, preserve and revere the memory of all those personalities.

Manoj Kumar Dalal Roll No…1365

B.Com Final (Voc.) Shah Satnam Ji Boy’s College,

Sirsa

Page 4: COMPUTERISED BILLING SYSTEM c++

TABLE OF CONTENTS

Sr.N NAME OF TOPICS

Page No

1. ACKNOWLEDGEMENT

2. CERTIFICATION

3. INTRODUCTION AND OBJECTIVES

4. FEASIBILITY STUDY

5. SYSTEM ANALYSIS

6. CODING6. CODING

Page 5: COMPUTERISED BILLING SYSTEM c++

7. OUTPUT7. OUTPUT

8. FUTURE SCOPE OF PROJECT

9. CONCLUSION9. CONCLUSION Introduction to C++Introduction to C++

C++ is an object-oriented language. It was developed by Bjarne Stroustrup atC++ is an object-oriented language. It was developed by Bjarne Stroustrup at AT&T Bell Laboratories in Murray Hill, New Jersey, USA, in the earlyAT&T Bell Laboratories in Murray Hill, New Jersey, USA, in the early 1980’s. Stroustrup, an admirer of Simula67 and a strong supporter of C,1980’s. Stroustrup, an admirer of Simula67 and a strong supporter of C, wanted to combine the best of both the language and create a more powerfulwanted to combine the best of both the language and create a more powerful language that could support object-oriented programming feature.language that could support object-oriented programming feature. Therefore, C++ is an extension of C with a major addition of the classTherefore, C++ is an extension of C with a major addition of the class construct feature of Simula67. Since the class was a major addition to theconstruct feature of Simula67. Since the class was a major addition to the original C language, Stroustrup initially called the new language ‘C withoriginal C language, Stroustrup initially called the new language ‘C with classes’. However, later in 1983, the name was changed to C++. The idea ofclasses’. However, later in 1983, the name was changed to C++. The idea of C++ comes from the C increment operator ++, thereby suggesting that C++ isC++ comes from the C increment operator ++, thereby suggesting that C++ is an augmented version of C.an augmented version of C. C++ is a superset of C. Most of what we already know about C C++ is a superset of C. Most of what we already know about C applies to C++ also. Therefore, almost all C programs are also C++applies to C++ also. Therefore, almost all C programs are also C++ programs. However, there are a few minor differences that will prevent a Cprograms. However, there are a few minor differences that will prevent a C program to run under C++ compiler.program to run under C++ compiler.

C++ is Object Oriented Programming

Object oriented programming languages have developed in an evolutionary manner and have become very popular over the past few years. C++ is one such language. The C++ language is the key to increased productivity and improved reliability, even when a novice programmer uses it. Programming a computer is still one of the most difficult tasks ever undertaken by mankind. To become a proficient programmer, one needs to be talented, creative, intelligent and logical thinker. C++ is a new way of

Page 6: COMPUTERISED BILLING SYSTEM c++

reasoning as to what it means to compute and how we can organize information inside a computer.

HARDWARE AND SOFTWARE REQUIREMTS:-

In our case we require the following resources:-

1) Hardware a) Pentium processor JJ with 6.79 MB (7,122,944 bytes)at Serve

b) Pentium processor JJ with 6.78 MB (7,109,837 bytes) at client.

c)Minimum secondary memory required for software is 50 MB except database .

2) Software3) C++

System AnalysisSystem Analysis

System Requirement Analysis involves obtaining a clear under-standing of the product is to be developed, with a view to removing all ambiguities and inconsistencies from the initial user perception of the problem. This may seem like a simple problem. A detailed document is prepared containing the following things

1. Outputs to be produced.2. Inputs that must be received.3. Data to be retained.4. Procedures to get the output from the given inputs.5. System Acceptance Criteria.

Preliminary InvestigationPreliminary Investigation

The request to take the assistance from the information systems can be made for many reason, but in each case someone in the organization initiate the request when the request is made, the first system activity the preliminary

Page 7: COMPUTERISED BILLING SYSTEM c++

Investigation starts. Analysts working on the preliminary investigation should accomplish the following objectives.

Clarify and understand the project request. Determine the size of the project.

1) Prototyping

The third and most efficient for every analyst including me, It is used whenThe third and most efficient for every analyst including me, It is used when user cannot establish information needs accurately before information systemuser cannot establish information needs accurately before information system is built. In this case, user needs to anchor on real life system from whichis built. In this case, user needs to anchor on real life system from which adjustments can be made. So iterative discovery approach captures an initialadjustments can be made. So iterative discovery approach captures an initial set of information requirements and builds a system to meet theseset of information requirements and builds a system to meet these requirements. Prototyping is suitable in environments where it is difficult torequirements. Prototyping is suitable in environments where it is difficult to formulate a concrete model for defining information needs of user areformulate a concrete model for defining information needs of user are evolving.evolving.

2) 2) Feasibility StudyFeasibility Study

Many feasibility studies for both users and analyst also.Many feasibility studies for both users and analyst also.First the study often presupposes that when feasibility document is being prepared, we should be in the position to evaluate solutions. Thus if a feasibility study is to serve as a decision document, it must answer three key question?

1. Is there a new and better way to do the job that will benefit the user?2. What are the cost and savings of the alternative?3. What is recommended? The feasibility tests includes the followings The feasibility tests includes the followings

1. Technical feasibility2. Economic feasibility3. Operational feasibility

Technical feasibility Technical feasibility is generally considered as the possibility of developing the proposed system within the constraints of the hardware and working set

Page 8: COMPUTERISED BILLING SYSTEM c++

of rules. The technical feasibility is generally concerned with how to develop the system exists.

Operational feasibilityThe purpose of this is to find out whether the system will work when developed and installed. The study must find out the support for the project from the management as

well as from the users. It should also find out whether there is any resistance for the project.

Page 9: COMPUTERISED BILLING SYSTEM c++

// Computerised Billing System//----------------------------------------------------------------------------

// Header Files Included//----------------------------------------------------------------------------

#include<stdio.h>#include<dos.h>

#include<string.h>#include<fstream.h>#include<ctype.h>

#include<graphics.h>#include<conio.h>

//Function prototype declarationvoid products_enter();void members_enter();

void readp();void readm();void billing();void sales();

void modifyp();void modifym();

void instructions();//----------------------------------------------------------------------------

// Function for GRAPHICS slide (cover page)//----------------------------------------------------------------------------

int gmode,gdriver,r;//----------------------------------------------------------------------------

// Structure for the products' records//----------------------------------------------------------------------------

struct products_record

Page 10: COMPUTERISED BILLING SYSTEM c++

{float rate;int stock;

int no;char name[20];

}; //end of structure//Global variable

products_record ob1,ob2; //declaring objects of the structurefstream pro1,pro2; //declaring a file stream

//----------------------------------------------------------------------------// Structure for members' records

//----------------------------------------------------------------------------

struct members_record{

int no;char name[20];char add[50];long int tel;

long int card;float amt ;

}; //end of structuremembers_record m1,m2; //creating objectsfstream mem1,mem2; //declaring streams;

//----------------------------------------------------------------------------//structure for store opertaions

//----------------------------------------------------------------------------

struct tables{

int no;int qty;

char name[20];float rate;float total;

};

tables n1,n2;int i=0;

float discount=0.0;

Page 11: COMPUTERISED BILLING SYSTEM c++

//Welcome screen of computerized billing systemvoid welcome()

{gdriver=DETECT; //request auto detection

initgraph(&gdriver,&gmode,"c:\\turboc3\\bgi"); //initialising graph

/* read result of initialization */int errorcode = graphresult();

if (errorcode != grOk) /* an error occurred */{

printf("Graphics error: %s\n", grapherrormsg(errorcode));

printf("Press any key to halt:");getch();return;

}setbkcolor(7);setcolor(15);

settextstyle(SANS_SERIF_FONT,HORIZ_DIR,5);settextstyle(7,HORIZ_DIR,7);

moveto(60,100);outtext("COMPUTERISED");

moveto(160,210);outtext("BILLING ");

moveto(160,320);outtext("SYSTEM");

delay(1000);setcolor(7);

int i=0;while(i<=2*getmaxx()-460)

{line(0,i,i,0);

i++;delay(15);

}setcolor(RED);sound(1450);

delay(20);sound(600);

for (r=150;r<230;r+=15){

circle (315,239,r);sound(350+2*r);

Page 12: COMPUTERISED BILLING SYSTEM c++

delay(19);sound(1250);

}settextstyle(8,HORIZ_DIR,1);

setcolor(LIGHTGREEN);sound(500);

delay(5);moveto(245,160);

outtext("Copyright (C)");sound(400);delay(23);

moveto(185,180);sound(350);delay(50);

sound(100);outtext("Reeta Sahoo");

moveto(240,200);sound(250);delay(40);

outtext("20006-2007 ");moveto(210,220);

outtext("All Rights Reserved");sound(400);

moveto(185,240);outtext("Code by: Reeta Sahoo");

sound(450);moveto(185,260);

delay(20);sound(600);delay(30);

outtext("Email: [email protected]");nosound();

moveto(10,450);cin.get();

closegraph(); //closing graphics screen}

//----------------------------------------------------------------------------// Function for screen setting

//----------------------------------------------------------------------------void border()

{clrscr();

Page 13: COMPUTERISED BILLING SYSTEM c++

textcolor(WHITE);for (int i=2;i<80;i++) //drawing horizontal lines

{gotoxy(i,3);

cprintf("-");gotoxy(i,23);cprintf("-");

}for (i=4;i<23;i++) //drawing vertical lines

{gotoxy(2,i);cprintf("|");gotoxy(79,i);cprintf("|");

}}

//----------------------------------------------------------------------------// Main program

//----------------------------------------------------------------------------

void main(){

clrscr();void highvideo(); //setting the intensity of text charaters to

highwelcome(); // calling the function for making the cover

pageremove("sale.dat");

int n;char l='y';

do{

textcolor(LIGHTGREEN);border(); //making the border of the screen

textcolor(LIGHTGREEN);gotoxy(30,5);

cprintf("MAIN MENU");for (int z=29;z<=40;z++)

{gotoxy(z,6);cprintf("-");

}

Page 14: COMPUTERISED BILLING SYSTEM c++

gotoxy(20,7);cprintf("1:ADD NEW PRODUCTS");

gotoxy(20,8);cprintf("2:ADD NEW MEMBERS");

gotoxy(20,9);cprintf("3:VIEW AN EXISTING PRODUCT RECORD

");gotoxy(20,10);

cprintf("4:VIEW AN EXISTING MEMBER'S RECORD ");

gotoxy(20,11);cprintf("5:BILLING ");

gotoxy(20,12);cprintf("6:TODAY'S SALES ");

gotoxy(20,13);cprintf("7:MODIFY PRODUCT RECORD ");

gotoxy(20,14);cprintf("8:MODIFY MEMBER'S RECORD ");

gotoxy(20,15);cprintf("9:INSTRUCTIONS ");

gotoxy(20,16);cprintf("0:EXIT");

gotoxy(20,19);cprintf("Enter your choice:");

cin>>n;switch(n)

{case 1: products_enter();

break;case 2: members_enter();

break;case 3: readp();

break;case 4: readm();

break;case 5: billing();

break;case 6: sales();

break;case 7: modifyp();

break;case 8: modifym();

break;

Page 15: COMPUTERISED BILLING SYSTEM c++

case 9: instructions();break;

case 0: l='n';}

} while (l=='y');clrscr();

}

//----------------------------------------------------------------------------// Function for getting the products' records

//----------------------------------------------------------------------------void products_enter()

{int q=0;

char l='y';pro1.open("products.dat",ios::in); //opening file in stream

pro1.seekg(0,ios::end); //determining end of fileq=pro1.tellg()/sizeof(products_record); //finding size of file

q+=1255;pro1.close();

pro1.open("products.dat" ,ios::app);

do{

textcolor(LIGHTBLUE);clrscr();border();

textcolor(LIGHTBLUE);gotoxy(28,2);

cprintf("ENTERING PRODUCT RECORDS ");gotoxy(15,6);

cprintf("Name :");gets(ob1.name);

if (!ob1.name[0]) //to undo entering if name is not entered

return;gotoxy(15,7);

cprintf("Stock :");cin>>ob1.stock;

gotoxy(15,8);cprintf("Rate (Rs.):");

cin>>ob1.rate;ob1.no = q++;

Page 16: COMPUTERISED BILLING SYSTEM c++

gotoxy(15,9);cprintf("Number :");

cout<<ob1.no;pro1.write((char*)&ob1,sizeof(products_record));

gotoxy(10,15);cprintf("Do you want to enter more (Y/N) ");

l=getch();} while (tolower(l)=='y');

pro1.close();}

//--------------------------------------------------------------//Function for searching in the file

//--------------------------------------------------------------products_record products_search(int no)

{fstream pro1; //declaring stream

pro1.open("products.dat" ,ios::in||ios::nocreate); //opening the file

while(pro1){

pro1.read((char*)&ob1,sizeof(products_record));//reading from file

if (ob1.no==no)return ob1; //returning the searched record

}pro1.close();

ob1.no=0;return ob1;

}

//----------------------------------------------------------------------------//Function for modifying records

//----------------------------------------------------------------------------void products_modify(int no)

{ob2.no=0;

pro1.open("products.dat",ios::in); //opening the filepro2.open("product1.dat",ios::app); //opening another file

pro1.seekg(0,ios::beg); //locating beggining of filepro1.read((char*)&ob1,sizeof(products_record));

//reading from filewhile (!pro1.eof() ) //testing for end of file

Page 17: COMPUTERISED BILLING SYSTEM c++

{if (ob1.no!=no )

pro2.write((char*)&ob1,sizeof(products_record));//writing in file

elseob2=ob1;

pro1.read((char*)&ob1,sizeof(products_record));//reading from file

}//displaying previous reccords and entering new records

if (ob2.no){

gotoxy(13,7);cprintf("CURRENT RECORDS ARE ");

gotoxy(15,8);cprintf("NAME :");

puts(ob2.name);gotoxy(15,9);

cprintf("RATE :(Rs.)");cout<<ob2.rate;gotoxy(15,10);

cprintf("STOCK :");cprintf("%d",ob2.stock);

gotoxy(13,12);cprintf("ENTER NEW PRODUCT RECORDS");

gotoxy(15,13);cprintf("NAME :");

ob1.no=ob2.no;gets(ob1.name);

if (!isalnum(ob1.name[0])) //testing for an entrystrcpy(ob1.name,ob2.name); //retaining previous

name when no entrygotoxy(15,14);

cprintf("RATE :(Rs.)");cin>>ob1.rate;if (!ob1.rate) ob1.rate=ob2.rate;

gotoxy(15,15);cprintf("STOCK :");

cin>>ob1.stock;if (!ob1.stock)ob1.stock=ob2.stock;

Page 18: COMPUTERISED BILLING SYSTEM c++

pro2.write((char*)&ob1,sizeof(products_record)); //writing in file

}else

{gotoxy(20,9);

cprintf("NO ENTRY\a");}

pro1.close(); //closing filepro2.close(); //closing file

remove ("products.dat"); //deleting filerename ("product1.dat","products.dat"); //renaming file

}

//----------------------------------------------------------------------------// Function to enter members' records

//----------------------------------------------------------------------------void members_enter()

{int m;

char l='y';//determining number of enteries in the file

mem1.open("members.dat",ios::in);mem1.seekg(0,ios::end);

m=mem1.tellg()/sizeof(members_record);mem1.close();

m+=10;clrscr();

mem1.open("members.dat",ios::app); //opening filedo{

textcolor(LIGHTCYAN);clrscr();border();

textcolor(LIGHTCYAN);gotoxy(28,2);

cprintf("ENTERING MEMBER RECORDS ");gotoxy(15,6);

cprintf("Name :");gets(m1.name);if (!m1.name[0])

return; //undo entering when no name is enteredgotoxy(15,7);

Page 19: COMPUTERISED BILLING SYSTEM c++

cprintf("Card number :");cin>>m1.card;gotoxy(15,8);

cprintf("Address :");gets(m1.add);gotoxy(15,9);

cprintf("Tel. :");cin>>m1.tel;

gotoxy(15,10);cprintf("Amount Deposited (Rs.):");

cin>>m1.amt;if (m1.amt<=100)

{gotoxy(15,11);

cprintf("Amount less\a");gotoxy(15,12);

cprintf("Try Again");goto end;}

m1.no = m++;gotoxy(15,11);

cprintf("Membership number :");cout<<m1.no;

mem1.write((char*)&m1,sizeof(members_record)); //writing in file

end:gotoxy(10,15);

cprintf("Do you want to enter more (Y/N) ");l=getch();

} while (tolower(l)=='y');mem1.close();

}

//----------------------------------------------------------------------------// Function for searching in the file

//----------------------------------------------------------------------------members_record members_search(int no)

{fstream mem2; //declaring stream

mem2.open("members.dat",ios::in); //opening filewhile (mem2)

{

Page 20: COMPUTERISED BILLING SYSTEM c++

mem2.read((char*)&m1,sizeof(members_record)); //reading from file

if (m1.no==no)return m1; //returning the searched record

}mem2.close();

m1.no=0;return m1;

}

//----------------------------------------------------------------------------// Function to modify members' records

//----------------------------------------------------------------------------void members_modify(int no)

{m2.no=0;

mem1.open("members.dat",ios::in); //opening a filemem2.open("member1.dat",ios::app); //opening another

filemem1.seekg(0,ios::beg);

mem1.read((char*)&m1,sizeof(members_record));while (!mem1.eof()) //testing for end of file

{if (m1.no!=no)

mem2.write((char*)&m1,sizeof(members_record));elsem2=m1;

mem1.read((char*)&m1,sizeof(members_record));}

//displaying current records and entering new recordsif (m2.no)

{gotoxy(13,7);

cprintf("CURRENT RECORDS ARE ");gotoxy(15,8);

cprintf("NAME :");puts(m2.name);

gotoxy(15,9);cprintf("CARD NUMBER :");

cout<<m2.card;gotoxy(15,10);

cprintf("ADDRESS :");puts(m2.add);

Page 21: COMPUTERISED BILLING SYSTEM c++

gotoxy(15,11);cprintf("TELEPHONE :");

cout<<m2.tel;gotoxy(15,12);

cprintf("AMOUNT :(Rs.)");cout<<m2.amt;gotoxy(13,14);

cprintf("ENTER NEW RECORDS");gotoxy(15,15);

cprintf("NAME :");m1.no=m2.no;gets(m1.name);if (!m1.name[0])

strcpy(m1.name,m2.name);gotoxy(15,16);

cprintf("ADDRESS :");gets(m1.add);if (!m1.add[0])

strcpy(m1.add,m2.add);gotoxy(15,17);

cprintf("CARD NUMBER :");cin>>m1.card;if (!m1.card)m1.card=m2.card;

gotoxy(15,18);cprintf("TELEPHONE :");

cin>>m1.tel;if (!m1.tel)

m1.tel=m2.tel;gotoxy(15,19);

cprintf("AMOUNT ADDED :(Rs.)");cin>>m1.amt;

m1.amt+=m2.amt;mem2.write((char*)&m1,sizeof(members_record));

}else

{gotoxy(20,10);

cprintf("NO ENTRY\a");}

mem1.close(); //closing filemem2.close(); //closing file

remove ("members.dat"); //removing file

Page 22: COMPUTERISED BILLING SYSTEM c++

rename ("member1.dat","members.dat"); //renaming file}

//----------------------------------------------------------------------------// Function for reading product records

//----------------------------------------------------------------------------void readp()

{char l='y';

do{

textcolor(LIGHTBLUE);clrscr();border();

textcolor(LIGHTBLUE);gotoxy(28,2);

cprintf("VIEWING PRODUCT RECORDS ");gotoxy(15,6);

cprintf("Enter product number:");int no;

cin>>no;ob1=products_search(no); //calling for search in the

file// displaying records

if (ob1.no){

gotoxy(18,9);cprintf("The record is");

gotoxy(20,10);cprintf(" Number :");

cout<<ob1.no;gotoxy(20,11);

cprintf(" Stock :");cout<<ob1.stock;

gotoxy(20,12);cprintf(" Name : ");

puts(ob1.name);gotoxy(20,13);

cprintf(" Rate :(Rs.)");cout<<ob1.rate;

}else

Page 23: COMPUTERISED BILLING SYSTEM c++

{gotoxy(20,10);

cprintf("NO ENTRY \a");}

gotoxy(15,16);cprintf("Any more records desired (Y/N)");

l=getch();} while(tolower(l)=='y');

}

//----------------------------------------------------------------------------// Function to pruduce screen for 'modify product records'

//----------------------------------------------------------------------------void modifyp()

{char l='y';

do{

textcolor(LIGHTBLUE);clrscr();border();

textcolor(LIGHTBLUE);gotoxy(25,2);

cprintf("MODIFYING A PRODUCT RECORD");gotoxy(15,5);

cprintf("Enter the product number:");int no;

cin>>no;products_modify(no); //calling for modifications

gotoxy(13,20);cprintf("Any more modifications desired(Y/N)");

l=getch();} while (tolower(l)=='y');

}

//----------------------------------------------------------------------------// Function to read members' records

//----------------------------------------------------------------------------void readm()

{char l='y';

do{

Page 24: COMPUTERISED BILLING SYSTEM c++

textcolor(LIGHTCYAN);clrscr();border();

textcolor(LIGHTCYAN);gotoxy(25,2);

cprintf("VIEWING A MEMBER'S RECORD ");gotoxy(15,6);

cprintf("Enter membership number:");int no;

cin>>no;m1=members_search(no); //calling for search

//displaying recordsif (m1.no)

{gotoxy(18,9);

cprintf("The record is");gotoxy(20,10);

cprintf("Number :");cout<<m1.no;gotoxy(20,11);

cprintf("Name :");puts(m1.name);gotoxy(20,12);

cprintf("Card number :");cout<<m1.card;gotoxy(20,13);

cprintf("Address :");puts(m1.add);gotoxy(20,14);

cprintf("Telephone :");cout<<m1.tel;gotoxy(20,15);

cout<<"Amount :(Rs.)"<<m1.amt;}

else{

gotoxy(17,12);cprintf("NO ENTRY\a ");

}gotoxy(15,18);

cprintf("Any more records desired (Y/N)");l=getch();

} while(tolower(l)=='y');

Page 25: COMPUTERISED BILLING SYSTEM c++

}

//----------------------------------------------------------------------------// Function to display screen for 'modify members' records

//----------------------------------------------------------------------------void modifym()

{char l='y';

do{

textcolor(LIGHTCYAN);clrscr();border();

gotoxy(25,2);cprintf("MODIFYING MEMBER'S RECORDS ");

gotoxy(15,5);cprintf("Enter the membership number:");

int no;cin>>no;

members_modify(no); //calling for modificationsgotoxy(13,22);

cprintf("Any more modifications desired(Y/N)");l=getch();

} while(tolower(l)=='y');}

//----------------------------------------------------------------------------// Function for creating 'sale.dat'

//----------------------------------------------------------------------------// Function for billing

//----------------------------------------------------------------------------void billing()

{textcolor(LIGHTRED);

clrscr();border();

textcolor(LIGHTRED);fstream b1; //declaring stream

b1.open("sale.dat",ios::app); //opening filegotoxy(30,2);

cprintf("BILLING ");gotoxy(15,7);

cprintf("Are you a member(Y/N):");

Page 26: COMPUTERISED BILLING SYSTEM c++

float less=1.0;char m;int no;

long card;m=getche();

if (tolower(m)=='y'){

gotoxy(18,9);cprintf("Enter membership number:");

cin>>no;gotoxy(18,10);

cprintf("Enter card number:");cin>>card;

m1=members_search(no);if (card!=m1.card) //checking for authenticity of the

details{

gotoxy(20,12);cprintf("Incorrect \a");

getch();return; //undoing billing process

}else

if (m1.amt>100){

less=0.95;m1.amt-=5;

}else

{gotoxy(20,12);

cprintf("Amount Less\a");gotoxy(15,15);

cprintf("Continue with normal billing(Y/N)");m=getch();

if (tolower(m)=='n')return;

}//decreasing the members' amount if the details are

correctfstream t3,t4;

t3.open("members.dat",ios::in);t4.open("member1.dat",ios::app);

Page 27: COMPUTERISED BILLING SYSTEM c++

t3.seekg(0,ios::beg);t3.read((char*)&m2,sizeof(members_record));

while (!t3.eof()){

if (m2.no!=m1.no)

t4.write((char*)&m2,sizeof(members_record));else

t4.write((char*)&m1,sizeof(members_record));t3.read((char*)&m2,sizeof(members_record));

}t3.close();t4.close();

remove("members.dat");rename("member1.dat","members.dat");

}clrscr();

float total=0.0;textcolor(LIGHTGREEN);

gotoxy(60,1);cprintf("p.no.= 0:Exit Billing");

textcolor(LIGHTRED);gotoxy(30,1);

cprintf("BILLING");i=0;

void table1(); //function declaration for making tablebeg: //giving line a name for further reference

table1(); //calling function for making tablegotoxy(4,6+i);cin>>n1.no;

ob1=products_search(n1.no); //searching for product record

gotoxy(56,6+i);float output1(products_record); //declaring a nested function

if (n1.no>0){

if(ob1.no>0){

cin>>n1.qty;strcpy(n1.name,ob1.name);

n1.rate=ob1.rate;n1.total=output1(ob1);

Page 28: COMPUTERISED BILLING SYSTEM c++

total+=n1.total;fstream t3,t4;

t3.open("sale.dat",ios::in);t4.open("sale1.dat",ios::app);

t3.seekg(0,ios::beg);int qty=n1.qty;

n1.qty=n1.total/n1.rate;char test='y';

t3.read((char*)&n2,sizeof(tables));while (!t3.eof())

{if (n1.no==n2.no)

{n2.qty+=n1.qty;

n2.total+=n1.total;test='n';}

t4.write((char*)&n2,sizeof(tables));t3.read((char*)&n2,sizeof(tables));

}if (test=='y')

{t4.seekg(0,ios::end);

t4.write((char*)&n1,sizeof(tables));}

t3.close();t4.close();

remove("sale.dat");rename("sale1.dat","sale.dat");

n1.qty=qty;if (n1.total)

{//reducing the products' stock

fstream temp3,temp4;temp3.open("products.dat",ios::in);

temp4.open("product1.dat",ios::app);temp3.seekg(0,ios::beg);

temp3.read((char*)&ob1,sizeof(products_record));while (!temp3.eof())

{if (ob1.no==n1.no)

ob1.stock-=n1.qty;

Page 29: COMPUTERISED BILLING SYSTEM c++

temp4.write((char*)&ob1,sizeof(products_record));

temp3.read((char*)&ob1,sizeof(products_record));}

temp3.close();temp4.close();

remove("products.dat");rename("product1.dat","products.dat");

}i++;

goto beg;}

elseif (ob1.no==0)

{gotoxy(10,6+i);

cprintf("No entry\a");i++;

goto beg;}

}else

if (n1.no==0){

textcolor(WHITE);for (int j=0;j<81;j++) //ending table

{gotoxy(j,6+i);cprintf("-");

}}

textcolor(LIGHTRED);gotoxy(5,9+i);

cprintf("Number of items = ");cout<<i;

gotoxy(5,10+i);cprintf("Grand total = Rs.");

cout<<total;//giving discount

if (less!=1){

discount+=0.05*total;

Page 30: COMPUTERISED BILLING SYSTEM c++

gotoxy(5,12+i);cprintf("Discount = Rs.");

cout<<0.05*total;gotoxy(5,13+i);

cprintf("Net total = Rs.");cout<<less*total;

}b1.close();

getch();}

Page 31: COMPUTERISED BILLING SYSTEM c++

MAIN MENU ------------ 1:ADD NEW PRODUCTS 2:ADD NEW MEMBERS 3:VIEW AN EXISTING PRODUCT RECORD 4:VIEW AN EXISTING MEMBER'S RECORD 5:BILLING 6:TODAY'S SALES 7:MODIFY PRODUCT RECORD 8:MODIFY MEMBER'S RECORD 9:INSTRUCTIONS 0:EXIT

Enter your choice: 1

ENTERING PRODUCT RECORDS ------------------------------------------------------------------------------

Name :amit Stock :5647 Rate (Rs.):56 Number :1263

| Do you want to enter more (Y/N)

Page 32: COMPUTERISED BILLING SYSTEM c++

VIEWING PRODUCT RECORDS ------------------------------------------------------------------------------

Enter product number:1266

The record is Number :1266

Stock :2345 Name : rahul Rate :(Rs.)75

Any more records desired (Y/N)

BILLING p.no.= 0:Exit Billing________________________________________________________________________________

Product number Product name Rate (Rs.) Quantity Total (Rs.) (Kgs/pcs) 1 No entry 1266 rahul 75 23 1725 1256 PASTE 25 67 1675 1287 No entry 1258 RUBBER 23 Out of stock 1263 amit 56 45 2520 1265 rahul 45 32 1440

Page 33: COMPUTERISED BILLING SYSTEM c++

ENTERING MEMBER RECORDS ------------------------------------------------------------------------------

Name :ramit Card number :12

Address :sirsa Tel. :2235798

Amount Deposited (Rs.):200000 Membership number :10

Do you want to enter more (Y/N)

MODIFYING MEMBER'S RECORDS ------------------------------------------------------------------------------

Enter the membership number:10

CURRENT RECORDS ARE

NAME :ramit CARD NUMBER :12

ADDRESS :sirsa TELEPHONE :2235798 AMOUNT :(Rs.)200000

ENTER NEW RECORDS

Page 34: COMPUTERISED BILLING SYSTEM c++

NAME :

VIEWING A MEMBER'S RECORD ------------------------------------------------------------------------------

Enter membership number:10

The record is Number :10 Name :ramit

Card number :12 Address :sirsa

Telephone :2235798 Amount :(Rs.)200000

Any more records desired (Y/N)

------------------------------------------------------------------------------

HELP INDEX -----------

1:ADD RECORDS 2:VIEWING RECORDS

3:MODIFYING RECORDS 4:BILLING PROCEDURE

5:TODAY'S SALES

Page 35: COMPUTERISED BILLING SYSTEM c++

6:MEMBERSHIP DETAILS 0:BACK TO MAIN MENU

Enter your choice: 1

Entering Records

------------------------------------------------------------------------------ For Products

products to their store. The existing product records are not affected by this option. The new record(s) are appended at the end

of the file containing such records namely 'products.dat'. This option automatically assigns a product number to the product which

must be remembered for any product reference.

For members This option works just like its counterpart for products. It stores

records in the file 'members.dat' and assigns a membership number for every new entry. For further details see the help section on

'Membership Rules'. TODAY'S SALES

--------------------------------------------------------------------------------

Grand total = Rs.0

Discount = Rs.0 Net total = Rs.0

Page 36: COMPUTERISED BILLING SYSTEM c++

ADVANTAGES AND DISADVANGES OF “COMPUTERISED BILLING SYSTEM”

This project is based on “COMPUTERISED BILLING SYSTEM”. Through this project we can have efficient billing system having features save time, having high accuracy. The disadvantage of this project is even the changing of single digit make lead record incorrectAnd processing.

Page 37: COMPUTERISED BILLING SYSTEM c++

CONCLUSION

The designed document of the project naming “COMPUTERISED

BILLING SYSTEM” is an efficient way of solving all the required function. I

have such beneficial document that can help me wherever I need it and it is a

long term project sustaining the reliability and can be maintained easily

without any efforts. The testing cases applied during the implementation are

too less in amount and number, beside this, the debugging of the reported

steps are too easy and

The one of the wide feature of the designed project is that its

maintenance either it is perfective, adaptive or the corrective are suitable for

any environment.

Page 38: COMPUTERISED BILLING SYSTEM c++

FUTURE SCOPE

Infact this prepared project not for the general use , but if we talk about the

scientific field then we can find it very effective in each and every aspect of

our daily life. If we consider to determine the power consumption in our

electric field then we can calculate it easily by knowing the work and the time

for which the specified work is performed.

The most beneficial future utility is that it is an integrated form of all the

various modules concerning the electrical devices and machines that are

going to be used in the present era, and having a wide utility for the future

use.

Page 39: COMPUTERISED BILLING SYSTEM c++

BIBLIOGRAPHY:

BOOKS AUTHOR

OBJECTORIENTED

E.BALAGURUSWAMI

PROGRAMMING WITH C++

OOP HAVING C++ ABHISHEK SAGAR