Super market billing system program in C++
1.Bill Report
For creating bill reports you must add items in the program. So you can press 2 to add, delete and edit items. After adding items you are able to generate a bill. Press 1 to make a bill report.
2.Add/Remove/Edit Item
Add items which customer want to buy. After adding if the customer wants to remove an item than you can remove it by press 2 or if customer want to update item than you can update them in this module.
1->Add Item Details
Now add your item detail like Name. price , discount and date of created.
2->Edit Item Details
If you want to edit the detail of item you can easily do it by pressing 2 .
3->Delete Item Details
If customer not want to buy some thing from added item than you are able to delete by pressing 3.
4->Back to Main Menu
After adding items detail you can go back to main menu by pressing 4
3.Show Item Details
If customer wants to review his bill and items he would buy then this module can do work for him .Press 3 and he can see all his items.
4.Exit
After completing his shopping he can exist from system by pressing 4.
#include<iostream> #include<windows.h> #include<conio.h> #include<fstream> #include<cstring> #include<cstdio> #include<cstdlib> #include<iomanip> using namespace std; int k=7,r=0,flag=0; COORD coord = {0, 0}; void gotoxy(int x, int y) { COORD coord; coord.X = x; coord.Y = y; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord); } struct date { int mm,dd,yy; }; ofstream fout; ifstream fin; class item { int itemno; char name[25]; date d; public: void add() { cout<<"\n\n\tItem No: "; cin>>itemno; cout<<"\n\n\tName of the item: "; cin>>name; cout<<"\n\n\tManufacturing Date(dd-mm-yy): "; cin>>d.mm>>d.dd>>d.yy; } void show() { cout<<"\n\tItem No: "; cout<<itemno; cout<<"\n\n\tName of the item: "; cout<<name; cout<<"\n\n\tDate : "; cout<<d.mm<<"-"<<d.dd<<"-"<<d.yy; } void report() { gotoxy(3,k); cout<<itemno; gotoxy(13,k); puts(name); } int retno() { return(itemno); } }; class amount: public item { float price,qty,tax,gross,dis,netamt; public: void add(); void show(); void report(); void calculate(); void pay(); float retnetamt() { return(netamt); } } amt; void amount::add() { item::add(); cout<<"\n\n\tPrice: "; cin>>price; cout<<"\n\n\tQuantity: "; cin>>qty; cout<<"\n\n\tTax percent: "; cin>>tax; cout<<"\n\n\tDiscount percent: "; cin>>dis; calculate(); fout.write((char *)&amt,sizeof(amt)); fout.close(); } void amount::calculate() { gross=price+(price*(tax/100)); netamt=qty*(gross-(gross*(dis/100))); } void amount::show() { fin.open("itemstore.dat",ios::binary); fin.read((char*)&amt,sizeof(amt)); item::show(); cout<<"\n\n\tNet amount: "; cout<<netamt; fin.close(); } void amount::report() { item::report(); gotoxy(23,k); cout<<price; gotoxy(33,k); cout<<qty; gotoxy(44,k); cout<<tax; gotoxy(52,k); cout<<dis; gotoxy(64,k); cout<<netamt; k=k+1; if(k==50) { gotoxy(25,50); cout<<"PRESS ANY KEY TO CONTINUE..."; getch(); k=7; system("cls"); gotoxy(30,3); cout<<" ITEM DETAILS "; gotoxy(3,5); cout<<"NUMBER"; gotoxy(13,5); cout<<"NAME"; gotoxy(23,5); cout<<"PRICE"; gotoxy(33,5); cout<<"QUANTITY"; gotoxy(44,5); cout<<"TAX"; gotoxy(52,5); cout<<"DEDUCTION"; gotoxy(64,5); cout<<"NET AMOUNT"; } } void amount::pay() { show(); cout<<"\n\n\n\t\t*********************************************"; cout<<"\n\t\t DETAILS "; cout<<"\n\t\t*********************************************"; cout<<"\n\n\t\tPRICE :"<<price; cout<<"\n\n\t\tQUANTITY :"<<qty; cout<<"\n\t\tTAX PERCENTAGE :"<<tax; cout<<"\n\t\tDISCOUNT PERCENTAGE :"<<dis; cout<<"\n\n\n\t\tNET AMOUNT :Rs."<<netamt; cout<<"\n\t\t*********************************************"; } int main() { cout.setf(ios::fixed); cout.setf(ios::showpoint); cout<<setprecision(2); fstream tmp("temp.dat",ios::binary|ios::out); menu: system("cls"); gotoxy(25,2); cout<<"Super Market Billing "; gotoxy(25,3); cout<<"===========================\n\n"; cout<<"\n\t\t1.Bill Report\n\n"; cout<<"\t\t2.Add/Remove/Edit Item\n\n"; cout<<"\t\t3.Show Item Details\n\n"; cout<<"\t\t4.Exit\n\n"; cout<<"\t\tPlease Enter Required Option: "; int ch,ff; float gtotal; cin>>ch; switch(ch) { case 1: ss: system("cls"); gotoxy(25,2); cout<<"Bill Details"; gotoxy(25,3); cout<<"================\n\n"; cout<<"\n\t\t1.All Items\n\n"; cout<<"\t\t2.Back to Main menu\n\n"; cout<<"\t\tPlease Enter Required Option: "; int cho; cin>>cho; if(cho==1) { system("cls"); gotoxy(30,3); cout<<" BILL DETAILS "; gotoxy(3,5); cout<<"ITEM NO"; gotoxy(13,5); cout<<"NAME"; gotoxy(23,5); cout<<"PRICE"; gotoxy(33,5); cout<<"QUANTITY"; gotoxy(44,5); cout<<"TAX %"; gotoxy(52,5); cout<<"DISCOUNT %"; gotoxy(64,5); cout<<"NET AMOUNT"; fin.open("itemstore.dat",ios::binary); if(!fin) { cout<<"\n\nFile Not Found..."; goto menu; } fin.seekg(0); gtotal=0; while(!fin.eof()) { fin.read((char*)&amt,sizeof(amt)); if(!fin.eof()) { amt.report(); gtotal+=amt.retnetamt(); ff=0; } if(ff!=0) gtotal=0; } gotoxy(17,k); cout<<"\n\n\n\t\t\tGrand Total="<<gtotal; getch(); fin.close(); } if(cho==2) { goto menu; } goto ss; case 2: db: system("cls"); gotoxy(25,2); cout<<"Bill Editor"; gotoxy(25,3); cout<<"=================\n\n"; cout<<"\n\t\t1.Add Item Details\n\n"; cout<<"\t\t2.Edit Item Details\n\n"; cout<<"\t\t3.Delete Item Details\n\n"; cout<<"\t\t4.Back to Main Menu "; int apc; cin>>apc; switch(apc) { case 1: fout.open("itemstore.dat",ios::binary|ios::app); amt.add(); cout<<"\n\t\tItem Added Successfully!"; getch(); goto db; case 2: int ino; flag=0; cout<<"\n\n\tEnter Item Number to be Edited :"; cin>>ino; fin.open("itemstore.dat",ios::binary); fout.open("itemstore.dat",ios::binary|ios::app); if(!fin) { cout<<"\n\nFile Not Found..."; goto menu; } fin.seekg(0); r=0; while(!fin.eof()) { fin.read((char*)&amt,sizeof(amt)); if(!fin.eof()) { int x=amt.item::retno(); if(x==ino) { flag=1; fout.seekp(r*sizeof(amt)); system("cls"); cout<<"\n\t\tCurrent Details are\n"; amt.show(); cout<<"\n\n\t\tEnter New Details\n"; amt.add(); cout<<"\n\t\tItem Details editted"; } } r++; } if(flag==0) { cout<<"\n\t\tItem No does not exist...Please Retry!"; getch(); goto db; } fin.close(); getch(); goto db; case 3: flag=0; cout<<"\n\n\tEnter Item Number to be deleted :"; cin>>ino; fin.open("itemstore.dat",ios::binary); if(!fin) { cout<<"\n\nFile Not Found..."; goto menu; } fin.seekg(0); while(fin.read((char*)&amt, sizeof(amt))) { int x=amt.item::retno(); if(x!=ino) tmp.write((char*)&amt,sizeof(amt)); else { flag=1; } } fin.close(); tmp.close(); fout.open("itemstore.dat",ios::trunc|ios::binary); fout.seekp(0); tmp.open("temp.dat",ios::binary|ios::in); if(!tmp) { cout<<"Error in File"; goto db; } while(tmp.read((char*)&amt,sizeof(amt))) fout.write((char*)&amt,sizeof(amt)); tmp.close(); fout.close(); if(flag==1) cout<<"\n\t\tItem Succesfully Deleted"; else if (flag==0) cout<<"\n\t\tItem does not Exist! Please Retry"; getch(); goto db; case 4: goto menu; default: cout<<"\n\n\t\tWrong Choice!!! Retry"; getch(); goto db; } case 3: system("cls"); flag=0; int ino; cout<<"\n\n\t\tEnter Item Number :"; cin>>ino; fin.open("itemstore.dat",ios::binary); if(!fin) { cout<<"\n\nFile Not Found...\nProgram Terminated!"; goto menu; } fin.seekg(0); while(fin.read((char*)&amt,sizeof(amt))) { int x=amt.item::retno(); if(x==ino) { amt.pay(); flag=1; break; } } if(flag==0) cout<<"\n\t\tItem does not exist....Please Retry!"; getch(); fin.close(); goto menu; case 4: system("cls"); gotoxy(20,20); cout<<"ARE YOU SURE, YOU WANT TO EXIT (Y/N)?"; char yn; cin>>yn; if((yn=='Y')||(yn=='y')) { gotoxy(12,20); system("cls"); cout<<"************************** THANKS **************************************"; getch(); exit(0); } else if((yn=='N')||(yn=='n')) goto menu; else { goto menu; } default: cout<<"\n\n\t\tWrong Choice....Please Retry!"; getch(); goto menu; } return 0; }
In this program you are able to get information about functions and all basic and advanced concept of C++.You can learn all topic by single click below.
0 Comments