現在価値の表示
このステップでは、現在価値計算プログラムを強化し、フォーマットされた出力とエラー処理を追加してユーザーエクスペリエンスを向上させます。
改良されたフォーマットと検証を含めて 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
主な改善点:
- 無効な入力を防ぐための入力検証を追加
- 明確なラベルで出力フォーマットを強化
- ユーザー入力のエラー処理を改善
- 説明的なプロンプトと計算概要を追加