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

C++로 직육면체의 부피와 표면적 계산하기: 초보자를 위한 완벽 가이드

직육면체(Cuboid)란 무엇인가?

직육면체는 여섯 개의 직사각형 면으로 이루어진 3차원 입체 도형입니다. 각 면은 서로 다른 길이와 너비를 가질 수 있으며, 정육면체와의 차이점은 정육면체는 길이·높이·너비가 모두 같지만 직육면체는 세 값이 서로 다를 수 있다는 점입니다.

직육면체의 주요 성질은 다음과 같습니다.

  • 6개의 면
  • 12개의 모서리
  • 8개의 꼭짓점

문제 정의

직육면체의 길이(L), 너비(W), 높이(H)가 주어졌을 때, 전체 표면적과 부피를 구하는 것이 목표입니다. 여기서 표면적은 직육면체의 모든 면이 차지하는 공간의 크기를 의미하고, 부피는 도형 내부에 담을 수 있는 공간의 크기를 의미합니다.

직육면체의 표면적과 부피를 계산하는 공식은 다음과 같습니다.

전체 표면적 = 2 × (L×W + W×H + L×H)
부피 = L × W × H

예제 입력 및 출력

입력: L=3, H=2, W=3
출력:
직육면체의 부피: 18
직육면체의 전체 표면적: 42

알고리즘

  1. 직육면체의 부피를 구하는 함수를 선언합니다.
    double volume(double l, double h, double w)return (l * h * w)
  2. 직육면체의 표면적을 구하는 함수를 선언합니다.
    double surface_area(double l, double h, double w)return (2 * l * w + 2 * w * h + 2 * l * h)
  3. main() 함수에서 변수 l=3, h=2, w=3을 선언한 뒤, 두 함수를 호출하여 결과를 출력합니다.

C++ 코드 구현

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

// 직육면체의 부피를 계산하는 함수
double volume(double l, double h, double w){
    return (l * h * w);
}

// 직육면체의 전체 표면적을 계산하는 함수
double surface_area(double l, double h, double w){
    return (2 * l * w + 2 * w * h + 2 * l * h);
}

int main(){
    double l = 3;
    double h = 2;
    double w = 3;
    cout << "직육면체의 부피: " << volume(l, h, w) << endl;
    cout << "직육면체의 전체 표면적: " << surface_area(l, h, w);
    return 0;
}

실행 결과

직육면체의 부피: 18
직육면체의 전체 표면적: 42

코드 설명

위 코드는 두 개의 독립적인 함수로 구성되어 있습니다. volume() 함수는 길이, 높이, 너비를 곱하여 부피를 반환하며, surface_area() 함수는 서로 마주 보는 면이 두 쌍씩 존재한다는 원리를 이용해 각 조합의 면적에 2를 곱한 값을 더해 전체 표면적을 계산합니다. main 함수에서는 실수형 변수에 값을 저장한 후 각 함수를 호출하여 결과를 화면에 출력합니다. 이처럼 함수를 분리하면 코드의 가독성이 높아지고 재사용성도 향상됩니다.