C++ Program to Add Two Distances (in inch-feet) System Using Structures

To understand this example, you should have the knowledge of the following C++ programming topics:


Example: Add Distances Using Structures

#include <iostream>
using namespace std;

struct Distance {
    int feet;
    float inch;
}d1 , d2, sum;

int main() {
    cout << "Enter 1st distance," << endl;
    cout << "Enter feet: ";
    cin >> d1.feet;
    cout << "Enter inch: ";
    cin >> d1.inch;

    cout << "\nEnter information for 2nd distance" << endl;
    cout << "Enter feet: ";
    cin >> d2.feet;
    cout << "Enter inch: ";
    cin >> d2.inch;

    sum.feet = d1.feet+d2.feet;
    sum.inch = d1.inch+d2.inch;

    // changing to feet if inch is greater than 12
    if(sum.inch > 12) {
        // extra feet
        int extra = sum.inch / 12;

        sum.feet += extra;
        sum.inch -= (extra * 12);
    } 

    cout << endl << "Sum of distances = " << sum.feet << " feet  " << sum.inch << " inches";
    return 0;
}

Output

Enter 1st distance,
Enter feet: 6
Enter inch: 3.4

Enter information for 2nd distance
Enter feet: 5
Enter inch: 10.2

Sum of distances = 12 feet  1.6 inches

In this program, a structure Distance containing two data members (inch and feet) is declared to store the distance in the inch-feet system.

Here, two structure variables d1 and d2 are created to store the distance entered by the user. And, the sum variable stores the sum of the distances.

The if statement is used to convert inches to feet if the value of inch of sum variable is greater than 12:

  • The int variable extra stores the extra feet gained due to the value of inch being greater than 12. This is obtained from the quotient of division between sum.inch and 12.
  • We then add the extra feet to sum.feet.
  • The true value of sum.inch is then calculated by subtracting extra * 12 from its initial value.

Also Read:

Did you find this article helpful?