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

C++로 km/h 속도를 m/s로 변환하는 프로그램 (그리고 그 반대)

일상생활에서 자동차의 속도는 보통 km/h(킬로미터 매 시간) 단위로 표현하지만, 물리학이나 과학 계산에서는 m/s(미터 매 초) 단위가 표준으로 사용됩니다. 이 글에서는 C++을 이용해 두 단위 사이의 속도를 서로 변환하는 방법을 알아보겠습니다.

변환 공식

두 단위 간의 변환은 다음과 같은 수식으로 이루어집니다.

1 km/h = 5/18 m/sec ≈ 0.277778 m/sec
1 m/sec = 18/5 km/hr = 3.6 km/hr

이 공식의 원리는 간단합니다. 1시간은 3600초이고 1킬로미터는 1000미터이므로, km/h 값을 3600으로 나누고 1000을 곱하면(즉, 5/18을 곱하면) m/s 값이 됩니다. 반대로 m/s 값에 3.6을 곱하면 km/h 값이 됩니다.

예제 입출력

입력: km = 60.00
mk = 70.00
출력: speed in meter per second = 16.6667
speed in km per hour = 252

알고리즘

  1. km/h를 m/s로 변환하는 함수를 선언합니다. 함수 내부에서 입력값에 0.277778을 곱한 결과를 반환합니다.
  2. m/s를 km/h로 변환하는 함수를 선언합니다. 함수 내부에서 입력값에 3.6을 곱한 결과를 반환합니다.
  3. main() 함수에서 float형 변수 km = 60.0과 mk = 70.0을 선언합니다.
  4. 각 변환 함수를 호출하여 결과를 출력합니다.

C++ 구현 코드

#include <bits/stdc++.h>
using namespace std;

// km/h를 m/s로 변환하는 함수
float km_m(float km){
    return (0.277778 * km);
}

// m/s를 km/h로 변환하는 함수
float m_km(float mk){
    return (3.6 * mk);
}

int main(){
    float km = 60.0;
    float mk = 70.0;
    cout << "speed in meter per second = " << km_m(km) << endl
         << "speed in km per hour = " << m_km(mk);
    return 0;
}

실행 결과

speed in meter per second = 16.6667
speed in km per hour = 252

코드 설명

위 코드는 두 개의 독립적인 변환 함수로 구성되어 있습니다. km_m() 함수는 킬로미터 매 시간 단위의 속도를 받아 미터 매 초 단위로 변환하며, m_km() 함수는 그 반대의 연산을 수행합니다. main() 함수에서는 각각 60km/h와 70m/s를 테스트 값으로 사용하여 변환 결과를 화면에 출력합니다.

60km/h는 약 16.67m/s이며, 70m/s는 252km/h에 해당합니다. 이처럼 간단한 곱셈 연산만으로 두 단위 간의 변환이 가능하기 때문에, 실제 프로젝트에서도 속도 관련 계산에 널리 활용될 수 있습니다.