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

C++로 구현하는 원뿔대(절두체)의 부피와 표면적 계산 프로그램


원뿔대(절두체)란 무엇인가?

원뿔대(절두체, Frustum of Cone)는 원뿔의 꼭짓점 부분을 잘라내어 만든 입체 도형입니다. 꼭짓점을 자르고 남은 아래쪽 밑면과 위쪽 밑면 사이의 부분이 바로 절두체입니다. 원뿔대의 위쪽 밑면 반지름은 'r', 아래쪽 밑면 반지름은 'R'로 표기하며, 높이는 'h', 모선(빗면의 길이)은 'L'로 나타냅니다.

다음은 원뿔대의 형태를 나타낸 그림입니다.

C++로 구현하는 원뿔대(절두체)의 부피와 표면적 계산 프로그램

문제 정의

모선 길이, 높이, 위쪽 밑면 반지름 'r', 아래쪽 밑면 반지름 'R'이 주어졌을 때, 원뿔대의 부피와 표면적을 계산하는 것이 이 프로그램의 목표입니다.

원뿔대의 부피와 표면적을 구하기 위한 공식은 다음과 같습니다.

부피 (V) = 1/3 * π * h(r² + R² + r·R)
옆면적 (CSA) = π * l(R + r)
전체 표면적 (TSA) = π * l(R + r) + π(R² + r²)

입력 및 출력 예시

입력: r=4, R=9, h=12, L=13
출력:
원뿔대의 부피 : 1671.33
원뿔대의 옆면적 : 530.929
원뿔대의 전체 표면적 : 835.663

알고리즘

시작
1단계 → 매크로 정의
    #define pi 3.14
2단계 → 원뿔대의 부피를 계산하는 함수 선언
    float volume(float r, float R, float h)
        return (float(1) / float(3)) * pi * h * (r * r + R * R + r * R)
3단계 → 원뿔대의 옆면적을 계산하는 함수 선언
    float CSA(float r, float R, float l)
        return pi * l * (R + r)
4단계 → 원뿔대의 전체 표면적을 계산하는 함수 선언
    float TSA(float r, float R, float l, float h)
        return pi * l * (R + r) + pi * (r * r + R * R)
5단계 → main() 함수에서
    변수 R1=4, R2=9, slantHeight=13, height=12 선언
    volume(R1, R2, height) 호출
    CSA(R1, R2, slantHeight) 호출
    TSA(R1, R2, slantHeight, height) 호출
종료

C++ 구현 예제

#include <iostream>
#define pi 3.14159
using namespace std;
// 원뿔대의 부피를 계산하는 함수
float volume(float r, float R, float h){
    return (float(1) / float(3)) * pi * h * (r * r + R * R + r * R);
}
// 원뿔대의 옆면적을 계산하는 함수
float CSA(float r, float R, float l){
    return pi * l * (R + r);
}
// 원뿔대의 전체 표면적을 계산하는 함수
float TSA(float r, float R, float l, float h){
    return pi * l * (R + r) + pi * (r * r + R * R);
}
int main(){
    float R1 = 4;
    float R2 = 9;
    float slantHeight = 13;
    float height = 12;
    cout << "원뿔대의 부피 : " << volume(R1, R2, height) << endl;
    cout << "원뿔대의 옆면적 : " << CSA(R1, R2, slantHeight) << endl;
    cout << "원뿔대의 전체 표면적 : " << TSA(R1, R2, slantHeight, height);
    return 0;
}

실행 결과

원뿔대의 부피 : 1671.33
원뿔대의 옆면적 : 530.929
원뿔대의 전체 표면적 : 835.663