/*__________________________________________________ Libro: EMPEZAR DE CERO A PROGRAMAR EN LENGUAJE C Ejercicio Propuesto 13.23: Desglose de moneda (Solución 2) Web del Autor: http://www.carlospes.com __________________________________________________*/ #include int main() { int b500, b200, b100, b50, b20, b10, b5, contador, descontar, euros, m2, m1, resultado; printf( "\n Introduzca cantidad entera (euros): " ); scanf( "%d", &euros ); if ( euros > 0 ) { contador = 1; do { switch ( contador ) { case 1: descontar = 500; break; case 2: descontar = 200; break; case 3: descontar = 100; break; case 4: descontar = 50; break; case 5: descontar = 20; break; case 6: descontar = 10; break; case 7: descontar = 5; break; case 8: descontar = 2; } if ( euros >= descontar ) { resultado = euros / descontar; euros %= descontar; } else resultado = 0; switch ( contador ) { case 1: b500 = resultado; break; case 2: b200 = resultado; break; case 3: b100 = resultado; break; case 4: b50 = resultado; break; case 5: b20 = resultado; break; case 6: b10 = resultado; break; case 7: b5 = resultado; break; case 8: m2 = resultado; } contador++; } while ( contador <= 8 ); m1 = euros; printf( " %d billete(s) de 500", b500 ); printf( "\n %d billete(s) de 200", b200 ); printf( "\n %d billete(s) de 100", b100 ); printf( "\n %d billete(s) de 50", b50 ); printf( "\n %d billete(s) de 20", b20 ); printf( "\n %d billete(s) de 10", b10 ); printf( "\n %d billete(s) de 5", b5 ); printf( "\n %d moneda(s) de 2", m2 ); printf( "\n %d moneda(s) de 1", m1 ); } else printf( " ERROR: Cantidad incorrecta, debe ser mayor que cero." ); return 0; }