0% found this document useful (0 votes)
222 views

C++ PROJECT Supermarket Project

This document contains the code for a C++ program that implements a supermarket billing system. It includes classes to define products with attributes like name, price, etc. Functions allow users to create, read, update, and delete product records stored in a file. Additional functions provide an administrator menu to manage products and a customer menu to view products and generate bills. The main function acts as the driver code and displays menus to direct users to administrator or customer functionality.

Uploaded by

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

C++ PROJECT Supermarket Project

This document contains the code for a C++ program that implements a supermarket billing system. It includes classes to define products with attributes like name, price, etc. Functions allow users to create, read, update, and delete product records stored in a file. Additional functions provide an administrator menu to manage products and a customer menu to view products and generate bills. The main function acts as the driver code and displays menus to direct users to administrator or customer functionality.

Uploaded by

ghn
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 7

//***************************************************************

// HEADER FILE USED IN PROJECT


//****************************************************************
#include <iostream>
#include<conio.h>
#include<stdio.h>
#include<process.h>
#include<fstream>
using namespace std;
//***************************************************************
// CLASS USED IN PROJECT
//****************************************************************

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 ";
cin>>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;
}
}; //class ends here

//***************************************************************
// global declaration for stream object, object
//****************************************************************

fstream fp;
product pr;
//***************************************************************
// function to write in file
//****************************************************************

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();
}
//***************************************************************
// function to read all records from file
//****************************************************************
void display_all()
{

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();
}
//***************************************************************
// function to read specific record from file
//****************************************************************
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)
{

pr.show_product();
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;

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();
}
//***************************************************************
// function to delete record of file
//****************************************************************
void delete_product()
{
int no;

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);
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();
}
//***************************************************************
// function to display all products price list
//****************************************************************

void menu()
{

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();

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();
}

//***************************************************************
// function to place order and generating bill for Products
//****************************************************************

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();

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();
}

//***************************************************************
// INTRODUCTION FUNCTION
//****************************************************************

void intro()
{

cout <<endl<<endl <<"\tSUPER MARKET";


cout <<endl<<endl<< "\t\tBILLING";
cout <<endl<<endl<< "\t\t\tPROJECT";
cout << "\n\nMADE BY : Shahzad Khan Meo";
cout << "\n\nWebsite : www.PuPapersBook.com";
getch();

//***************************************************************
// ADMINSTRATOR MENU FUNCTION
//****************************************************************
void admin_menu()
{

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':

write_product();
break;
case '2':
display_all();
break;
case '3':
int num;

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();
}
}
//***************************************************************
// THE MAIN FUNCTION OF PROGRAM
//****************************************************************
int main()
{
char ch;
intro();
do
{

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':

place_order();
getch();
break;
case '2':
admin_menu();
break;
case '3':
return 0 ;
default:
cout << "\a";
}
} while (ch != '3');
}

//***************************************************************
// END OF PROJECT
//***************************************************************

You might also like