- 2068 Chaitra · 6 marks
LandMeasure class and sum function
Short answer
The sum function adds corresponding units, carrying from Dam to Paisa (4:1), Paisa to Ana (4:1), and Ana to Ropani (16:1). For inputs 2 10 3 3 and 1 7 2 2, the sum is 4 Ropani, 2 Ana, 2 Paisa, 1 Dam.
Write a program to create a class LandMeasure that reads Ropani, Ana, Paisa and Dam as data members. Write a function to pass two objects of type Land Measure and return their sum. (16 Ana = 1 Ropani, 4 Paisa = 1 Ana, 4 Dam = 1 Paisa)
Conversion rules: 4 Dam = 1 Paisa, 4 Paisa = 1 Ana, 16 Ana = 1 Ropani. In the sum, add each unit and carry from Dam upward: Dam carries to Paisa at 4, Paisa to Ana at 4, Ana to Ropani at 16.
#include <iostream>
using namespace std;
class LandMeasure
{
int ropani, ana, paisa, dam;
public:
void read()
{
cout << "Enter Ropani, Ana, Paisa, Dam: ";
cin >> ropani >> ana >> paisa >> dam;
}
void display()
{
cout << ropani << " Ropani " << ana << " Ana "
<< paisa << " Paisa " << dam << " Dam" << endl;
}
// takes two objects and returns their sum
friend LandMeasure sum(LandMeasure, LandMeasure);
};
LandMeasure sum(LandMeasure a, LandMeasure b)
{
LandMeasure t;
t.dam = a.dam + b.dam;
t.paisa = a.paisa + b.paisa + t.dam / 4;
t.dam = t.dam % 4;
t.ana = a.ana + b.ana + t.paisa / 4;
t.paisa = t.paisa % 4;
t.ropani = a.ropani + b.ropani + t.ana / 16;
t.ana = t.ana % 16;
return t;
}
int main()
{
LandMeasure l1, l2, l3;
l1.read();
l2.read();
l3 = sum(l1, l2);
cout << "Sum = ";
l3.display();
return 0;
}
Sample run
Enter Ropani, Ana, Paisa, Dam: 2 10 3 3
Enter Ropani, Ana, Paisa, Dam: 1 7 2 2
Sum = 4 Ropani 2 Ana 2 Paisa 1 Dam
Check: Dam 3+2 = 5 gives 1 Dam, carry 1. Paisa 3+2+1 = 6 gives 2 Paisa, carry 1. Ana 10+7+1 = 18 gives 2 Ana, carry 1. Ropani 2+1+1 = 4.
✓ Answer checked by Claude Opus 5.5 (high effort)
Related questions
- Time class: add two objects · Object Oriented Programming, chapter 1
- Add objects of two different classes · Object Oriented Programming, chapter 4 · asked 2×
- Access overridden members from derived class · Object Oriented Programming, chapter 6 · asked 2×
- Abstract Student class program · Object Oriented Programming, chapter 7
- Effect of derivation types on class members · Object Oriented Programming, chapter 6
- City class with operator overloading · Object Oriented Programming, chapter 5
- C program: sum of two 8-bit BCD numbers · Embedded System, chapter 9
- Function definition; sum of two numbers · Computer Programming, chapter 6
- 8085 ALP: compare two tables of 16-bit data · Microprocessor, chapter 2
- Create classes from design class diagrams · Object Oriented Analysis and Design, chapter 4 · asked 2×