소개
이 실습에서는 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 프로그래밍을 사용하여 사용자에게 입력을 요청하고, 계산을 수행하며, 결과로 나오는 현재 가치를 표시하는 방법을 보여줍니다.



