Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- struct time{
- int hours;
- int minutes;
- int seconds;
- };
- struct time elapsed_time(struct time t1, struct time t2){
- int newHours = 0, newMinutes = 0, newSeconds = 0;
- if (t1.seconds > t2.seconds){
- newSeconds += (60 - t1.seconds) + t2.seconds;
- newMinutes--;
- }else{
- newSeconds += t2.seconds - t1.seconds;
- }
- if (t1.minutes > t2.minutes){
- newMinutes += (60 - t1.minutes) + t2.minutes;
- newHours--;
- }else{
- newMinutes += t2.minutes- t1.minutes;
- }
- if (t1.hours > t2.hours){
- newHours += (23 - t1.hours) + t2.hours;
- if (t2.hours == 0){ // special case for passing midnight
- newHours++;
- }
- }else{
- newHours += t2.hours- t1.hours;
- }
- struct time newTime = {newHours, newMinutes, newSeconds};
- return newTime;
- }
- int main(void){
- struct time time1 = {2,14,31}, time2 = {0, 16, 31};
- struct time newTime = elapsed_time(time1, time2);
- printf("The difference between the times are %.2i:%.2i.%.2i", newTime.hours, newTime.minutes, newTime.seconds);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement