목적
  - 시간의 단위를 이해하고 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으로 나눈 나머지를 구하면 됩니다. 즉 그 단위에 맞는 숫자로 나누면 그 단위에 맞는 숫자가 나오며 그이하의 단위의 값을 구할려면 바로 상위 단위의 동등 숫자를 나눈 나머지를 그 아래 동등 숫자로 나눈 몫을 대입하면 나옵니다.

참고
  - 유사 문제 검색

Posted by 카켈