2016-08-03 9 views
0

Intent: Эта программа запрашивает у пользователя сумму, которая в настоящее время находится на их банковском счете, в APR и количестве лет. Вывод - это начало и конец суммы, которая показывает накопительный интерес за годы, указанные пользователем.C program: Расчет процентов

Вопрос: Я пытаюсь найти способ правильно добавить интерес, так как прямо сейчас в течение определенного количества лет все, что я делаю, умножает (текущая сумма на банковский счет * процентная ставка * года), я знаю, что это неправильно, и я думаю, что мне нужна петля для аккумулирования процентной ставки от одного года к другому, и вот где мне нужно help.Thanks и вот мой текущий код ниже ...


Код

#include <stdio.h> 
#include <stdlib.h> 

float getPV() 
{ 
    float d; 
    float start; 
    printf("Start: "); 
    scanf("%f", &start); 
    d = start; 
    return d; 
} 


void getIR(float *a) 
{ 
    printf("Rate: "); 
    scanf("%f",a); 
} 

void getNP(int *years) 
{ 
    printf("NumPeriods: "); 
    scanf("%d", years); 
} 
float interest(float a,float b,float c) 
{ 
    float x; 

    x = a*b*c; 
    return x; 
} 

int main() 
{ 
    float pv,ir,fv,Total; 
    int np; 

    pv = getPV();  //Amount in account 

    getIR(&ir);  // APR 

    getNP(&np);  // Number of years 

    fv = interest(pv,ir,np); 
    Total=fv + pv; 
    printf("Starting: %.2f\n", pv); 
    printf(" Ending: %.2f\n", Total); 

    return 0; 
} 
+0

** ПОЖАЛУЙСТА ** отредактируйте свой вопрос, чтобы сделать его читаемым. См .: http://stackoverflow.com/editing-help –

+0

Вы хотите простой или сложный интерес? Также уменьшите шрифт вопроса до более управляемого размера. предпочтительно по умолчанию. –

+0

Не знаете, какую помощь вам нужно. Да, вам нужен цикл, если вы не будете пылесосить функцию ['pow()'] (http://en.cppreference.com/w/c/numeric/math/pow). Любой из буквально миллионов мест в Интернете может дать вам формулу для усугубляющего интереса, которую затем перевести на цикл или на вызов этой функции. – WhozCraig

ответ

0

Может быть, что-то вроде этого?

float interest(float a,float b,float c) 
{ 
    return a * pow(1.0f + b, c); 
} 

Предполагая, что b представляет собой число, как 0,05 означает 5% в год, а это c несколько лет (который не должен быть целым числом).

+0

Имя этой функции не отражает то, что она фактически вычисляет. Это действительно правильная формула для вычисления * будущего значения *, но не * интерес *. Процент может быть рассчитан путем вычитания «1.0» с правого термина до окончательного умножения. Правильная идея, однако. – WhozCraig

+0

Я просто скопировал подпись функции OP. Я согласен, что выбор подходящих имен очень важен. _ В «Информатике» есть только две вещи: кэширование недействительности и написание вещей. _^_ ^ –

Смежные вопросы