Browse Source

make timer display show hours and minutes

Chris Cromer 7 months ago
parent
commit
c32dd469d0
Signed by: Chris Cromer <chris@cromer.cl> GPG Key ID: 39CC813FF3C8708A
1 changed files with 26 additions and 2 deletions
  1. 26
    2
      src/timer.c

+ 26
- 2
src/timer.c View File

@@ -15,7 +15,6 @@
15 15
 
16 16
 #include <stdio.h>
17 17
 #include <time.h>
18
-#include "timer.h"
19 18
 
20 19
 /**
21 20
  * Cuando empezó el timer
@@ -57,7 +56,26 @@ void print_timer() {
57 56
 		fprintf(stderr, "Error: El temporizador no ha terminado todavía!\n");
58 57
 	}
59 58
 	else {
60
-		fprintf(stdout, "Tiempo de ejecución: %ld segundos\n", (long int) (stop_time - start_time));
59
+		long int seconds = (long int) (stop_time - start_time);
60
+		long int minutes = 0;
61
+		long int hours = 0;
62
+		if (seconds >= 3600) {
63
+			hours = seconds / 3600;
64
+			seconds = seconds - (hours * 3600);
65
+			if (seconds >= 60) {
66
+				minutes = seconds / 60;
67
+				seconds = seconds - (minutes * 60);
68
+			}
69
+			fprintf(stdout, "Tiempo de ejecución: %ld horas, %ld minutos y %ld segundos\n", hours, minutes, seconds);
70
+		}
71
+		else if (seconds >= 60) {
72
+			minutes = seconds / 60;
73
+			seconds = seconds - (minutes * 60);
74
+			fprintf(stdout, "Tiempo de ejecución: %ld minutos y %ld segundos\n", minutes, seconds);
75
+		}
76
+		else {
77
+			fprintf(stdout, "Tiempo de ejecución: %ld segundos\n", seconds);
78
+		}
61 79
 	}
62 80
 }
63 81
 
@@ -66,5 +84,11 @@ void print_timer() {
66 84
  * @return El tiempo que demoró
67 85
  */
68 86
 long int get_timer() {
87
+	if (start_time == 0) {
88
+		fprintf(stderr, "Error: El temporizador no ha comenzado todavía!\n");
89
+	}
90
+	else if (stop_time == 0) {
91
+		fprintf(stderr, "Error: El temporizador no ha terminado todavía!\n");
92
+	}
69 93
 	return (long int) (stop_time - start_time);
70 94
 }

Loading…
Cancel
Save