You can define a structure to hold this information. struct keyword is used to define a structure. struct define a new data type which is a collection of different type of data.
Structure Syntax
struct structure_name
{
//Statements
};
Here struct is the reserved keyword and structure_name is the name of the structure. This name can be changed.
struct structure_name
{
//Statements
};
Here struct is the reserved keyword and structure_name is the name of the structure. This name can be changed.
C Program to Calculate Difference Between Two Time Periods
#include <stdio.h>
/*write a 'c' program to find the difference between two dates using structure*/
struct TIME
{
int seconds;
int minutes;
int hours;
};
void Difference(struct TIME t1, struct TIME t2, struct TIME *diff);
int main()
{
struct TIME t1, t2, diff;
printf("Enter start time: \n");
printf("Enter hours, minutes and seconds respectively: ");
scanf("%d%d%d", &t1.hours, &t1.minutes, &t1.seconds);
printf("Enter stop time: \n");
printf("Enter hours, minutes and seconds respectively: ");
scanf("%d%d%d", &t2.hours, &t2.minutes, &t2.seconds);
Difference(t1, t2, &diff);
printf("\nTIME DIFFERENCE: %d:%d:%d - ", t1.hours, t1.minutes, t1.seconds);
printf("%d:%d:%d ", t2.hours, t2.minutes, t2.seconds);
printf("= %d:%d:%d\n", diff.hours, diff.minutes, diff.seconds);
return 0;
}
void Difference(struct TIME t1, struct TIME t2, struct TIME *differ)
{
if (t2.seconds > t1.seconds)
{
--t1.minutes;
t1.seconds += 60;
}
differ->seconds = t1.seconds - t2.seconds;
if (t2.minutes > t1.minutes)
{
--t1.hours;
t1.minutes += 60;
}
differ->minutes = t1.minutes - t2.minutes;
differ->hours = t1.hours - t2.hours;
}
0 Comments: