15

C++ Program to work with Purchase Order Problem by using Pointers and CLASS with...

 2 years ago
source link: https://sqlwithmanoj.com/2010/01/10/c-program-to-work-with-purchase-order-problem-by-using-pointers-and-class-with-public-private-access-specifiers-q10/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Home > Cpp > C++ Program to work with Purchase Order Problem by using Pointers and CLASS with PUBLIC & PRIVATE Access Specifiers – Q10

C++ Program to work with Purchase Order Problem by using Pointers and CLASS with PUBLIC & PRIVATE Access Specifiers – Q10

Q10. Program to work with Purchase Order Problem:

Solve the following purchase order problem:
– Item list entry
– Bill generation
– Modify Item quantity purchased
– Remove Item from the list

… from College notes (BCA/MCA assignments):

#include <iostream.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
class CBills{
private:
char name[20];
int qty;
float price, net;
public:
void Getinfo();
void Modify(CBills *, int );
void Remove(CBills *, int &);
void Display() const;
};
void CBills :: Getinfo(){
cout<<"\n Enter Item Name: ";
cin>>name;
cout<<"\n Enter Item Price: ";
cin>>price;
cout<<"\n Enter Item Quantity: ";
cin>>qty;
net = price * qty;
}
void CBills :: Modify(CBills *order, int no){
char key[15];
cout<<"\n Enter the Item Name to Modify: ";
cin>>key;
for(int i=0; i<=no; i++){
if(strcmp(order[i].name, key) == 0)
break;
}
cout<<"\n Enter Item Name: ";
cin>>order[i].name;
cout<<"\n Enter Item Price: ";
cin>>order[i].price;
cout<<"\n Enter Item Quantity: ";
cin>>order[i].qty;
order[i].net = order[i].price * order[i].qty;
}
void CBills :: Remove(CBills *order, int &no){
char key[15];
cout<<"\n Enter the Item Name to Remove: ";
cin>>key;
for(int i=0; i<=no; i++){
if(strcmp(order[i].name, key) == 0)
break;
}
for(int j=i; j<=no; j++)
order[j] = order[j+1];
no--;
}
void CBills :: Display() const{
cout<<"\n\t Item Name:  "<<name;
cout<<"\n\t Item Price: "<<price;
cout<<"\n\t Item Quantity: "<<qty;
cout<<"\n\t Net Price: "<<net;
}
void main(){
CBills bills[20], bl;
int ch1, item_no = -1;
char ch2;
while(1){
clrscr();
cout<<"\n Inventory and Purchase Order Managament.";
cout<<"\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~";
cout<<"\n 1 -> Get Item Details.";
cout<<"\n 2 -> Display Items.";
cout<<"\n 3 -> Modify an Item.";
cout<<"\n 4 -> Remove an Item.";
cout<<"\n 5 -> Exit.";
cout<<"\n Enter your choice: ";
cin>>ch1;
switch(ch1){
case 1: // Getinfo.
while(1){
clrscr();
item_no++;
cout<<"\n Entry of Purchased Items.";
cout<<"\n ~~~~~~~~~~~~~~~~~~~~~~~~~";
cout<<"\n Item No. "<<item_no+1;
bills[item_no].Getinfo();
cout<<"\n Do you want to add more
(y/n): ";
cin>>ch2;
if(ch2 == 'n')
break;
}
break;
case 2: // Display.
clrscr();
cout<<"\n Purchase Order Details.";
cout<<"\n ~~~~~~~~~~~~~~~~~~~~~~~";                       for(int i=0; i<=item_no; i++){
cout<<"\n\n Item No.: "<<i+1;
bills[i].Display();
}
break;
case 3: // Modify.
bl.Modify(bills, item_no);
cout<<"\n\n Record Modified.";
break;
case 4: // Remove.
bl.Remove(bills, item_no);
cout<<"\n\n Record Removed.";
break;
default:
exit(1);
} // end of switch.
getch();
} // end of while.
} // end of main.

Output:

Inventory and Purchase Order Managament.
1 -> Get Item Details.
2 -> Display Items.
3 -> Modify an Item.
4 -> Remove an Item.
5 -> Exit.
Enter your choice: 1

Entry of Purchased Items.

Item No. 1
Enter Item Name: Magazine

Enter Item Price: 100

Enter Item Quantity: 5

Do you want to add more (y/n): y

Entry of Purchased Items.

Item No. 2
Enter Item Name: Register

Enter Item Price: 50

Enter Item Quantity: 10

Do you want to add more (y/n): y

Entry of Purchased Items.

Item No. 3
Enter Item Name: Pen

Enter Item Price: 10

Enter Item Quantity: 20

Do you want to add more (y/n): n

Purchase Order Details.
Item No.	Name		Price		Qty		Net Price
    1		Magazine	100		5		500
    2		Register	50		10		500
    3		Pen		10		20		200

Loading...

Related

Leave a Reply Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK