Este es lo que he hecho en C aunque falta pulir un poco agregando algunos ifs
Código
#include <iostream> #include <stdio.h> #include <stdlib.h> #include <conio.h> using namespace std; int main() { string nombre; int b200,b100,b50,b20,b10,b5,b2,b1,b05,b01,b005; float n; b200=n/200; n=n-200*b200; b100=n/100; n=n-100*b100; b50=n/50; n=n-50*b50; b20=n/20; n=n-20*b20; b10=n/10; n=n-10*b10; b5=n/5; n=n-5*b5; b2=n/2; n=n-2*b2; b1=n/1; n=n-1*b1; b05=n/0.50; n=n-0.50*b05; b01=n/0.10; n=n-0.10*b01; b005=n/0.05; return(0); }
El problema esta al final en la parte de los decimales (las monedas); si por ejemplo de entrada pongo el número 11.55 de salida me da los valores correctos en la parte de las monedas.
Pero si por ejemplo pongo otro numero por ejemplo 1.55 u algun otro numero siempre me da salidas incorrectas y no entiendo porqué.
Si alguien me da una mano lo agradeceria bastante que le he estado dando muchas vueltas en la parte de las monedas.
Mod: Lod códigos deben ir en etiquetas GeSHi