Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*##############################################
- # #
- # Hora futura 2 #
- # Para: HxC #
- # Prpuesto por: quuim #
- # De: Tryger #
- # #
- # Devuelve la hora (en base 12) y el #
- # minuto que sera dentro de x horas y #
- # y minutos, tomando la hora actual, el #
- # minuto actual y un numero de horas y #
- # de minutos. #
- # #
- ##############################################*/
- #include <stdio.h>
- void calculate(int, int, int, int); // Cuerpo del programa
- void calculate(int nh, int nm, int ah, int am) {
- if (am > 59) { // Si los minutos a añadir sobrepasan 1 hora
- ah += (nm + am) / 60; // Le sumamos a las horas a añadir las horas totales que suman los minutos
- am = (nm + am) % 60; // Ponemos los minutos menores a una hora
- }
- if (nm + am > 59) // Si los min actuales + los min a añadir sobrepasan la hora
- nh++; // Añadimos una hora mas a la hora actual
- printf("En %d horas y %d minutos, seran las %d:%d %s",ah, am,
- (nh + ah) % 12, // Las horas en base 12
- nm + am > 59 ? nm + am - 60 : nm + am, // Si minutos actuales + minutos a añadir sobrepasan la hora, imprimimos la suma de estos - 1 hora
- (nh + ah) % 24 < 12 ? "am" : "pm"); // Si la hora en base 24 es menor que 20, se imprime "am", si no, "pm"
- }
- int main() {
- int nh, nm, ah, am; // nh = hora actual, nm = minutos actuales; ah = horas añadidas, am = minutos añadidos
- printf("Hora actual: ");
- scanf("%d", &nh);
- printf("Minuto actual: ");
- scanf("%d", &nm);
- printf("Horas a añadir: ");
- scanf("%d", &ah);
- printf("Minutos a añadir: ");
- scanf("%d", &am);
- calculate(nh, nm, ah, am);
- getchar();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement