2016-02-19 3 views
1
//calculate on interest rate 
    for(rate=0.05; rate <=0.1; rate++) 
    { 

     amount = principal*pow(1+rate, year); 

     // output data 
     printf("%0.2f $%8.2f\n", rate, amount); 

    } 

Я должен показать процентную ставку от 5 процентов до 10 процентов для внешнего цикла. По какой-то причине он не будет отображаться с 0.05 до 0.10. Когда я меняю числа от 0,05 до 5 и от 0,10 до 10. Это работает для меня.сложный интерес для цикла (C++)

Это дало мне подсказку, что я не могу использовать десятичные точки для цикла. Как я могу это исправить? Я должен отображать десятичные знаки.

ответ

1

Вы увеличиваете размер файла rate на 1 (через rate++), но на самом деле вы хотите увеличить его на 0.01. Попробуйте это вместо:

for(rate = 0.05f; rate <= 0.1f; rate += 0.01f) 
{ 
    ... 
} 
+0

да ставка была объявлена ​​как поплавок. Не работает. – blacklune

+0

@blacklune Я обновил свой ответ. – Buddy

+0

О, я этого никогда не знал. Большое вам спасибо :) – blacklune

0

Как вы думаете, что ++ будет делать с плавающим числом? Плюс 0,1, или 0,01, или 0,001? Он добавляет ONE (1) к числу независимо от типа, например. INT, поплавок, двойной и т.д.

0

графы во втором знаков после запятой затем разделить на 100 при расчете

for (rate = 5; rate <= 10; rate++) 
{ 
    amount = principal * pow(1 + rate/100.0, year); 

    printf("%0.2f $%8.2f\n", rate/100.0, amount); 
} 
Смежные вопросы