Código
/* De RevolucionVegana para todos los hipotecados de elhacker.NET jajaja :) */ // Tu banco te quiere :D #include <iostream> #include <math.h> using std::cout; using std::cin; using std::endl; int main(){ int C0; double TIN; int tiempo; cout << "Introduce el capital inicial: "; cin >> C0; cout << "Introduce el TIN (sin el símbolo de porcentaje, solo números): "; cin >> TIN; TIN = TIN / 100; cout << "Introduce el tiempo en meses: "; cin >> tiempo; int fila; fila = tiempo; cout << "\n"; int eleccion; double interes; double ANI; double a_minuscula; cout << "¿Que quieres calcular?\n \n" << "Pulse 1 si quiere calcular el interés.\n" << "Pulse 2 si quiere calcular ANI.\n" << "Pulse 3 si quiere calcular el interés, ANI y hacer el cuadro de amortización.\n"; cin >> eleccion; int tiempo2; tiempo2 = tiempo - (tiempo * 2); interes = TIN / 12; double parte_elevada = 1 + interes; ANI = (1 - (pow(parte_elevada, tiempo2))) / interes; if(eleccion==1){ cout << "\n" << "El interés es: " << interes; } if(eleccion==2){ cout << "El resultado de ANI es: " << ANI; } if(eleccion==3){ cout << "El interés es: " << interes << "\n"; cout << "El resultado de ANI es: " << ANI << "\n"; a_minuscula = C0 / ANI; cout << "\'a\' es igual a " << a_minuscula << "\n"; // Algoritmo para calcular el cuadro de amortización cout << "\nCuadro de amortización:" << "\n"; float matriz[fila][6]; //Declaramos el array. El número de filas dependerá del tiempo y el número de columnas será 6. matriz[0][5] = C0; matriz[0][4] = 0; matriz[0][3] = 0; matriz[0][2] = 0; matriz[0][1] = a_minuscula; matriz[0][0] = 0; cout << "n" << "\t" << "a" << "\t" << "I" << "\t" << "A" << "\t" << "m" << "\t" << "C" << "\n"; cout << matriz[0][0] << "\t" << matriz[0][1] << "\t" << matriz[0][2] << "\t" << matriz[0][3] << "\t" << matriz[0][4] << "\t" << matriz[0][5] << "\n"; for(int valor_i=1;valor_i<=fila;valor_i++){ matriz[valor_i][0] = valor_i; cout << matriz[valor_i][0] << "\t"; for(int valor_columna=0;valor_columna<=5;valor_columna++){ if(valor_columna==1){ //'a' matriz[valor_i][valor_columna] = a_minuscula; cout << matriz[valor_i][valor_columna] << "\t"; } if(valor_columna==2){//'I' matriz[valor_i][valor_columna] = matriz[valor_i - 1][5] * interes; cout << matriz[valor_i][valor_columna] << "\t"; } if(valor_columna==3){//'A' matriz[valor_i][valor_columna] = matriz[valor_i][valor_columna - 2] - matriz[valor_i][valor_columna - 1]; cout << matriz[valor_i][valor_columna] << "\t"; } if(valor_columna==4){//'m' matriz[valor_i][valor_columna] = matriz[valor_i - 1][valor_columna] + matriz[valor_i][valor_columna - 1]; cout << matriz[valor_i][valor_columna] << "\t"; } if(valor_columna==5){//'C' matriz[valor_i][valor_columna] = matriz[valor_i - 1][valor_columna] - matriz[valor_i][valor_columna - 2]; cout << matriz[valor_i][valor_columna] << "\n"; } } } cout << "\n"; } return 0; }
Por ejemplo un ejercicio con capital 10.000, TIN 3,6% y a devolver durante 5 meses.
Resultados del programa:
El interés es: 0.003
El resultado de ANI es: 4.95531
'a' es igual a 2018.04
Código:
Cuadro de amortización:
n a I A m C
0 2018.04 0 0 0 10000
1 2018.04 30 1988.04 1988.04 8011.96
2 2018.04 24.0359 1994 3982.04 6017.96
3 2018.04 18.0539 1999.98 5982.02 4017.98
4 2018.04 12.0539 2005.98 7988 2012
5 2018.04 6.036 2012 10000 0.00012207
Y por cierto justo ayer cumplí un año en el foro que rápido y que lento al mismo tiempo pasa el tiempo no? jaja
Un saludo a todos!!!!!!!!!!!!!!!!!!!!!!!!!
PD: 'n' es el mes, 'a' el pagadero, 'A' es el capital, 'C' es el capital residual, 'I' es el interés y 'm' no tengo ni idea de lo que es xDDDD pero en las formulas lo uso, adióóós
CoAd: Los temas de C++ van en C/C++