martes, junio 21, 2011

El descuento por pronto pago

Este es un tema más complicado que lo que parece. Normalmente nos indican algo así: 3/10, n/90 que significa: 3% de descuento si pagas en 10 días importe Neto si pagas a 90. Las fórmulas que hay detrás tienen su complicación. Este programa que he hecho en C++ lo podéis compilar con cualquier compilador libre. Calcula el tipo de interés real que tenemos que tener en cuenta. En el ejemplo que he puesto (3% de descuento por pronto pago) el coste de financiación anual equivalente llega al 14,91%. El código fuente:
#include <iostream>;
#include <math.h>;
#include <iomanip>;
using namespace std;

int main()
{
  float descuento;
  float costeFinanciacion;
  float costeFinanciacionAnual;
  float diasSinDescuento;
  float diasDescuento;
  cout<<"\n\nCoste de \n";
  cout<<"---------------------------------------\n\n";
  cout<<"Descuento (%): ";
  cin>>descuento;
  cout<<"\nDias para pagar (con descuento): ";
  cin>>diasDescuento;
  cout<<"\nDias para pagar (sin descuento): ";
  cin>>diasSinDescuento;
  cout<<std::endl<<"Coste de financiacion enganosa: ";
  costeFinanciacion = descuento*100/(100-descuento);
  cout<<setprecision(4)<<costeFinanciacion<<" %\n\n";
  cout<<"Coste de financiacion anual equivalente:\n\n";
  costeFinanciacionAnual = pow((1 + (costeFinanciacion/100)),(365/(diasSinDescuento-diasDescuento))) - 1;
  cout<<costeFinanciacionAnual * 100<<" %"<<std::endl<<std::endl;

  cin.sync();
  cin.get();

  return 0;
}
Por cierto, para el coloreado del código fuente he utilizado este sitio de "Online syntax highlighting". Saludos.

No hay comentarios: