Implement in C Programming 8.16.1: LAB: Time difference #include #include typedef struct Time_struct { int hours; int minutes; int seconds; } Time; // Allocate and return a Time as per parameters Time* CreateTime(int hours, int minutes, int seconds) { Time* newTime = NULL; /* Type your code here. */ } // Read integers hours, minutes, seconds; // create and return a Time using the input values Time* ReadTime() { int hours; int minutes; int seconds; scanf("%d %d %d", &hours, &minutes, &seconds); return CreateTime(hours, minutes, seconds); } Time* TimeDifference(Time* end, Time* start) { Time* diff = NULL; /* TODO: allocate a new Time here */ // Begin with uncorrected arithmetic diff->hours = end->hours - start->hours; diff->minutes = end->minutes - start->minutes; diff->seconds = end->seconds - start->seconds; /* Type your code here. */ } void PrintTime(Time* t) { printf("%02d:%02d:%02d", t->hours, t->minutes, t->seconds); } int main(void) { Time* start = NULL; Time* end = NULL; Time* difference = NULL; start = ReadTime(); end = ReadTime(); difference = TimeDifference(end, start); printf("Start:\t"); PrintTime(start); printf("\nEnd:\t"); PrintTime(end); printf("\nDifference: "); PrintTime(difference); printf("\n"); // Always free dynamically allocated memory when no longer needed free(start); free(end); free(difference); return 0; }
Implement in C Programming
8.16.1: LAB: Time difference
#include <stdio.h>
#include <stdlib.h>
typedef struct Time_struct {
int hours;
int minutes;
int seconds;
} Time;
// Allocate and return a Time as per parameters
Time* CreateTime(int hours, int minutes, int seconds) {
Time* newTime = NULL;
/* Type your code here. */
}
// Read integers hours, minutes, seconds;
// create and return a Time using the input values
Time* ReadTime() {
int hours;
int minutes;
int seconds;
scanf("%d %d %d", &hours, &minutes, &seconds);
return CreateTime(hours, minutes, seconds);
}
Time* TimeDifference(Time* end, Time* start) {
Time* diff = NULL;
/* TODO: allocate a new Time here */
// Begin with uncorrected arithmetic
diff->hours = end->hours - start->hours;
diff->minutes = end->minutes - start->minutes;
diff->seconds = end->seconds - start->seconds;
/* Type your code here. */
}
void PrintTime(Time* t) {
printf("%02d:%02d:%02d", t->hours, t->minutes, t->seconds);
}
int main(void) {
Time* start = NULL;
Time* end = NULL;
Time* difference = NULL;
start = ReadTime();
end = ReadTime();
difference = TimeDifference(end, start);
printf("Start:\t");
PrintTime(start);
printf("\nEnd:\t");
PrintTime(end);
printf("\nDifference: ");
PrintTime(difference);
printf("\n");
// Always free dynamically allocated memory when no longer needed
free(start);
free(end);
free(difference);
return 0;
}
![](/static/compass_v2/shared-icons/check-mark.png)
Trending now
This is a popular solution!
Step by step
Solved in 3 steps with 2 images
![Blurred answer](/static/compass_v2/solution-images/blurred-answer.jpg)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![C How to Program (8th Edition)](https://www.bartleby.com/isbn_cover_images/9780133976892/9780133976892_smallCoverImage.gif)
![Database Systems: Design, Implementation, & Manag…](https://www.bartleby.com/isbn_cover_images/9781337627900/9781337627900_smallCoverImage.gif)
![Programmable Logic Controllers](https://www.bartleby.com/isbn_cover_images/9780073373843/9780073373843_smallCoverImage.gif)