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.
Lo podéis ver aquí: http://www.romanabades.com/descuento.htm

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%.

Para descargar el ejecutable clic aquí.

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: