목적
- 시간의 단위를 이해하고 C++ 에 적용 시킨다.
문제
코드
#include <iostream>
using namespace std;
int main(void)
{
int iHour_A, iMin_A, iSec_A, iAddSec, iHour_B, iMin_B, iSec_B;
iHour_A = iMin_A = iSec_A = iAddSec = iHour_B = iMin_B = iSec_B = 0;
cout << "현재 시간을 입력 : ";
cin >> iHour_A >> iMin_A >> iSec_A;
cout << "추가할 시간(초) : ";
cin >> iAddSec;
iHour_B = (iHour_A * 3600 + iMin_A * 60 + iSec_A + iAddSec) / 3600;
iMin_B = (iHour_A * 3600 + iMin_A * 60 + iSec_A + iAddSec) % 3600 / 60;
iSec_B = (iHour_A * 3600 + iMin_A * 60 + iSec_A + iAddSec) % 60;
cout << iHour_A << "시 " << iMin_A << "분 " << iSec_A << "초 부터 "
<< iAddSec <<"초 후 시간 : "
<< iHour_B << "시 " << iMin_B << "분 " << iSec_B << "초" << endl;
return 0;
}
해설
- 시간은 전체 초를 3600초로 나누고 분은 전체초를 3600 한 나머지를 60으로 나누고 초는 전체 초를 60으로 나눈 나머지를 구하면 됩니다. 즉 그 단위에 맞는 숫자로 나누면 그 단위에 맞는 숫자가 나오며 그이하의 단위의 값을 구할려면 바로 상위 단위의 동등 숫자를 나눈 나머지를 그 아래 동등 숫자로 나눈 몫을 대입하면 나옵니다.
참고
- 유사 문제 검색