CS201 Assignment No. 4 solution

No Comments
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;
}
Next PostNewer Post Previous PostOlder Post Home

0 comments

Post a Comment