BeginnersBook

  • Home
  • Java
    • Java OOPs
    • Java Collections
    • Java Examples
  • C
    • C Examples
  • C++
    • C++ Examples
  • DBMS
  • Computer Network
  • Python
    • Python Examples
  • More…
    • jQuery
    • Kotlin
    • WordPress
    • SEO
    • JSON
    • JSP
    • JSTL
    • Servlet
    • MongoDB
    • XML
    • Perl

C Program to Add two distances using structure

Last Updated: May 22, 2024 by Chaitanya Singh | Filed Under: C Programs

In this program, we will learn how to write a C Program to add two distances using structure.

C Program to add two user input distances using structure

The explanation of the program is provided at the end of the following code. The brief description of important statements and function is provided in the program itself using comments.

#include <stdio.h>

// Structure to store distance in feet and inches
struct Distance {
int feet; //to hold feet in distance
float inches; //to hold inches in distance
};

// Function to add two distances
struct Distance addDistances(struct Distance d1, struct Distance d2) {
struct Distance result;

// Add feet and inches separately
result.feet = d1.feet + d2.feet;
result.inches = d1.inches + d2.inches;

// Since 1 feet contains 12 inches, if inches is greater
// than or equal to 12, convert extra inches to feet
if (result.inches >= 12.0) {
result.feet += (int)(result.inches / 12);
result.inches = fmod(result.inches, 12.0);
}

return result;
}

int main() {
struct Distance d1, d2, result;

// Prompt user to enter the first distance
printf("Enter feet and inches for the first distance: ");
scanf("%d %f", &d1.feet, &d1.inches);

// Prompt user to enter the second distance
printf("Enter feet and inches for the second distance: ");
scanf("%d %f", &d2.feet, &d2.inches);

// Call the function to Add the entered distances
result = addDistances(d1, d2);

// Print output
printf("Sum of distances: %d feet %.2f inches\n", result.feet, result.inches);

return 0;
}

Output: Assume user enters the first distance as 4 7.5 where 4 is feet and 7.5 is inches. The second distance entered by user is 6 6.5.

Enter feet and inches for the first distance: 4 7.5
Enter feet and inches for the second distance: 6 6.5
Sum of distances: 11 feet 2.00 inches

How this program works?

Step 1: Define the Structure

We defined a structure Distance with two fields, feet and inches.

#include <stdio.h>
#include <math.h> // For fmod function

struct Distance {
int feet;
float inches;
};

Step 2: Function to Add Two Distances

We defined a function addDistances() that takes two Distance structures as parameters, adds them, and returns the result.

  • result.feet = d1.feet + d2.feet; and result.inches = d1.inches + d2.inches; add the respective feet and inches.
  • if (result.inches >= 12.0) { ... } checks if inches are 12 or more.
  • result.feet += (int)(result.inches / 12); converts excess inches to feet.
  • result.inches = fmod(result.inches, 12.0); uses the fmod function to keep only the fractional part less than 12. (Note: The fmod function in C is used to compute the remainder of the division of two floating-point numbers. It is part of the <math.h> library)

Step 3: Main Function to Get Input and Display Output

In the main function, we prompt user to enter two distances, call the addDistances() function to add them and then print the result

  • struct Distance d1, d2, result; declares three Distance variables. d1 for first distance, d2 for second distance and result to contain addition of d1 and d2.
  • printf and scanf statements are used to take input from user and store the entered values in structures d1 and d2.
  • result = addDistances(d1, d2); calls the function to add distances.
  • printf("Sum of distances: %d feet %.2f inches\n", result.feet, result.inches); prints the result.

Top Related Articles:

  1. C Program for employee salary calculation using structure
  2. C Program to read and print employee details using structure
  3. C Program to Print Pyramid Star Pattern
  4. C Program to Find the Frequency of Characters in a String
  5. Hello World Program in C

About the Author

I have 15 years of experience in the IT industry, working with renowned multinational corporations. Additionally, I have dedicated over a decade to teaching, allowing me to refine my skills in delivering information in a simple and easily understandable manner.

– Chaitanya

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Copyright © 2012 – 2025 BeginnersBook . Privacy Policy . Sitemap