## 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.