Extra 5% OFF Use Code: OL05
Free Shipping over ₹999

How to pass or return a structure to a function

In this example, we will see how to pass or return a structure to a function

#include <iostream>

using namespace std;

struct Distance{
    int kilometer;
    int meter;
};


void TotalDistance(Distance d1, Distance d2){
    Distance d;

    d.kilometer = d1.kilometer + d2.kilometer+(d1.meter + d2.meter)/ 1000;
    d.meter = (d1.meter + d2.meter) % 1000;
    
    cout<<"Total Distance"<<endl;
    cout<<"kilometer : "<<d.kilometer<<endl;
    cout<<"Meter : "<<d.meter<<endl;
}

void intialize(){
    Distance distance1,distance2;

    distance1.kilometer = 10;
    distance1.meter = 300;

    distance2.kilometer = 9;
    distance2.meter = 250;

    TotalDistance(distance1,distance2);

}
int main(){
    intialize();
    return 0;
}

Output:

Total Distance
kilometer : 19
Meter : 550

Explanation:

Step1: Structure Definition: Distance

struct Distance {
    int kilometer;
    int meter;
};

A struct named Distance is declared with two members:

  • kilometer: An integer to store the distance in kilometers.
  • meter: An integer to store the distance in meters.

Step2: Function: TotalDistance()

void TotalDistance(Distance d1, Distance d2) {
    Distance d;

    d.kilometer = d1.kilometer + d2.kilometer + (d1.meter + d2.meter) / 1000;
    d.meter = (d1.meter + d2.meter) % 1000;

    cout << "Total Distance" << endl;
    cout << "kilometer : " << d.kilometer << endl;
    cout << "Meter : " << d.meter << endl;
}

Function Breakdown:

  • Input: Takes two Distance objects (d1 and d2) as arguments, representing two distances.
  • Add kilometers and meters:
    • d1.kilometer + d2.kilometer: Adds the kilometers of both distances.
    • (d1.meter + d2.meter) / 1000: Adds the meters and converts the excess meters into kilometers. This ensures that meters greater than or equal to 1000 are carried over to kilometers (since 1000 meters = 1 kilometer).
  • Calculate remaining meters:
d.meter = (d1.meter + d2.meter) % 1000;

This line calculates the remaining meters after any full kilometers have been added.

Output: The total kilometers and meters are printed.

Step3: Function: initialize()

void intialize() {
    Distance distance1, distance2;

    distance1.kilometer = 10;
    distance1.meter = 300;

    distance2.kilometer = 9;
    distance2.meter = 250;

    TotalDistance(distance1, distance2);
}

Function Breakdown:

  • Define two distances:
    • distance1: Initialized with 10 kilometers and 300 meters.
    • distance2: Initialized with 9 kilometers and 250 meters.
  • Call TotalDistance: The function TotalDistance() is called to calculate and print the total distance by passing distance1 and distance2.

Step4: Main Function

int main() {
    intialize();
    return 0;
}

The main() function calls the initialize() function, which performs the necessary operations to calculate the total distance.

    Leave a Reply

    Your email address will not be published.

    Need Help?