2010-03-03 3 views
2

누군가 20 시간 42 분 & 한 시프트에서 총 74536 초의 16 초. 그 교대 근무 시간 (초)에서 어떻게 시간을 얻습니까?모듈러스가있는 시간 구성 요소를 반환하는 중

20 * 60 * 60  = 72000 
    42 * 60  =  2520 
      16  =  16 
        + ----- 
Total    = 74536 
____________________________ 
Total % 60  = Seconds (16) 
Total % ?   = Minutes (42) 
Total % ?   = Hours (20) 

이미 시도한 84600; 숫자가 모듈러스가 낮을 때 밝혀졌습니다. 실제로는별로 도움이되지 않습니다. 누군가가 몇 초 동안 만 로그인해야하는 경우 ...

+0

NB : 74536 % 3600 = 2536. –

답변

4

계수와 나누기를 모두 사용해야합니다. :

t = seconds_in_shift; 
secs = t % 60; 
t /= 60; 
mins = t % 60; 
t /= 60; 
hour = t; 

또는 :

,755,491,189 :

또 다른 옵션은 표준 C에서 div() 기능 (<stdlib.h>)를 사용

그 후 v1.rem에는 초가 포함됩니다. v2.rem에는 분이 포함되고 v2.quot에는 원래 초 수를 기반으로 한 시간이 포함되어 있습니다 (ttime).

+0

그런 다음 결과를 바닥에 배치하거나 int로 캐스트하십시오. –

관련 문제