//main.cpp
#include "Credito.h"
void main()
{
int opcion = 0;
Credito *c2;//creación vector de objetos (1/2)
while(1)
{
cout<<"\n\n\t***MENU***"<<endl;
cout<<endl;
cout<<"\t1) Calcula Cuota"<<endl;
cout<<"\t2) Siulacion"<<endl;
cout<<"\t3) Terminar"<<endl;
cout<<"OPCION ==> ";
cin>> opcion;
cout <<endl;
if (opcion == 1)
{
double a = 0;
int b = 0;
double c = 0;
double cuota = 0;
cout<<"Monto del capital a prestar = ";
cin >> c;
cout<<"\nInteres Anual";
cin >> a;
cout<<"\nNumero de meses";
cin >> b;
Credito c1(a,b,c);
cuota = c1.CalculaCuota(c1);
cout<<" Cuota = " << cuota<<endl;
}
elseif (opcion == 2)
{
double a = 1;
int b1 = 1;
int b2 = 1;
double c = 1;
int longitud = 1;
cout<<"Monto del capital a prestar = ";
cin >> c;
cout<<"\nInteres Anual = ";
cin >> a;
cout<<"\nMes de inicio de la simulacion = ";
cin >> b1;
cout << "\nMes final de la simulacion = ";
cin >> b2;
longitud = b2-b1;
double *v = newdouble[longitud];
c2 = new Credito[longitud];//creación vector de objetos (2/2)
/*escrito de otra forma
Credito c* = new Credito[longitud];
pero lo hemos dividido en dos partes para no olvidar que se
puede haceer así por si tenemos que hacer un menú o algo raro
de ese tipo que pida dividirla en dos*/
cout<<"MES\tCUOTA"<<endl;
for(int i = b1; i <= b2 ; i++)
{
Credito c2[i-b1](a,i,c);
cout<<"\t"<<i<<"\t"<< c2[i-b1].CalculaCuota(c2[i-b1]);
}
}
elseif (opcion == 3)
{
system("cls");
cout<<"THE END"<<endl;
cout<<endl;
exit(0);
}
else
{
system("cls");
cout<<"No se contempla esa opcion";
}
}
}
//main.cpp
#include "Credito.h"
void main()
{
int opcion = 0;
Credito *c2;//creación vector de objetos (1/2)
while(1)
{
cout<<"\n\n\t***MENU***"<<endl;
cout<<endl;
cout<<"\t1) Calcula Cuota"<<endl;
cout<<"\t2) Siulacion"<<endl;
cout<<"\t3) Terminar"<<endl;
cout<<"OPCION ==> ";
cin>> opcion;
cout <<endl;
if (opcion == 1)
{
double a = 0;
int b = 0;
double c = 0;
double cuota = 0;
cout<<"Monto del capital a prestar = ";
cin >> c;
cout<<"\nInteres Anual";
cin >> a;
cout<<"\nNumero de meses";
cin >> b;
Credito c1(a,b,c);
cuota = c1.CalculaCuota(c1);
cout<<" Cuota = " << cuota<<endl;
}
elseif (opcion == 2)
{
double a = 1;
int b1 = 1;
int b2 = 1;
double c = 1;
int longitud = 1;
cout<<"Monto del capital a prestar = ";
cin >> c;
cout<<"\nInteres Anual = ";
cin >> a;
cout<<"\nMes de inicio de la simulacion = ";
cin >> b1;
cout << "\nMes final de la simulacion = ";
cin >> b2;
longitud = b2-b1;
double *v = newdouble[longitud];
c2 = new Credito[longitud];//creación vector de objetos (2/2)
/*escrito de otra forma
Credito c* = new Credito[longitud];
pero lo hemos dividido en dos partes para no olvidar que se
puede haceer así por si tenemos que hacer un menú o algo raro
de ese tipo que pida dividirla en dos*/
cout<<"MES\tCUOTA"<<endl;
for(int i = b1; i <= b2 ; i++)
{
c2[i-b1](a,i,c);
cout<<"\t"<<i<<"\t"<< c2[i-b1].CalculaCuota(c2[i-b1]);
}
delete [] v;
delete [] c2;
}
elseif (opcion == 3)
{
system("cls");
cout<<"THE END"<<endl;
cout<<endl;
exit(0);
}
else
{
system("cls");
cout<<"No se contempla esa opcion";
}
}
}
I think the trouble you're running into is that the default constructor is called when you create the array of Credito objects with longitud length at line 57.
Then on line 67 you're trying to call another constructor on the existing objects.
I might suggest creating set functions to update intAnual, nMeses, and Capital when you have an existing Credito object. Maybe someone else has another solution?
Now I've onle one question more, where I've to delete the two pointers????
Thaks "Yay295" really, but the line 65 is ok, the line 67 you are rigt
//main.cpp
#include "Credito.h"
void main()
{
int opcion = 0;
Credito *c2;//creación vector de objetos (1/2)
while(1)
{
cout<<"\n\n\t***MENU***"<<endl;
cout<<endl;
cout<<"\t1) Calcula Cuota"<<endl;
cout<<"\t2) Simulacion"<<endl;
cout<<"\t3) Terminar"<<endl;
cout<<"OPCION ==> ";
cin>> opcion;
cout <<endl;
if (opcion == 1)
{
double a = 0;
int b = 0;
double c = 0;
double cuota = 0;
cout<<"Monto del capital a prestar = ";
cin >> c;
cout<<"\nInteres Anual";
cin >> a;
cout<<"\nNumero de meses";
cin >> b;
Credito c1(a,b,c);
cuota = c1.CalculaCuota(c1);
cout<<" Cuota = " << cuota<<endl;
}
else if (opcion == 2)
{
double a = 1;
int b1 = 1;
int b2 = 1;
double c = 1;
int longitud = 1;
cout<<"Monto del capital a prestar = ";
cin >> c;
cout<<"\nInteres Anual = ";
cin >> a;
cout<<"\nMes de inicio de la simulacion = ";
cin >> b1;
cout << "\nMes final de la simulacion = ";
cin >> b2;
longitud = b2-b1;
double *v = new double[longitud];
c2 = new Credito[longitud];//creación vector de objetos (2/2)
/*escrito de otra forma
Credito c* = new Credito[longitud];
pero lo hemos dividido en dos partes para no olvidar que se
puede haceer así por si tenemos que hacer un menú o algo raro
de ese tipo que pida dividirla en dos*/
cout<<"MES\tCUOTA"<<endl;
for(int i = b1; i <= b2 ; i++)
{
//c2[i-b1](a,i,c); // ESTO ESTÁ MALLLLLLLLLLLLLLLLLLLLLLLLLLLLL
c2[i-b1] = Credito(a,i,c); //BIENNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
v[i-b1]= c2[i-b1].CalculaCuota(c2[i-b1]);
cout<<"\t"<<i<<"\t"<< v[i-b1]<<endl;
}
delete [] v;
delete [] c2;
}
else if (opcion == 3)
{
system("cls");
cout<<"THE END"<<endl;
cout<<endl;
exit(0);
}
else
{
system("cls");
cout<<"No se contempla esa opcion";
}
}
}