2009-11-09 5 views
0

, 우리는 우리가 두 번 사이의 차이를 계산하는 방법을 만들 수 있습니다상수 포인터/구조체 내 프로그래밍 클래스에서

struct Time { 
    int hours, min, sec; 
} 

이 초 단위로 모든 것을 가져 와서 두 값을 빼서 시차를 구할 수 있지만, 같은 것을하기위한 여분의 작업처럼 보입니다.

long hour1 = t1->hours; 
long min1 = t1->min; 
long sec1 = t1->sec; 

그런 다음이 값을 사용하여 초 단위로 시간을 얻으십시오. 두 번째 유사 시간을 입력 한 다음 빼십시오. 이견있는 사람? 감사!

+0

C 또는 C++? – GManNickG

+0

당신이 묘사 한 방법은 실제로 그것을하는 매우 합리적인 방법입니다. 컴퓨터는 그처럼 어리 석다. 두 시간 값이 하루 이상에 걸쳐있을 수 있다는 우려없이 두 시간 값이 항상 같은 날 내에 있다고 가정합니다. t1이 t2보다 낮더라도 가능하고 반대로도 가능합니까? 명심해야 할 것이 있습니다. – Jeff

답변

3

당신이 묘사 한 방식대로 정확하게 들립니다.

int sec = t1->sec + 60*(t1->min + 60*t1->hours); 

마찬가지로 다음과 같이 할 수도 있습니다. t2와 비슷하게 다른 하나를 빼고 결과를 분과 시간으로 나눕니다.

+0

가장 일반적인 방법이며 일을 포함하도록 쉽게 확장 할 수 있다고 동의합니다. struct time을 secs로 변환하고 하나는 역순으로 변환하는 두 개의 함수를 만듭니다. – Dipstick