Académique Documents
Professionnel Documents
Culture Documents
FULL PROJECT ON
1
SUPER MARKET BILLING
STUDENT PROFILE
MOBILE :- ) +919571571523
2
SUPER MARKET BILLING
CERTIFICATE
3
SUPER MARKET BILLING
ACKNOWLEDGEMENT
4
SUPER MARKET BILLING
Table of Contents
THE FEATURES OF C++ AS A LANGUAGE
OVERVIEW OF C++:-
FEATURES OF SMB
INTRODUCTION
DESIGN
HARDWARE USED
SOFTWARE USED
5
SUPER MARKET BILLING
INTRODUCTION FUNCTION
BIBLIOGRAPHY
6
SUPER MARKET BILLING
OVERVIEW OF C++ :-
7
SUPER MARKET BILLING
C++ Compiler:
This is actual C++ compiler, which will be used to compile your source
code into final executable program.
Most C++ compilers don't care what extension you give your source code,
but if you don't specify otherwise, many will use .cpp by default
Most frequently used and free available compiler is GNU C/C++ compiler;
otherwise you can have compilers either from HP or Solaris if you have
respective Operating Systems.
#include <iostream>
using namespace std;
int main()
{
cout << "Hello World"; // prints Hello World
return 0;
}
PREPROCESSOR
8
SUPER MARKET BILLING
Comments in C++
C++ supports single line and multi-line comments. All characters available
inside any comment are ignored by C++ compiler.
C++ comments start with /* and end with */. For example:
/* This is a comment */
A comment can also start with //, extending to the end of the line. For
example:
#include <iostream>
using namespace std;
main()
{
cout << "Hello World"; // prints Hello World
return 0;
}
9
SUPER MARKET BILLING
Type Keyword
Boolean bool
Character char
Integer int
Floating point float
Double floating point double
Valueless void
Wide character wchar_t
C++ Constants/Literals:
Constants refer to fixed values that the program may not alter and they are
called literals.
Constants can be of any of the basic data types and can be divided in
Integer Numerals, Floating-Point Numerals, Characters, Strings and
Boolean Values.
Again, constants are treated just like regular variables except that their
values cannot be modified after their definition.
10
SUPER MARKET BILLING
C++ allows the char, int, and double data types to have modifiers
preceding them. A modifier is used to alter the meaning of the base type so
that it more precisely fits the needs of various situations.
signed
unsigned
long
short
The modifiers signed and unsigned can also be used as prefix to long or
short modifiers. For example unsigned long int.
unsigned x;
unsigned int y;
auto
register
static
extern
mutable
C++ Operators:
An operator is a symbol that tells the compiler to perform specific
mathematical or logical manipulations. C++ is rich in built-in operators and
provides following type of operators:
11
SUPER MARKET BILLING
Statement Description
An if statement consists of a boolean expression
if statement
followed by one or more statements.
An if statement can be followed by an optional
if...else statement else statement, which executes when the
boolean expression is false.
A switch statement allows a variable to be tested
switch statement
for equality against a list of values.
You can use one if or else if statement inside
nested if statements
another if or else if statement(s).
You can use one swicth statement inside another
nested switch statements
switch statement(s).
C++ Functions:
12
SUPER MARKET BILLING
Numbers in C++:
Following a simple example to show few of the mathematical operations on
C++ numbers:
#include <iostream>
#include <cmath>
using namespace std;
int main ()
{
// number definition:
short s = 10;
int i = -1000;
long l = 100000;
float f = 230.47;
double d = 200.374;
// mathematical operations;
cout << "sin(d) :" << sin(d) << endl;
cout << "abs(i) :" << abs(i) << endl;
13
SUPER MARKET BILLING
return 0;
}
C++ Arrays:
Following is an example, which will show array declaration, assignment
and accessing arrays in C++:
#include <iostream>
using namespace std;
#include <iomanip>
using std::setw;
int main ()
{
int n[ 10 ]; // n is an array of 10 integers
return 0;
}
C++ Strings:
C++ provides following two types of string representations:
14
SUPER MARKET BILLING
The standard C++ library provides a string class type that supports all the
operations mentioned above, additionally much more functionality.
Following is the example:
#include <iostream>
#include <string>
int main ()
{
string str1 = "Hello";
string str2 = "World";
string str3;
return 0;
}
class Box
{
public:
double length; // Length of a box
double breadth; // Breadth of a box
double height; // Height of a box
};
15
SUPER MARKET BILLING
Both of the objects Box1 and Box2 will have their own copy of data
members.
#include <iostream>
class Box
{
public:
double length; // Length of a box
double breadth; // Breadth of a box
double height; // Height of a box
};
int main( )
{
Box Box1; // Declare Box1 of type Box
Box Box2; // Declare Box2 of type Box
double volume = 0.0; // Store the volume of a box here
// box 1 specification
Box1.height = 5.0;
Box1.length = 6.0;
Box1.breadth = 7.0;
// box 2 specification
Box2.height = 10.0;
Box2.length = 12.0;
Box2.breadth = 13.0;
16
SUPER MARKET BILLING
// volume of box 1
volume = Box1.height * Box1.length * Box1.breadth;
cout << "Volume of Box1 : " << volume <<endl;
// volume of box 2
volume = Box2.height * Box2.length * Box2.breadth;
cout << "Volume of Box2 : " << volume <<endl;
return 0;
}
C++ Inheritance:
One of the most important concepts in object-oriented programming is that
of inheritance. Inheritance allows us to define a class in terms of another
class which makes it easier to create and maintain an application. This also
provides an opportunity to reuse the code functionality and fast
implementation time.
A class can be derived from more than one classes, which means it can
inherit data and functions from multiple base classes. To define a derived
class, we use a class derivation list to specify the base class(es). A class
derivation list names one or more base classes and has the form:
Consider a base class Shape and its derived class Rectangle as follows:
#include <iostream>
// Base class
class Shape
{
17
SUPER MARKET BILLING
public:
void setWidth(int w)
{
width = w;
}
void setHeight(int h)
{
height = h;
}
protected:
int width;
int height;
};
// Derived class
class Rectangle: public Shape
{
public:
int getArea()
{
return (width * height);
}
};
int main(void)
{
Rectangle Rect;
Rect.setWidth(5);
Rect.setHeight(7);
return 0;
}
C++ Overloading
C++ allows you to specify more than one definition for a function name or
an operator in the same scope, which is called function overloading and
operator overloading respectively.
Following is the example where same function print() is being used to print
different data types:
18
SUPER MARKET BILLING
#include <iostream>
using namespace std;
class printData
{
public:
void print(int i) {
cout << "Printing int: " << i << endl;
}
void print(double f) {
cout << "Printing float: " << f << endl;
}
void print(char* c) {
cout << "Printing character: " << c << endl;
}
};
int main(void)
{
printData pd;
return 0;
}
Polymorphism in C++
C++ polymorphism means that a call to a member function will cause a
different function to be executed depending on the type of object that
invokes the function.
Consider the following example where a base class has been derived by
other two classes and area() method has been implemented by the two
sub-classes with different implementation.
#include <iostream>
using namespace std;
19
SUPER MARKET BILLING
class Shape {
protected:
int width, height;
public:
Shape( int a=0, int b=0)
{
width = a;
height = b;
}
int area()
{
cout << "Parent class area :" <<endl;
return 0;
}
};
class Rectangle: public Shape{
public:
Rectangle( int a=0, int b=0)
{
Shape(a, b);
}
int area ()
{
cout << "Rectangle class area :" <<endl;
return (width * height);
}
};
class Triangle: public Shape{
public:
Triangle( int a=0, int b=0)
{
Shape(a, b);
}
int area ()
{
cout << "Triangle class area :" <<endl;
return (width * height / 2);
}
};
// Main function for the program
int main( )
{
Shape *shape;
Rectangle rec(10,7);
Triangle tri(10,5);
20
SUPER MARKET BILLING
return 0;
}
For example, in C++ we use classes to define our own abstract data types
(ADT). You can use the cout object of class ostream to stream data to
standard output like this:
#include <iostream>
using namespace std;
int main( )
{
cout << "Hello C++" <<endl;
return 0;
}
Here, you don't need to understand how cout displays the text on the
user's screen. You need only know the public interface and the underlying
implementation of cout is free to change.
21
SUPER MARKET BILLING
C++ supports the properties of encapsulation and data hiding through the
creation of user-defined types, called classes. We already have studied
that a class can contain private, protected and public members. By
default, all items defined in a class are private. For example:
class Box
{
public:
double getVolume(void)
{
return length * breadth * height;
}
private:
double length; // Length of a box
double breadth; // Breadth of a box
double height; // Height of a box
};
To read and write from a file requires another standard C++ library called
fstream which defines three new data types:
22
SUPER MARKET BILLING
Following is the C++ program, which opens a file in reading and writing
mode. After writing information inputted by the user to a file named
afile.dat, the program reads information from the file and outputs it onto the
screen:
#include <fstream>
#include <iostream>
using namespace std;
int main ()
{
char data[100];
// again read the data from the file and display it.
23
SUPER MARKET BILLING
return 0;
}
Features of SMB
24
SUPER MARKET BILLING
1. Easy Interface :
3. Reliability :
SMB is reliable software. One can rely on the result
produced by this software. We try to remove all the
errors from it and make it Error free but it can be error
prone.
4. Compact Coding :
25
SUPER MARKET BILLING
26
SUPER MARKET BILLING
To develop a project the first necessity was to get the in-depth knowledge of C++ and also
analyze the requirement of some projects.
Features
As this project is very large, so to maintain its readability we have divided this whole
project in various functional components. This feature provides accuracy, less execution
Selection of language
After Analysing the main problem was to select an appropriate programming language.
We have selected C++ for developing this software because its very user friendly and
Coding
It is the actual stage where we wrote instructions in C++ to implement the Project.
27
SUPER MARKET BILLING
HARDWARE USED
Memory :- 1 GB RAM
Hard disk :- 80 GB
Monitor :- 17 Inch LG
28
SUPER MARKET BILLING
SOFTWARE USED
29
SUPER MARKET BILLING
30
SUPER MARKET BILLING
#include<conio.h>
#include<stdio.h>
#include<process.h>
#include<fstream.h>
31
SUPER MARKET BILLING
class product
{
int pno;
char name[50];
float price,qty,tax,dis;
public:
void create_product()
{
cout<<"\nPlease Enter The Product No. of The Product ";
cin>>pno;
cout<<"\n\nPlease Enter The Name of The Product ";
gets(name);
cout<<"\nPlease Enter The Price of The Product ";
cin>>price;
cout<<"\nPlease Enter The Discount (%) ";
cin>>dis;
}
void show_product()
{
cout<<"\nThe Product No. of The Product : "<<pno;
cout<<"\nThe Name of The Product : ";
puts(name);
cout<<"\nThe Price of The Product : "<<price;
cout<<"\nDiscount : "<<dis;
}
int retpno()
{return pno;}
float retprice()
{return price;}
char* retname()
{return name;}
int retdis()
{return dis;}
32
SUPER MARKET BILLING
fstream fp;
product pr;
void write_product()
{
fp.open("Shop.dat",ios::out|ios::app);
pr.create_product();
fp.write((char*)&pr,sizeof(product));
fp.close();
cout<<"\n\nThe Product Has Been Created ";
getch();
}
void display_all()
{
clrscr();
cout<<"\n\n\n\t\tDISPLAY ALL RECORD !!!\n\n";
fp.open("Shop.dat",ios::in);
while(fp.read((char*)&pr,sizeof(product)))
{
pr.show_product();
cout<<"\n\n====================================\n";
getch();
}
fp.close();
getch();
}
void display_sp(int n)
{
int flag=0;
fp.open("Shop.dat",ios::in);
while(fp.read((char*)&pr,sizeof(product)))
{
if(pr.retpno()==n)
{
clrscr();
pr.show_product();
33
SUPER MARKET BILLING
flag=1;
}
}
fp.close();
if(flag==0)
cout<<"\n\nrecord not exist";
getch();
}
FUNCTION TO MODIFY RECORD OF FILE:-
void modify_product()
{
int no,found=0;
clrscr();
cout<<"\n\n\tTo Modify ";
cout<<"\n\n\tPlease Enter The Product No. of The Product";
cin>>no;
fp.open("Shop.dat",ios::in|ios::out);
while(fp.read((char*)&pr,sizeof(product)) && found==0)
{
if(pr.retpno()==no)
{
pr.show_product();
cout<<"\nPlease Enter The New Details of Product"<<endl;
pr.create_product();
int pos=-1*sizeof(pr);
fp.seekp(pos,ios::cur);
fp.write((char*)&pr,sizeof(product));
cout<<"\n\n\t Record Updated";
found=1;
}
}
fp.close();
if(found==0)
cout<<"\n\n Record Not Found ";
getch();
}
void delete_product()
{
int no;
clrscr();
cout<<"\n\n\n\tDelete Record";
cout<<"\n\nPlease Enter The product no. of The Product You Want To Delete";
cin>>no;
fp.open("Shop.dat",ios::in|ios::out);
34
SUPER MARKET BILLING
fstream fp2;
fp2.open("Temp.dat",ios::out);
fp.seekg(0,ios::beg);
while(fp.read((char*)&pr,sizeof(product)))
{
if(pr.retpno()!=no)
{
fp2.write((char*)&pr,sizeof(product));
}
}
fp2.close();
fp.close();
remove("Shop.dat");
rename("Temp.dat","Shop.dat");
cout<<"\n\n\tRecord Deleted ..";
getch();
}
void menu()
{
clrscr();
fp.open("Shop.dat",ios::in);
if(!fp)
{
cout<<"ERROR!!! FILE COULD NOT BE OPEN\n\n\n Go To Admin Menu to
create File";
cout<<"\n\n\n Program is closing ....";
getch();
exit(0);
}
cout<<"\n\n\t\tProduct MENU\n\n";
cout<<"====================================================\n";
cout<<"P.NO.\t\tNAME\t\tPRICE\n";
cout<<"====================================================\n";
while(fp.read((char*)&pr,sizeof(product)))
{
cout<<pr.retpno()<<"\t\t"<<pr.retname()<<"\t\t"<<pr.retprice()<<endl;
}
fp.close();
}
35
SUPER MARKET BILLING
void place_order()
{
int order_arr[50],quan[50],c=0;
float amt,damt,total=0;
char ch='Y';
menu();
cout<<"\n============================";
cout<<"\n PLACE YOUR ORDER";
cout<<"\n============================\n";
do{
cout<<"\n\nEnter The Product No. Of The Product : ";
cin>>order_arr[c];
cout<<"\nQuantity in number : ";
cin>>quan[c];
c++;
cout<<"\nDo You Want To Order Another Product ? (y/n)";
cin>>ch;
}while(ch=='y' ||ch=='Y');
cout<<"\n\nThank You For Placing The Order";getch();clrscr();
cout<<"\n\n********************************INVOICE**********************
**\n";
cout<<"\nPr No.\tPr Name\tQuantity \tPrice \tAmount \tAmount after discount\n";
for(int x=0;x<=c;x++)
{
fp.open("Shop.dat",ios::in);
fp.read((char*)&pr,sizeof(product));
while(!fp.eof())
{
if(pr.retpno()==order_arr[x])
{
amt=pr.retprice()*quan[x];
damt=amt-(amt*pr.retdis()/100);
cout<<"\n"<<order_arr[x]<<"\t"<<pr.retname()<<"\t"<<quan[x]<<"\t\t"<<pr.retprice()<<
"\t"<<amt<<"\t\t"<<damt;
total+=damt;
}
fp.read((char*)&pr,sizeof(product));
}
fp.close();
}
cout<<"\n\n\t\t\t\t\tTOTAL = "<<total;
getch();
}
36
SUPER MARKET BILLING
INTRODUCTION FUNCTION :-
void intro()
{
clrscr();
gotoxy(31,11);
cout<<"SUPER MARKET";
gotoxy(35,14);
cout<<"BILLING";
gotoxy(35,17);
cout<<"PROJECT";
cout<<"\n\nMADE BY : HIMANSHU PUROHIT";
cout<<"\n\nSCHOOL : M.S.KAWAR INTERNATIONAL SCHOOL";
getch();
37
SUPER MARKET BILLING
void admin_menu()
{
clrscr();
char ch2;
cout<<"\n\n\n\tADMIN MENU";
cout<<"\n\n\t1.CREATE PRODUCT";
cout<<"\n\n\t2.DISPLAY ALL PRODUCTS";
cout<<"\n\n\t3.QUERY ";
cout<<"\n\n\t4.MODIFY PRODUCT";
cout<<"\n\n\t5.DELETE PRODUCT";
cout<<"\n\n\t6.VIEW PRODUCT MENU";
cout<<"\n\n\t7.BACK TO MAIN MENU";
cout<<"\n\n\tPlease Enter Your Choice (1-7) ";
ch2=getche();
switch(ch2)
{
case '1': clrscr();
write_product();
break;
case '2': display_all();break;
case '3':
int num;
clrscr();
cout<<"\n\n\tPlease Enter The Product No. ";
cin>>num;
display_sp(num);
break;
case '4': modify_product();break;
case '5': delete_product();break;
case '6': menu();
getch();
case '7': break;
default:cout<<"\a";admin_menu();
}
}
38
SUPER MARKET BILLING
void main()
{
char ch;
intro();
do
{
clrscr();
cout<<"\n\n\n\tMAIN MENU";
cout<<"\n\n\t01. CUSTOMER";
cout<<"\n\n\t02. ADMINISTRATOR";
cout<<"\n\n\t03. EXIT";
cout<<"\n\n\tPlease Select Your Option (1-3) ";
ch=getche();
switch(ch)
{
case '1': clrscr();
place_order();
getch();
break;
case '2': admin_menu();
break;
case '3':exit(0);
default :cout<<"\a";
}
}while(ch!='3');
}
//***************************************************************
END OF PROJECT
//***************************************************************
39
SUPER MARKET BILLING
40
SUPER MARKET BILLING
41
SUPER MARKET BILLING
42
SUPER MARKET BILLING
43
SUPER MARKET BILLING
44
SUPER MARKET BILLING
45
SUPER MARKET BILLING
1. WWW.GOOGLE.COM
2. WWW.1000PROJECTS.COM
3. Problem Solving with C++ - The Object of
Programming by Walter Savitch,
Fifth Edition, Addison-Wesley Pub.
4. Beginning C++ Game Programming by
Michael Dawson, Second Edition,
Cengage Learning Pub.
46
SUPER MARKET BILLING
47