Boa tarde, estava a criar um programa para saber a diferença dos tempos, como a diferença poderia dar valores negativos decidi utilizar o módulo.
Assim, utilizei a biblioteca
#include <math.h>
e o seguite código:
tempo= tempo1 -tempo2;
tempo= abs(tempo);
O programa que fiz para saber a diferença entre tempos para quem esteja interessado foi o seguinte:
#include <stdio.h>
#include <math.h>/*funçoes matematica*/
int main() {
unsigned int d1/*dia_1*/,h1/*hora_1*/,m1/*minuto1_*/,s1/*segundo_1*/,d2/*dia_2*/,h2/*hora_2*/,m2/*minuto_2*/,s2/*segundo_2*/;
unsigned long int tempo,tempo1,tempo2;
printf(" Introduza o tempo no.1 (dia)d (hora)h (minuto)m (segundo)s:\n ");
scanf("%ud %uh %um %us",&d1,&h1,&m1,&s1);
printf(" Introduza o tempo no.2 (dia)d (hora)h (minuto)m (segundo)s:\n ");
scanf("%ud %uh %um %us",&d2,&h2,&m2,&s2);
/*Converter o tempo em segundos*/
tempo1= ((d1*24 + h1)*60 +m1)*60 +s1;
tempo2= ((d2*24 + h2)*60 +m2)*60 +s2;
/*Obrigar a lidar no máximo 1000dias*/
if( tempo1<=86400000 && tempo2<=86400000 ){
/*Subtração dos tempos*/
tempo= tempo1 -tempo2;
tempo= abs(tempo);/*modulo do tempo*/
/*Tempo final*/
d1= tempo/86400;
h1= (tempo/3600)-(d1*24);
m1= (tempo/60)-(h1*60);
s1= (tempo/60)-(m1*60);
/*resposta final*/
printf("A diferença entre os dois tempos é de %lu segundos = %ud %uh %um %us\n",tempo,d1,h1,m1,s1);
}
else
printf("Desculpe, mas o numero maximo para cada um dos tempos é de 1000dias.Tende novamente");
}
Espero que tenham gostado,
ASSISSI