C 言語で複利計算を行う方法

CBeginner
オンラインで実践に進む

はじめに

元本、利率、期間の読み込み

このステップでは、C プログラムで複利計算を行う際に、元本、利率、期間を読み込む方法を学びます。これらの財務パラメータのユーザー入力を取得するシンプルなプログラムを作成します。

まず、プロジェクトディレクトリに新しい C ファイルを作成しましょう。

cd ~/project
nano compound_interest.c

次に、入力パラメータを読み込むための以下のコードを追加します。

#include <stdio.h>

int main() {
    // 元本、利率、期間の変数を宣言
    float principal, rate, time;

    // 元本入力を促し、読み込む
    printf("元本を入力してください:");
    scanf("%f", &principal);

    // 利率入力を促し、読み込む
    printf("年利率を入力してください(パーセントで):");
    scanf("%f", &rate);

    // 期間入力を促し、読み込む
    printf("期間を入力してください(年):");
    scanf("%f", &time);

    // 入力値を出力して確認する
    printf("\n入力パラメータ:\n");
    printf("元本:$%.2f\n", principal);
    printf("年利率:%.2f%%\n", rate);
    printf("期間:%.2f 年\n", time);

    return 0;
}

プログラムをコンパイルして実行します。

gcc compound_interest.c -o compound_interest
./compound_interest

実行例:

元本を入力してください: 1000
年利率を入力してください(パーセントで):5
期間を入力してください(年):3

入力パラメータ:
元本: $1000.00
年利率: 5.00%
期間: 3.00 年
説明
  • 財務計算のために、小数値を格納するために float 変数を使用しています。
  • printf() を使用して、ユーザーにプロンプトと指示を表示しています。
  • scanf() を使用して、元本、利率、期間のユーザー入力を読み込んでいます。
  • %.2f の書式指定子を使用して、数値を小数点以下 2 桁で表示しています。

計算式 A = P*(1+R)^T

このステップでは、A = P * (1 + R)^T という数学的公式を用いて複利を計算する方法を学びます。ここで:

  • A = 最終金額
  • P = 元本
  • R = 年利率(小数で)
  • T = 期間(年)

前のプログラムを修正して複利計算を含めます。

cd ~/project
nano compound_interest.c

複利計算を含めたプログラムを更新します。

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

int main() {
    // 元本、利率、期間、金額の変数を宣言
    float principal, rate, time, amount;

    // 元本入力を促し、読み込む
    printf("元本を入力してください:");
    scanf("%f", &principal);

    // 年利率入力を促し、読み込む
    printf("年利率を入力してください(パーセントで):");
    scanf("%f", &rate);

    // 期間入力を促し、読み込む
    printf("期間を入力してください(年):");
    scanf("%f", &time);

    // 利率を小数に変換
    rate = rate / 100;

    // 複利を計算
    amount = principal * pow(1 + rate, time);

    // 結果を出力
    printf("\n入力パラメータ:\n");
    printf("元本:$%.2f\n", principal);
    printf("年利率:%.2f%%\n", rate * 100);
    printf("期間:%.2f 年\n", time);
    printf("\n複利計算結果:\n");
    printf("最終金額:$%.2f\n", amount);
    printf("総利息:$%.2f\n", amount - principal);

    return 0;
}

数学ライブラリを使用してプログラムをコンパイルします。

gcc compound_interest.c -o compound_interest -lm

プログラムを実行します。

./compound_interest

実行例:

元本を入力してください: 1000
年利率を入力してください(パーセントで):5
期間を入力してください(年):3

入力パラメータ:
元本: $1000.00
年利率: 5.00%
期間: 3.00 年

複利計算結果:
最終金額: $1157.63
総利息: $157.63
説明
  • 指数計算を行う pow() 関数を使用するために #include <math.h> を追加しています。
  • rate = rate / 100 でパーセントを小数に変換しています。
  • amount = principal * pow(1 + rate, time) で最終金額を計算しています。
  • コンパイル時に -lm フラグを使用して数学ライブラリをリンクしています。

最終金額の表示

この最終ステップでは、複利計算プログラムを拡張して、フォーマットされた出力を行い、財務結果の表示を改善します。

結果のフォーマットを改善するために、前のプログラムを修正します。

cd ~/project
nano compound_interest.c

出力フォーマットを強化したプログラムを更新します。

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

int main() {
    // 元本、利率、期間、金額、利息の変数を宣言
    float principal, rate, time, amount, interest;

    // 元本入力を促し、読み込む
    printf("複利計算機\n");
    printf("----------------------------\n");
    printf("元本を入力してください:");
    scanf("%f", &principal);

    // 年利率入力を促し、読み込む
    printf("年利率を入力してください(パーセントで):");
    scanf("%f", &rate);

    // 期間入力を促し、読み込む
    printf("期間を入力してください(年):");
    scanf("%f", &time);

    // 利率を小数に変換
    rate = rate / 100;

    // 複利を計算
    amount = principal * pow(1 + rate, time);
    interest = amount - principal;

    // フォーマットされた財務結果を表示
    printf("\n===== 財務計算結果 =====\n");
    printf("元本:            $%10.2f\n", principal);
    printf("年利率:         %10.2f%%\n", rate * 100);
    printf("投資期間:       %10.2f 年\n", time);
    printf("-------------------------------------------\n");
    printf("最終金額:         $%10.2f\n", amount);
    printf("総利息:         $%10.2f\n", interest);
    printf("==========================================\n");

    return 0;
}

プログラムをコンパイルします。

gcc compound_interest.c -o compound_interest -lm

プログラムを実行します。

./compound_interest

実行例:

複利計算機
----------------------------
元本を入力してください: 1000
年利率を入力してください(パーセントで):5
期間を入力してください(年):3

===== 財務計算結果 =====
元本:             $   1000.00
年利率:          5.00%
投資期間:        3.00 年
-------------------------------------------
最終金額:          $   1157.63
総利息:          $    157.63
==========================================
説明
  • ヘッダーと区切り線をより記述的に追加しました。
  • 整列された固定幅の小数出力のために %10.2f の書式指定子を使用しました。
  • より明確な表示のために、利息を別途計算しました。
  • タイトルと構造化された財務結果表示を含めました。

まとめ

この実験では、C プログラムで複利計算を行うために、元本、利率、期間を読み取る方法を学びました。ユーザーにこれらの財務パラメータを入力させ、入力値を出力して検証するシンプルなプログラムを作成しました。次に、A = P * (1 + R)^T という数学的公式を使って複利を計算する方法を学びます。ここで、A は最終金額、P は元本、R は利率、T は期間です。