/* This file provides an implementation for library Deprec.

   Names defined:
      StraightLine(), depreciation using straight-line method
      SumOfYears(), depreciation using sum-of-years-digits method
------------------------------------------------------------------*/

#include <iostream.h>
#include <iomanip.h>

/*-------------------------------------------------------------------
StraightLine computes the depreciation of Amount over NumYears,
   using the straight-line method.

   Receive: A (double) Amount, and (int) NumYears
   Output:  A depreciation table
-------------------------------------------------------------------*/

void StraightLine(double Amount, int NumYears)
{
   double
      Depreciation = Amount / NumYears;

   cout << "\nYear -  Depreciation"
        << "\n--------------------\n";

                                             // set up format for $$
   cout << setiosflags(ios::showpoint | ios::fixed)
        << setprecision(2);

   for (int Year = 1; Year <= NumYears; Year++)
      cout << setw(3) << Year
           << setw(11) << Depreciation << '\n';
}

/*--------------------------------------------------------------
SumOfYears displays the depreciation of Amount over NumYears,
   using the sum-of-years-digits method.

   Receive: A (double) Amount, and (int) NumYears
   Output:  A depreciation table
----------------------------------------------------------------*/

void SumOfYears(double Amount, int NumYears)
{
   double
      Depreciation;
   int
      Sum = 0;

   for (int Year = 1; Year <= NumYears; Year++)
      Sum += Year;

   cout << "\nYear -  Depreciation"
        << "\n--------------------\n";

                                             // set up format for $$
   cout << setiosflags(ios::showpoint | ios::fixed)
        << setprecision(2);

   for (Year = 1; Year <= NumYears; Year++)
   {
      Depreciation = (NumYears - Year + 1) * Amount / Sum;
      cout << setw(3) << Year
           << setw(11) << Depreciation << endl;
   }
}
