Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++로 시간을 분과 초로 변환하는 방법 – 코드 예제와 알고리즘

이 글에서는 시간(hour)을 입력받아 이를 분(minute)초(second)로 변환한 뒤 결과를 출력하는 C++ 프로그램을 다룹니다.

변환 공식

시간을 분과 초로 변환할 때 사용하는 기본 공식은 다음과 같습니다.

1시간 = 60분
분 = 시간 × 60
1시간 = 3600초
초 = 시간 × 3600

입력 및 출력 예시

입력: hours = 3
출력: 3시간은 분으로 180분
      3시간은 초로 10800초

입력: hours = 5
출력: 5시간은 분으로 300분
      5시간은 초로 18000초

프로그램의 접근 방식

  • 시간 값을 정수형 변수에 입력받습니다.
  • 위의 변환 공식을 적용하여 시간을 분과 초로 계산합니다.
  • 계산된 결과를 화면에 출력합니다.

알고리즘

START
Step 1 -> 시간을 분과 초로 변환하는 함수 선언
    void convert(int hours)
    long long int 형 변수 minutes, seconds 선언
    minutes = hours * 60 대입
    seconds = hours * 3600 대입
    분과 초 출력
Step 2 -> main() 함수에서
    정수형 변수 hours = 3 선언
    convert(hours) 호출
STOP

C++ 구현 코드

#include <bits/stdc++.h>
using namespace std;
// 시간을 분과 초로 변환하는 함수
void convert(int hours) {
    long long int minutes, seconds;
    minutes = hours * 60;
    seconds = hours * 3600;
    cout << hours << "시간은 분으로 " << minutes << endl
         << hours << "시간은 초로 " << seconds;
}
int main() {
    int hours = 3;
    convert(hours);
    return 0;
}

실행 결과

3시간은 분으로 180
3시간은 초로 10800

코드 설명

위 코드에서는 convert() 함수가 변환 로직을 담당합니다. 함수 내부에서 long long int 자료형을 사용한 이유는 큰 값의 곱셈 결과에서 오버플로우를 방지하기 위함입니다. 예를 들어 매우 큰 시간 값이 입력되더라도 안전하게 계산할 수 있습니다.

또한 사용자로부터 직접 시간을 입력받고 싶다면 cin >> hours;를 추가하면 되며, 음수 입력 여부를 검사하는 조건문을 넣으면 더 견고한 프로그램을 만들 수 있습니다.