Duda con Programa (Calcula el % de interes de un préstamo)

Iniciado por WiseHidden, 1 Agosto 2012, 20:37 PM

0 Miembros y 1 Visitante están viendo este tema.

WiseHidden

Muy buenas a todos.

Estoy haciendo un programilla (Para aprender principalmente) que trata sobre lo que podria ser un programa que calcula el % de Interés de un préstamo solicitado.

Pero tengo varias dudas.

1. Me calcula los intereses del total del monto anterior, lo cuál no saldrian las matematicas, me gustaria saber como realizarlo en total y que al igual que en el ejmplo se "especifique" el total del mes anterior sin aplicarselo al total. (Es decir que me calcule el total del intereses y me lo especifique mes a mes)
Ejemplo:

Prestamo 100€ al 5% en 3 Meses

Meses    Monto a pagar mensualmente
1           35
2           35
3           35

Total: 105


3. Aunque esto es un poco mas complejo me gustaria ampliar un poco el programa con una base de registro de clientes, datos, ect.... (Aunque esto puede ser un poco mas adelante)

Os adjunto el código
Citar
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
    float tasa;
    float monto_introducido;
    float monto_final;
    int meses;
    cout << "Calcular el monto acumulado en una cuenta durante 'X' anos" << endl;
    cout << "basandose en los intereses que ofrece un banco." << endl;
    cout << endl;
   
        cout << "Escriba el monto de dinero introducido: ";
    cin >> monto_introducido;
    cout << endl;
   
    cout << "Escriba la tasa de interes que le ofrece el banco (sin el %): ";
    cin >> tasa;
    cout << endl;
    tasa = tasa / 100;
   

   
    cout << "Escriba el numero de meses que el dinero permanece en el banco: ";
    cin >> meses;
    cout << endl;
   
    cout << "\tmeses\t\tMonto" << endl;
    for ( int meses_final = 1; meses_final <= meses; meses_final++)
    {
        monto_final = monto_introducido * pow ( 1.0 + tasa, meses_final);
        cout << "\t" << meses_final << "\t\t" << monto_final << endl;
    }
   
    cout << endl;
   
system("pause");
return 0;
}

Muchas gracias

Atentamente
WiseHidden
Si tu tienes una manzana y yo otra y decidimos intercambiarlas, seguiremos teniendo una manzana cada uno, pero si tu tienes una idea y yo otra y la intercambiamos, ambos tendremos dos ideas. (Origen Anónimo)

dato000

De verdad que no entendi que es lo que quieres, y lo lei bastante, o soy pesimo para la contabilidad o me volvi retrasado mental y me quede corto con la redacción.

El algoritmo lo veo bien, pero no se a donde quieres llegar amigo, que carajos necesitas?!?!?  :silbar: :silbar:



ecfisa

#2
Hola.

Yo tampoco entiendo lo que buscas, por ejemplo en el caso 1:
Citar
Prestamo 100€ al 5% en 3 Meses

Meses    Monto a pagar mensualmente
1           35
2           35
3           35
Total: 105

No le veo mucho sentido mostrar numerado 3 veces que debe pagar $35, bastaría hacer el cálculo e informar: "Ud. debe pagar N cuotas de $xx.xx debiendo un total de $xx.xx".

Si lo que buscas es obtener el interés acumulado o interés compuesto (no soy muy docto en el tema así que disculpas por los términos), creo que podrías hacer algo por el estilo:
Código (cpp) [Seleccionar]
 
...
 double MtoInicial, Interes;
 int Meses;

 cout << "Monto inicial: ";
 cin >> MtoInicial;
 cout << endl;

 cout << "Interes mensual: ";
 cin >> Interes;
 cout << endl;

 cout << "Candidad de meses: ";
 cin >> Meses;
 cout << endl;

  cout << "Mes\t" << "Interes\t" << "Cuota" << endl;
  cout << "-----------------------------" << endl;
  double Monto = MtoInicial;
  cout << setprecision(2) << fixed;
  for( int i = 1; i<= Meses; i++) {
      cout << i << "\t" << Interes <<"%" << "\t"<< "$" << Monto << endl;
      Monto += Monto * Interes /100;
  }

  cout << "-----------------------------" << endl;
  cout << "Monto final: " << "$" << Monto;
...

No sé si es lo que estás buscando pero quizá te dé alguna idea...

Saludos.

WiseHidden

CitarDe verdad que no entendi que es lo que quieres, y lo lei bastante, o soy pesimo para la contabilidad o me volvi retrasado mental y me quede corto con la redacción.

Seguramente no me expresé del todo bien.   ;D

Citar
No le veo mucho sentido mostrar numerado 3 veces que debe pagar $35, bastaría hacer el cálculo e informar: "Ud. debe pagar N cuotas de $xx.xx debiendo un total de $xx.xx".

Puesto que el "proyecto" era principalmente para aprender quizas no desarrollé bien la finalidad a seguir, pero quizás lleves razón en no mostrar el monto 3 veces, y solamente muestre el total, y que diera como resultado el pago que corresponderia mensualmente aparte (Una sola vez)

Citar
Ejemplo:
Prestamo 100€ al 5% en 3 Meses

Meses    Pago Total con Interes     Pago Mensual
3          105                               35€

La idea es que se refleje la cantidad de meses + Total del pago con intereses + la cantidad a pagar mensualmente.

CitarSi lo que buscas es obtener el interés acumulado o interés compuesto (no soy muy docto en el tema así que disculpas por los términos), creo que podrías hacer algo por el estilo:
He probado tu código pero me da error en la linea 28
Citarcout << setprecision(2) << fixed;

tengo que nombrar antes la variable? (aun estoy verdecillo en la programación)

Mil gracias a los dos por vuestra ayuda y orientación un saludo

Att.
WH
Si tu tienes una manzana y yo otra y decidimos intercambiarlas, seguiremos teniendo una manzana cada uno, pero si tu tienes una idea y yo otra y la intercambiamos, ambos tendremos dos ideas. (Origen Anónimo)

defcom

 Buenos días a todos, para calcular los intereses de un préstamo, necesitas saber la fórmula (método francés es el que se aplica normalmente).
Para hacer un calculo correcto de la fórmula, necesitas los siguientes campos:
- importe inicial del préstamo
- tipo de interés nominal anual inicial en tanto por ciento
- años de vida del préstamo
- número de pagos periódicos al año

En google lo puedes buscar muy facilmente.

Un saludo.

ecfisa

CitarHe probado tu código pero me da error en la linea 28

Hola WiseHidden.

Agrega :

Código (cpp) [Seleccionar]
#include<iomanip.h>

Saludos.

flony

#6
evidentemente usa tasa de interés directo....y eso lo sacas de cualquier tabla de matemáticas financieras...pero basicamente seria asi.
para el calculo del interes

float i;
int n;
float c;
float I;
float C
cout << "ingrese los siguientes datos" << endl;
cout<<"tasa de interes" << endl;
cin >>i
cout<<"meses o periodo de tiempo"
cin>>n
cout<<"capital" << endl;
cin>>c
I=i*n*c
cout<< "el interes de la operacion es "<<I <<endl;
C=(c+I)/n
cout << "lo que debe pagar por mes es "<<C<< endl;

bueno eso es lo que pedís....pero como dicen los chicos el método francés es el mas usado " en financieras bancos y todo lo que tenga que ver con el mundo financiero" los comerciantes mas bien chicos usan este método u otro que es un poco mas estafados :)
si un problema no tiene solucion entonces no es un problema...es algo inevitable

Fire544

Hola !! Primeramente en el codigo hay errores de logica, lo primero es saber que hacer ? en tu caso tasa de interes por monto, en cada mes; donde monto seria lo tomado prestado, interes seria lo que se aplica por cada monto pagado esto se conoce como deuda.

Facil para interes de acuerdo si es ordinario o interes exacto haces esto:

sabiendo que el interes 5 = 0.05 %


Io (interes ordinario)
I=0.05/360;

Ie(interes exacto)
I=0.05/365;


Si te fijas se aplica lo mismo para Ie pero con 365, los 360 y 365 son los dias del año, solo que el exsacto tiene 365 y el ordinario 360, es la unica diferencia, entonces todavia hay un problema y es que tu tiempo esta en meses, entonces se divide entre 12 o sea 3/12=0.25*; y esto es lo que valo tu tasa de interes. Ten esto en cuenta a la hora de sacar tasas cuando esta en meses se divide entre 12.

Lo que te queda hacer es sustituir cada vallor de I de esta manera I=0.25/365; y listo. Ahora intenta con un for desde meses inicial hasta meses de caducidad y haces:


//sacamos interes
interes=tasa/dias;
tiempo=3; //en tu caso

monto=capital*interes*tiempo;

printf("%i", monto);
"Si enseñas a pezcar a un niño lo ayudas para toda la vida, si pezcas para alimentarlo lo ayudas por un momento".