C 언어로 미래 가치의 현재 가치 계산

CBeginner
지금 연습하기

소개

이 실습에서는 C 프로그래밍을 사용하여 미래 금액의 현재 가치를 계산하는 방법을 배웁니다. 이 실습은 재무 매개변수 (미래 가치, 이자율, 기간) 를 읽고 현재 가치 공식을 적용하여 현재 가치를 계산하는 필수 단계를 다룹니다. 이 실습은 C 에서 현재 가치 계산을 이해하고 구현하는 데 도움이 되는 단계별 가이드와 코드 예제를 제공합니다.

이 실습은 scanf() 함수를 사용하여 사용자 입력을 읽고 이를 배정도 부동소수점 숫자로 저장한 다음, 다음 공식을 사용하여 현재 가치를 계산하는 방법을 보여줍니다. 현재 가치 (PV) = 미래 가치 (FV) / (1 + 이자율)^기간. 계산된 현재 가치는 그 결과를 확인할 수 있도록 콘솔에 출력됩니다.

미래 가치, 이자율, 기간 입력

이 단계에서는 현재 가치를 계산하기 위한 필수적인 재무 매개변수인 미래 가치, 이자율, 기간을 입력하는 방법을 배웁니다.

먼저 현재 가치 계산을 위한 새로운 C 파일을 생성합니다.

cd ~/project
nano present_value.c

이제 입력 값을 읽는 코드를 작성해 봅시다.

#include <stdio.h>
#include <math.h>

int main() {
    double future_value, rate, time;

    printf("미래 가치를 입력하세요: ");
    scanf("%lf", &future_value);

    printf("연 이자율 (소수점으로 입력): ");
    scanf("%lf", &rate);

    printf("기간 (년 단위): ");
    scanf("%lf", &time);

    printf("입력값:\n");
    printf("미래 가치: %.2f\n", future_value);
    printf("이자율: %.2f%%\n", rate * 100);
    printf("기간: %.2f 년\n", time);

    return 0;
}

프로그램을 컴파일합니다.

gcc -o present_value present_value.c -lm

프로그램 실행 시 예시 출력:

미래 가치를 입력하세요: 1000
연 이자율(소수점으로 입력): 0.05
기간(년 단위): 3
입력값:
미래 가치: 1000.00
이자율: 5.00%
기간: 3.00년

이 코드는 다음을 보여줍니다.

  • scanf()를 사용하여 미래 가치, 이자율, 기간에 대한 사용자 입력을 읽는 방법
  • 입력 값을 배정도 부동소수점 숫자로 저장하는 방법
  • 입력된 값을 출력하여 정확한 입력을 확인하는 방법

PV = FV/(1+R)^T

이 단계에서는 재무 공식인 현재 가치 (PV) = 미래 가치 (FV) / (1 + 이자율)^기간을 사용하여 현재 가치를 계산합니다.

이전에 작성한 present_value.c 파일을 수정하여 계산을 포함시킵니다.

nano ~/project/present_value.c

현재 가치 계산을 포함하여 코드를 업데이트합니다.

#include <stdio.h>
#include <math.h>

int main() {
    double future_value, rate, time, present_value;

    printf("미래 가치를 입력하세요: ");
    scanf("%lf", &future_value);

    printf("연 이자율 (소수점으로 입력): ");
    scanf("%lf", &rate);

    printf("기간 (년 단위): ");
    scanf("%lf", &time);

    // 현재 가치 계산
    present_value = future_value / pow((1 + rate), time);

    printf("\n계산 결과:\n");
    printf("미래 가치: %.2f\n", future_value);
    printf("이자율: %.2f%%\n", rate * 100);
    printf("기간: %.2f 년\n", time);
    printf("현재 가치: %.2f\n", present_value);

    return 0;
}

업데이트된 프로그램을 컴파일하고 실행합니다.

gcc -o present_value present_value.c -lm
./present_value

예시 출력:

미래 가치를 입력하세요: 1000
연 이자율(소수점으로 입력): 0.05
기간(년 단위): 3

계산 결과:
미래 가치: 1000.00
이자율: 5.00%
기간: 3.00년
현재 가치: 862.07

이 코드의 주요 내용:

  • <math.h>pow() 함수를 사용하여 (1 + 이자율)^기간을 계산합니다.
  • 현재 가치 공식: PV = FV / (1 + R)^T 를 구현합니다.
  • 자세한 계산 결과를 표시합니다.

현재 가치 출력

이 단계에서는 현재 가치 계산 프로그램을 개선하여 사용자 경험을 향상시키기 위해 포맷된 출력과 오류 처리를 추가합니다.

개선된 포맷과 유효성 검사를 포함하여 present_value.c 파일을 업데이트합니다.

nano ~/project/present_value.c

개선된 출력 포맷을 포함하여 코드를 수정합니다.

#include <stdio.h>
#include <math.h>

int main() {
    double future_value, rate, time, present_value;

    // 입력 유효성 검사
    printf("현재 가치 계산기\n");
    printf("------------------\n");

    printf("미래 가치를 입력하세요 (양수여야 함): ");
    if (scanf("%lf", &future_value) != 1 || future_value <= 0) {
        printf("오류: 유효하지 않은 미래 가치입니다. 양수를 입력하세요.\n");
        return 1;
    }

    printf("연 이자율을 입력하세요 (소수점, 예: 0.05 는 5%): ");
    if (scanf("%lf", &rate) != 1 || rate < 0) {
        printf("오류: 유효하지 않은 이자율입니다. 음수가 아닌 숫자를 입력하세요.\n");
        return 1;
    }

    printf("기간 (년) 을 입력하세요 (양수여야 함): ");
    if (scanf("%lf", &time) != 1 || time <= 0) {
        printf("오류: 유효하지 않은 기간입니다. 양수를 입력하세요.\n");
        return 1;
    }

    // 현재 가치 계산
    present_value = future_value / pow((1 + rate), time);

    // 포맷된 출력
    printf("\n--- 현재 가치 계산 ---\n");
    printf("미래 가치:     $%.2f\n", future_value);
    printf("연 이자율:      %.2f%%\n", rate * 100);
    printf("기간:          %.2f 년\n", time);
    printf("현재 가치:    $%.2f\n", present_value);

    return 0;
}

업데이트된 프로그램을 컴파일하고 실행합니다.

gcc -o present_value present_value.c -lm
./present_value

예시 출력:

현재 가치 계산기
------------------
미래 가치를 입력하세요 (양수여야 함): 1000
연 이자율을 입력하세요 (소수점, 예: 0.05는 5%): 0.05
기간(년)을 입력하세요 (양수여야 함): 3

--- 현재 가치 계산 ---
미래 가치:     $1000.00
연 이자율:      5.00%
기간:          3.00년
현재 가치:    $862.07

주요 개선 사항:

  • 잘못된 입력을 방지하기 위한 입력 유효성 검사 추가
  • 명확한 레이블이 있는 출력 포맷 개선
  • 사용자 입력에 대한 오류 처리 개선
  • 설명적인 프롬프트와 계산 요약 추가

요약

이 실습에서는 미래 가치, 이자율, 기간 등 현재 가치 계산에 필수적인 재무 파라미터를 읽는 방법을 배우게 됩니다. 그런 다음, 재무 공식인 현재 가치 (PV) = 미래 가치 (FV) / (1 + 이자율)^기간을 사용하여 현재 가치를 계산합니다. 이 실습은 C 프로그래밍을 사용하여 사용자에게 입력을 요청하고, 계산을 수행하며, 결과로 나오는 현재 가치를 표시하는 방법을 보여줍니다.