Расчет будущей стоимости аннуитета на C

CBeginner
Практиковаться сейчас

Введение

В этом лабораторном практикуме вы научитесь вычислять будущую стоимость аннуитета с помощью языка программирования C. Практикум охватывает пошаговый процесс ввода необходимых финансовых параметров, таких как периодический платеж, процентная ставка и количество периодов, а затем применение стандартной формулы будущей стоимости аннуитета для расчета конечной будущей стоимости. По завершении практикума у вас будет работающая программа на языке C, которая может выполнять этот финансовый расчет.

Практикум начинается с руководства по вводу входных параметров от пользователя. Затем он представляет формулу будущей стоимости аннуитета и показывает, как реализовать её на языке C. Наконец, практикум демонстрирует, как вывести рассчитанную будущую стоимость в консоль.

Чтение Платежа, Ставки и Количества Периодов

В этом шаге вы узнаете, как читать ключевые финансовые параметры, необходимые для расчета будущей стоимости аннуитета в C. Мы создадим программу, которая попросит пользователя ввести сумму периодического платежа, процентную ставку и количество периодов.

Сначала создадим новый файл C для нашего финансового расчета:

cd ~/project
nano annuity_future_value.c

Теперь введите следующий код для чтения финансовых параметров:

#include <stdio.h>

int main() {
    double payment, rate;
    int periods;

    // Запрос ввода от пользователя
    printf("Введите сумму периодического платежа: ");
    scanf("%lf", &payment);

    printf("Введите годовую процентную ставку (в виде десятичной дроби): ");
    scanf("%lf", &rate);

    printf("Введите количество периодов: ");
    scanf("%d", &periods);

    // Вывод введенных значений
    printf("\nВведенные параметры:\n");
    printf("Периодический платеж: $%.2f\n", payment);
    printf("Годовая процентная ставка: %.2f%%\n", rate * 100);
    printf("Количество периодов: %d\n", periods);

    return 0;
}

Компилируем и запускаем программу:

gcc annuity_future_value.c -o annuity_future_value
./annuity_future_value

Пример вывода:

Введите сумму периодического платежа: 1000
Введите годовую процентную ставку (в виде десятичной дроби): 0.05
Введите количество периодов: 10

Введенные параметры:
Периодический платеж: $1000.00
Годовая процентная ставка: 5.00%
Количество периодов: 10

Давайте разберем код:

  • Мы используем double для payment и rate, чтобы обрабатывать десятичные значения.
  • scanf() используется для чтения входных данных пользователя для платежа, ставки и периодов.
  • Форматный спецификатор %lf используется для чтения чисел с плавающей точкой двойной точности.
  • %d используется для чтения целых значений.
  • Мы выводим введенные значения, чтобы подтвердить ввод пользователя.

FV = Payment*((1+R)^N -1)/R

В этом шаге вы реализуете расчет будущей стоимости аннуитета, используя стандартную финансовую формулу. Мы изменим предыдущую программу на C, чтобы вычислить и отобразить будущую стоимость.

Откройте существующий исходный файл:

cd ~/project
nano annuity_future_value.c

Обновите код, включив в него расчет будущей стоимости:

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

int main() {
    double payment, rate, future_value;
    int periods;

    // Запрос ввода от пользователя
    printf("Введите сумму периодического платежа: ");
    scanf("%lf", &payment);

    printf("Введите годовую процентную ставку (в виде десятичной дроби): ");
    scanf("%lf", &rate);

    printf("Введите количество периодов: ");
    scanf("%d", &periods);

    // Расчет будущей стоимости
    future_value = payment * ((pow(1 + rate, periods) - 1) / rate);

    // Вывод введенных параметров и будущей стоимости
    printf("\nВведенные параметры:\n");
    printf("Периодический платеж: $%.2f\n", payment);
    printf("Годовая процентная ставка: %.2f%%\n", rate * 100);
    printf("Количество периодов: %d\n", periods);
    printf("\nБудущая стоимость: $%.2f\n", future_value);

    return 0;
}

Скомпилируйте программу с математической библиотекой:

gcc annuity_future_value.c -o annuity_future_value -lm

Запустите программу:

./annuity_future_value

Пример вывода:

Введите сумму периодического платежа: 1000
Введите годовую процентную ставку (в виде десятичной дроби): 0.05
Введите количество периодов: 10

Введенные параметры:
Периодический платеж: $1000.00
Годовая процентная ставка: 5.00%
Количество периодов: 10

Будущая стоимость: $12578.95

Ключевые моменты расчета:

  • pow(1 + rate, periods) вычисляет коэффициент сложных процентов.
  • Формула Payment * ((1+R)^N - 1) / R вычисляет будущую стоимость.
  • Флаг -lm используется для подключения математической библиотеки для функции pow().

Вывод Будущей Стоимости

В этом заключительном шаге вы улучшите программу расчета будущей стоимости аннуитета, добавив форматированный вывод и дополнительную финансовую информацию, чтобы результаты были более информативными и удобочитаемыми.

Откройте существующий исходный файл:

cd ~/project
nano annuity_future_value.c

Обновите код, чтобы улучшить форматирование вывода и добавить финансовую информацию:

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

int main() {
    double payment, rate, future_value, total_contribution;
    int periods;

    // Запрос ввода от пользователя
    printf("Калькулятор будущей стоимости финансового аннуитета\n");
    printf("----------------------------------------\n");
    printf("Введите сумму периодического платежа: ");
    scanf("%lf", &payment);

    printf("Введите годовую процентную ставку (в виде десятичной дроби): ");
    scanf("%lf", &rate);

    printf("Введите количество периодов: ");
    scanf("%d", &periods);

    // Расчет будущей стоимости
    future_value = payment * ((pow(1 + rate, periods) - 1) / rate);
    total_contribution = payment * periods;

    // Подробный вывод финансового отчета
    printf("\n--- Финансовый отчет ---\n");
    printf("Периодический платеж:      $%.2f\n", payment);
    printf("Годовая процентная ставка:  %.2f%%\n", rate * 100);
    printf("Количество периодов:     %d\n", periods);
    printf("Общая сумма взносов:    $%.2f\n", total_contribution);
    printf("Будущая стоимость:          $%.2f\n", future_value);
    printf("Общая сумма начисленных процентов: $%.2f\n", future_value - total_contribution);

    return 0;
}

Скомпилируйте программу:

gcc annuity_future_value.c -o annuity_future_value -lm

Запустите программу:

./annuity_future_value

Пример вывода:

Калькулятор будущей стоимости финансового аннуитета
----------------------------------------
Введите сумму периодического платежа: 1000
Введите годовую процентную ставку (в виде десятичной дроби): 0.05
Введите количество периодов: 10

--- Финансовый отчет ---
Периодический платеж:      $1000.00
Годовая процентная ставка:  5.00%
Количество периодов:     10
Общая сумма взносов:    $10000.00
Будущая стоимость:          $12578.95
Общая сумма начисленных процентов: $2578.95

Основные улучшения в этой версии:

  • Добавлено заголовок и разделитель для лучшего пользовательского опыта.
  • Вычисленная общая сумма взносов.
  • Отображена общая сумма начисленных процентов.
  • Используется согласованное форматирование финансовых значений.

Резюме

В этом лабораторном практикуме вы научитесь считывать ключевые финансовые параметры, необходимые для расчета будущей стоимости аннуитета на языке C, включая сумму периодического платежа, процентную ставку и количество периодов. Затем вы реализуете расчет будущей стоимости, используя стандартную финансовую формулу, и отобразите результат. Лабораторный практикум охватывает основные шаги по созданию программы, которая может вычислять будущую стоимость аннуитета, принимая на вход необходимые данные.