Bueno, mi programa casi funciona bien, con enteros anda perfecto, con decimales anda mas o menos, por ejemplo con 1.5 anda bien tambien, pero si ingreso 1.4 o algun otro valor no sale nunca. Les muestro el codigo a ver si me pueden ayudar por favor.
Código:
int main(){
float cantidad;
float canta = 0;
float cante = 0;
float canti = 0;
int e = 0;
int f = 0;
int g = 0;
int h = 0;
cout << "escribe la cantidad" << endl;
cin >> cantidad;
while(cantidad != 0)
{
if(cantidad >=0.25){
cantidad -= 0.25;
e++;
}
else if(cantidad >=0.10){
cantidad -= 0.10;
f++;
}
else if(cantidad >=0.05){
cantidad -= 0.05;
g++;
}
else if(cantidad >=0.01){
cantidad -= 0.01;
h++;
}
//cout << "de 0.25 = " << e << endl;
//cout << "de 0.10 = " << f << endl;
//cout << "de 0.5 = " << g << endl;
//cout << "de 0.1 = " << h << endl;
}
cout << "de 0.25 = " << e << endl;
cout << "de 0.10 = " << f << endl;
cout << "de 0.5 = " << g << endl;
cout << "de 0.1 = " << h << endl;
getch();
}
Veran que dentro de "while" hay comentadas unas lineas, las puse para probrar, el tema es que si las descomento el programa me dice exactamente las monedas, o sea funciona bien. El problema es que no para nunca, repite el resultado todo el tiempo.
Por esta misma razon es que estando como esta con el cout afuera del while funciona con numeros enteros y con algunos decimales nada mas.
Muchas gracias por su tiempo.