Assignment No. 4
Semester: Fall 2010
CS201: Introduction to Programming
Due Date: 24th Jan, 2011
Problem Statement: Price manipulation
You are required to create a class in C++ named Price with the following Data members, Data members should be publicly declared.
- Rupees
- Paisas
The Price class presents Price in Rupees and Paisa. For instance, Price (10, 80) means 10 rupees and 80 paisas. The Price class should have the following features as described in detailed descriptions:
Detailed Description:
Constructors
Class Price must have
- Default constructor, which must set Rupees and Paisas to zero.
- Parameterized constructor that receives two parameters of type int and initializes its private data: Rupees and Paisas with them. Note that if Paisas are 100 or greater than 100 then also convert it in Rupees.
Member Functions
- Create a function named Print()that displays the price of object in terms of rupees and paisas.
Operator overloading
- A member function that overloads the + Operator to add two objects of Price.
There should be an overloaded + operators:
- Add two objects and return Price object. Note that Paisas should not exceed 100.
- Add first number into second objects and return Price object. Note that paisas should not exceed 100.
Output of your program should be as follows:
Price is 10 rupees and 60 paisas
Price is 12 rupees and 80 paisas
After Addition
Price is 23 rupees and 40 paisas
................
Solution:#include <iostream.h>
#include <conio.h>
// This is only for IDEA, not a complete solution.
class price
{
public:
int rupees, paisas;
price () {};
price (int,int);
price operator + (price);
};
price::price (int x1, int y1)
{
rupees = x1;
paisas = y1;
}
price price::operator+ (price money)
{
price convert;
convert.rupees = rupees + money.rupees;
convert.paisas = paisas + money.paisas;
return (convert);
}
int main ()
{
price x1 (10,60);
price y1 (13,2);
price z1;
z1 = x1 + y1;
cout <<"Price is "<<z1.rupees << " rupees " <<"and "<<z1.paisas<<" paisas";
getch();
return 0;
}
.........
#include <iostream.h>
class price{
//Declaring private data members
private:
int rupies;
int paisas;
//Declaring public functions
public:
price(); //Default constructor
price (int,int); //Overloaded constructor
void Print(); //print function for displaying the array elements
price operator+(price); //Operator overloading function for operator +
};
// Default constructor
price::price()
{
rupies = 0;
paisas = 0;
}
// Overload constructor
price::price(int crupies, int cpaisas)
{
rupies = crupies;
paisas = cpaisas;
}
//Function to display the elements
void price::Print()
{
cout<<" Price is "<<rupies<<" Rupees and "<<paisas<<" Paisas "<< endl;
}
// Function for + operator overloading
price price::operator+(price d2)
{
int r = rupies + d2.rupies; //adding rupeies
int p = paisas + d2.paisas; //adding paisas
if (p>=100) //If paisas exceeds from 100 then adding a
{
p-=100; // them into rupies
r++;
}
return price (r,p);
}
main()
{
price result;
price obj1(10, 60);
price obj2 (12, 80);
result = obj1+obj2;
obj1.Print();
cout<<"\n";
obj2.Print();
cout<<"\n";
cout<<"After Addition\n\n";
result.Print();
return 0;
}
...............
#include <iostream.h> // header file
#include <conio.h>
using namespace std;
class price
{
public: // program public part
int rupees, paisas;
price () {};
price (int,int);
price operator + (price);};
price::price (int x1, int y1) {
rupees = x1;
paisas = y1; }
price price::operator+ (price money) {
price convert;
convert.rupees = rupees + money.rupees;
convert.paisas = paisas + money.paisas;
return (convert); }
int main () {
price x1 (10,60);
price y1 (13,2);
price z1;
z1 = x1 + y1;
cout <<"\n\n\n\n\n\n\t\t<********( PRICE IS "<<z1.rupees << " RUPEES " <<"AND "<<z1.paisas<<" PAISAS )********>";
getch();
return 0;
system("pasure");
}
..............
#include <iostream.h>
#include <conio.h>
class price{
private:
int rupies;
int paisas;
public:
price();
price (int,int);
void Print();
price operator+(price);
};
price::price()
{
rupies = 0;
paisas = 0;
}
price::price(int crupies, int cpaisas)
{
rupies = crupies;
paisas = cpaisas;
}
void price::Print()
{
cout<<" Price is "<<rupies<<" Rupees and "<<paisas<<" Paisas "<< endl;
}
price price::operator+(price x)
{
int r = rupies + x.rupies;
int p = paisas + x.paisas;
if (p>=100)
{
r=r+p/100;
p%=100;
}
return price (r,p);
}
main()
{
price result;
price obj1(10, 60);
price obj2 (12, 80);
result = obj1+obj2;
obj1.Print();
cout<<"\n";
obj2.Print();
cout<<"\n After Addition\n\n";
result.Print();
getch();
return 0;
}
#include <conio.h>
using namespace std;
class price
{
public: // program public part
int rupees, paisas;
price () {};
price (int,int);
price operator + (price);};
price::price (int x1, int y1) {
rupees = x1;
paisas = y1; }
price price::operator+ (price money) {
price convert;
convert.rupees = rupees + money.rupees;
convert.paisas = paisas + money.paisas;
return (convert); }
int main () {
price x1 (10,60);
price y1 (13,2);
price z1;
z1 = x1 + y1;
cout <<"\n\n\n\n\n\n\t\t<********( PRICE IS "<<z1.rupees << " RUPEES " <<"AND "<<z1.paisas<<" PAISAS )********>";
getch();
return 0;
system("pasure");
}
..............
#include <iostream.h>
#include <conio.h>
class price{
private:
int rupies;
int paisas;
public:
price();
price (int,int);
void Print();
price operator+(price);
};
price::price()
{
rupies = 0;
paisas = 0;
}
price::price(int crupies, int cpaisas)
{
rupies = crupies;
paisas = cpaisas;
}
void price::Print()
{
cout<<" Price is "<<rupies<<" Rupees and "<<paisas<<" Paisas "<< endl;
}
price price::operator+(price x)
{
int r = rupies + x.rupies;
int p = paisas + x.paisas;
if (p>=100)
{
r=r+p/100;
p%=100;
}
return price (r,p);
}
main()
{
price result;
price obj1(10, 60);
price obj2 (12, 80);
result = obj1+obj2;
obj1.Print();
cout<<"\n";
obj2.Print();
cout<<"\n After Addition\n\n";
result.Print();
getch();
return 0;
}
0 comments
Post a Comment