이 글에서는 시간(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;를 추가하면 되며, 음수 입력 여부를 검사하는 조건문을 넣으면 더 견고한 프로그램을 만들 수 있습니다.