Так что мне нужно создать метод, в котором я вводим годы и сумму, а консольная программа выводит диаграмму, показывающую обесценивание с двойным снижением баланса.Двойной понижающий баланс в C#
Это то, что у меня есть.
static void doubleDecliningBalance(double amount, int years)
{
Console.WriteLine("{0,-20}{1,10}", "Year", "Depreciation");
Console.WriteLine("----------------------------------");
int count = 0;
double depreciation, amountLeft = 0;
while (count < years)
{
amountLeft = amount;
count = count + 1;
depreciation = (amountLeft * (2/years));
amountLeft = amount - depreciation;
Console.WriteLine("{0,-20}{1,10:C2}", count, amountLeft);
}
}
Теперь, когда я запускаю программу, она не будет обесцениваться. Формула правильная, я думаю, поэтому я в замешательстве, почему она не обесценится, а это означает, что если я вступлю в 5 лет и сумму в 5000 долларов; он просто покажет 5000 за все 5 лет.
вы никогда не обновляете 'amount', поэтому ваш вывод будет одинаковым для каждого цикла. –
Это было бы прекрасное время, чтобы научиться использовать отладчик, чтобы пройти через ваш код, что показало бы вам проблему через два или три прохода через цикл. –