Submitted by -
Under the guidance of -
Palash Chaturvedi
Mr. Manoj Lukose
Class – XII A Roll No - 1673783
CERTIFICATE
This is to certify that the project developed by Palash Chaturvedi of class XII – A entitled Shop Management, is bonafide work of the student in the Computer Science Lab during the academic year 201314 is carried out with the consultation of Teacher Incharge.
__________________ ___________________
Examiner’s Signature Mr. Manoj Lukose (Teacher Incharge)
ACKNOLEDGEMENT It is with great pleasure that I find myself penning down these lines to express my sincere thanks to various people who helped me a long way in completing this project.
The harmonious climate in our school provided proper guide for preparing the project. It was a privilege to have been guided by our computer teacher.
Thanks to all my classmates who helped me during development of this project with their constructive criticism and advice.
CONTENTS
1.
Overview
2.
Introduction to C++
3.
Header files used
4.
Hardware and Software requirements
5.
Flowchart
6.
Source codes
7.
Outputs
8.
Bibliography
OVERVIEW This is a Shop Management software which can be used by Store Keepers to manage product details available in their store and for Billing Purpose. In this application, we allow store keepers to enter the details of the products available in their store, to view them, to delete them, and prepare bills. Features provided by this project are as follows: 1. Storing details of products: All the details of the products like product no., product name, price can be stored in the database. 2. Display product details: Store keepers can view all the details of the product available in their store at any time.
3. Delete: This feature is also supported by this project. The list of the products can be deleted any time and can be re created as per their needs. 4. Billing : With the help of this feature user can get the whole list of the products on the billing menu, so the user just need to enter the product no. and all the details of that product will automatically be displayed on the bill, with the total amount that the customer needs to pay.
INTRODUCTION TO C++
The C++ programming language was developed at AT&T bell laboratories in the early 1980’s by Bjarne Stroustrup. He found ‘C’ lacking for stimulations and decided to extend the language by adding features from Simula 67 which was one of the earliest object oriented languages. The name C++ was coined by Rick Mascitti where ‘++’ is the ‘C’ increment operator. Ever since its birth, C++ involved coping with problems encountered by users and through discussions at AT&T. However, the maturation of the language is attested to by two events: 1. Formation of ANSI C++ committee. 2. Publication of “The Annotated C++ Reference Manual“ by Ellis & Stroustrup.
C++ is one of the most popular programming languages and is implemented on a wide variety of hardware and operating system platforms. As an efficient compiler to native code, its application domains include systems software, application software, device drivers, embedded software, high-performance server and client applications, and entertainment software such as video games.
FEATURES OF C++ PROGRAMS In C++, you can develop new data types that contain functional descriptions (member functions) as well as data representations. These new data types are called classes. The work of developing such classes is known as data abstraction. You can work with a combination of classes from established class libraries, develop your own classes, or derive new classes from existing classes by adding data descriptions and functions. New classes can contain (inherit) properties from one or more classes. The classes describe the data types and functions available, but they can hide (encapsulate) the implementation details from the client programs. You can define a series of functions with different argument types that all use the same function name. This is called function overloading. A function can have the same name and argument types in base and derived classes. Declaring a class member function in a base class allows you to override its implementation in a derived class. If you use virtual functions, class-dependent behavior may be determined at run time. This ability to select functions at run time, depending on data types, is called polymorphism. Every C++ program must have a function named main (). Program execution begins at main () and continues by sequentially executing the statements within main (). A program terminates normally following execution of the last statement of main (). Curly braces ({&}) is used to express grouping of statements in C++. Every executable statement in C++ must be terminated by a semicolon (;).
OOP CONCEPTS IN C++
The Object Oriented Programming has been developed with a view to overcome the drawbacks of the conventional programming approaches. The OOP approach is based on certain oncepts that help it attain its goal of overcoming the drawbacks or shortcomings of conventional programming approaches. These general concepts of OOP are given below:
DATA ABSTRACTION
In C++, you can develop new data types that contain functional descriptions (member functions) as well as data representations. These new data types are called classes. The work of developing such classes is known as data abstraction. You can work with a combination of classes from established class libraries, develop your own classes, or derive new classes from existing classes by adding data descriptions and functions. New classes can contain (inherit) properties from one or more classes. The classes describe the data types and functions available, but they can hide (encapsulate) the implementation details from the client programs.
INHERITANCE
It is the capability of one class of things to inherit capability or properties from another class. Inheritance allows one data type to acquire properties of other data types. Inheritance from a base class may be declared as public, protected, or private. This access specifier determines whether unrelated and derived classes can access the inherited public and protected members of the base class. Only public inheritance corresponds to what is usually meant by "inheritance". The other two forms are much less frequently used. If the access specifier is omitted, a "class" inherits privately, while a "struct" inherits publicly.
POLYMORPHISM It is the ability for a message to be processed in more than one form. Declaring a class member function in a base class allows you to override its implementation in a derived class. If you use virtual functions, class-dependent behavior may be determined at run time. This ability to select functions at run time, depending on data types, is called polymorphism
SOME IMPORTANT DATA TYPES IN C++
ARRAYS Arrays refer to a named list of a finite number n of similar data elements. They maybe 1-dimensional, 2-dimensional or multidimensional. Example :
float A[30];
FUNCTION It is a named part of program, which can be invoked from other parts of the program as often needed.
POINTER It is a variable which holds a memory address. This address is usually the location of another variable in memory. Example :
char *ptr;
CLASS It represents a group of similar objects. A class describes all the properties of a data type and an object is an entity created according to that description.
HEADER FILES USED iostream.h fstream.h process.h conio.h stdio.h string.h dos.h graphics.h
SOFTWARE AND HARDWARE REQUIREMENTS
SOFTWARE REQUIREMENTS: Platform:windows 98/xp/2000. Front end: turbo c++ version-3.0. Back end: DOS file support.
HARDWARE REQUIREMENTS: PIII 500 MH2 or higher. RAM 64 MB or more. HOD capacity 2GB or more.
FLOWCHART START
CHOICE
1
Make a purchase
2
Admin menu Create a Product Display list Delete
Exit 3
SOURCE CODE #include
#include #include #include #include #include #include #include
int p_no,choice1; int logo(); int intro(); void last();
class product { int prod_no,qty; char prod_name[30]; float prod_mrp,price; public:
void display_product(); char* retprodname(); int retprodno(); float retprodprice();
void create_product() { cout<<"\n Enter product no.: "; cin>>prod_no; cout<<"\nEnter product name :"; gets(prod_name); cout<<"\nEnter rate of product :"; cin>>prod_mrp; } };
void product::display_product() { cout<<"\nTHe Product no is :"<
cout<<"\nThe price of product is :"<
int product::retprodno() {return prod_no;}
char* product::retprodname() {return prod_name;}
float product::retprodprice() {return prod_mrp;}
void write_product() { fstream fp1; product p; fp1.open("shop.dat",ios::app|ios::binary); p.create_product(); fp1.write((char*)&p,sizeof(product)); fp1.close();
cout<<"\n\nThe Product has been created"; delay(1000); }
void displayall() { fstream fp; product p; clrscr(); cout<<"\n\n\n\t\tDISPLAY ALL RECORDS!!!\n\n"; fp.open("shop.dat",ios::in|ios::binary); while(fp.read((char*)&p,sizeof(product))) { p.display_product(); cout<<"\n\n getch(); } fp.close(); //delay(2500); }
\n\n";
void delete_product() { fstream fp; product p; char y; clrscr(); cout<<"\nAre you Sure You Want to Delete the records?? (Y or N)\a\a\a\n"; cin>>y; if(y=='y'||y=='Y') { cout<<"\n\n\tRecord Deleted .."; delay(1000); fp.open("Shop.dat",ios::in|ios::out|ios::binary); fstream fp2; fp2.open("Temp.dat",ios::out|ios::binary);
remove("Shop.dat"); rename("Temp.dat","Shop.dat"); } }
void menu() { fstream fp; product p; clrscr(); fp.open("Shop.dat",ios::in|ios::binary); if(!fp) { cout<<"ERROR!!! FILE COULD NOT BE OPEN\n\n\n Go To Admin Menu to create a file"; getch(); exit(0); } cout<<"\n\n\t\t\t\tProduct MENU\n\n"; cout<<"\t################################################ #############\n"; cout<<"\t\t P.NO.\t\tNAME\t\tPRICE\n"; cout<<"\t################################################ #############\n";
while(fp.read((char*)&p,sizeof(product))) {
cout<<"\t\t "<
void placeorder() { fstream fp; product p; int order_arr[30],l=0,quan[30]; float total=0; char ch='Y'; menu(); cout<<"\n\n\t\t\t============================"; cout<<"\n\t\t\t
PLACE YOUR ORDER";
cout<<"\n\t\t\t============================\n"; do{ cout<<"\n\nEnter The Product Number Of The Product : "; cin>>order_arr[l]; cout<<"\nQuantity in number : ";
cin>>quan[l]; l++; 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"; clrscr(); cout<<"\n\n*************************************INVOICE ************************************\n"; cout<<"\nPr No.\t\tPr Name\t\t Quantity \t\tPrice \t\tAmount "; for(int x=0;x<=l;x++) { fp.open("Shop.dat",ios::in|ios::binary); fp.read((char*)&p,sizeof(product)); while(!fp.eof()) { if(p.retprodno()==order_arr[x]) { total+=p.retprodprice()*quan[x]; cout<<"\n"<
} fp.read((char*)&p,sizeof(product)); }
fp.close(); } cout<<"\n\n\t\t\t\t\tTOTAL = "<
void adminmenu() { clrscr(); int ch; cout<<"\n\n\n\tAdmin Menu"; cout<<"\n\n\t1.Create a Product"; cout<<"\n\n\t2.Display all Products"; cout<<"\n\n\t3.Delete All Product"; cout<<"\n\n\t4.Back to Main Menu"; cout<<"\n\n\tEnter your Choice (1-4) :"; cin>>ch;
switch(ch) { case 1: clrscr(); write_product(); break; case 2: displayall(); break; case 3: delete_product(); break; case 4: break; default: cout<<"\a"; adminmenu(); } }
void login() { char m,k; char username[20], password[20]; back:
clrscr(); cout<<"\n\n\n\t\t\t cout<<"\n\n\t\t\t
Login to Access the Store"; Enter the detaiils below:";
cout<<"\n\n\n\t\tUSERNAME : "; gets(username); cout<<"\n\n\t\tPASSWORD : "; gets(password); if((strcmp(username,"username")!=0)|| (strcmp(password,"password")!=0)) {cout<<"\n\n\tWRONG PASSWORD!!!! Want to try Again> (Y,y/N,n)"; cin>>m; if (m=='y' || m=='Y') goto back; else exit(0); } }
int logo() {
restart: clrscr(); void last(); int g=DETECT,d; initgraph(&g, &d, "c:\\tc\\bgi"); int poly1[15];
//screen poly1[0]=250; poly1[1]=50; poly1[2]=340; poly1[3]=50; poly1[4]=340; poly1[5]=150; poly1[6]=340; poly1[7]=150; poly1[8]=250; poly1[9]=150; drawpoly(5,poly1); int poly2[15]; poly2[0]=260; poly2[1]=60;
poly2[2]=330; poly2[3]=60; poly2[4]=330; poly2[5]=140; poly2[6]=260; poly2[7]=140; poly2[8]=260; poly2[9]=60; fillpoly(5,poly2);
//keyboard int poly3[15];
poly3[0]=230; poly3[1]=170; poly3[2]=360; poly3[3]=170; poly3[4]=380; poly3[5]=190; poly3[6]=210; poly3[7]=190; poly3[8]=230;
poly3[9]=170; setfillstyle(2,-1); fillpoly(5,poly3);
line(250,50,250,150); line(310,150,310,170); line(280,150,280,170);
//mouse wire arc(380, 190, 10, 120, 15); arc(405,186, 190,270,10); arc(407,200,10,100,4);
//mouse ellipse(410, 204, 90, 450,6, 10); //mouse button arc(410,197,200,340,5); int midx=getmaxx()/2; int midy=getmaxy()/2; settextstyle(TRIPLEX_FONT,HORIZ_DIR,2); outtextxy(midx-243,midy+40,"WELCOME TO BIG BAZAR ...A COMPLETE STORE !!!! "); settextstyle(DEFAULT_FONT,HORIZ_DIR,1);
outtextxy(midx-130,midy+100,"For all your Daily needs !!! "); outtextxy(midx-147,midy+140,"Press any key to enter the Store.... "); getch(); closegraph(); return(0); } void last() { cout<<"\n\n\n
,@@, \n\t\t"
<<" <<"
/ / \n\t\t" Thanks For Shopping!!
/ / \n\t\t"
<<"
\\~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/._/ \n\t\t"
<<"
\\~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/
<<"
\\~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/
<<"
\\~~~~~~~~~~~~~~~~~~~~~~~~~~~/
<<"
\\~~~~~~~~~~~~~~~~~~~~~~~~~/
<<"
\\_______________________/
<<"
|
|
|~~~~~~~~~~~~~~~~~~~~~~|
<<"
|______________________| /``\\
<<"
\\__/
/``\\ \\__/
\n\t\t" \n\t\t" \n\t\t"
\n\t\t"
\n\t\t"
<<"
<<"
\n\t\t"
\n\t\t" \n\t\t";
\n\t\t" \n\t\t"
delay(2000); exit(0); }
int intro() { clrscr(); textmode(BW80); textcolor(2); cprintf("\n\n
Introduction");
textcolor(3); cprintf("\n\n is on the topic");
The following Project
textcolor(5); cprintf("\n\n MANAGEMENT");
SHOP
cprintf("\n\n\n\n"); textcolor(9); cprintf("
The Project has been made By-");
textcolor(15); cprintf("\n\n@ Divyanshu Khare @ Palash Chaturvedi");
cprintf("\n\n\n\n"); textcolor(-12); cprintf("\n\n\nPress any key to continue.."); textcolor(15); getch(); return(0); }
void main() {
int ch1; intro(); clrscr(); logo();
login(); do {
clrscr();
cout<<"\n\n\t\t\t\t WELCOME"; cout<<"\n\n\n\n\n\t MAIN MENU"; cout<<"\n\t1. MAKE A PURCHASE"; cout<<"\n\t2. ADMIN MENU"; cout<<"\n\t3. EXIT"; cout<<"\n\t Please Select Your Option (1-3)"; cin>>ch1; switch(ch1) { case 1: placeorder(); getch(); break; case 2: adminmenu(); break; case 3: { clrscr(); goto K; break; } default : cout<<"\a"; } }
while(ch1>=1&&ch1<=3) ; getch(); K: last(); }
//END OF PROGRAM……!!!
OUTPUTS
BIBLIOGRAPHY
Sumita Arora – class XI Sumita Arora – class XII www.wikipedia.com
Teachers Report
Name of the student -
Palash Chaturvedi
Class -
XII – A
Board Roll No. -
1673783
School -
St. Joseph’s Co-Ed School, Bhopal
Topic -
Shop Management
Teachers Remark