elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Problemas con el vuelto en monedas
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Problemas con el vuelto en monedas  (Leído 7,004 veces)
xiruko


Desconectado Desconectado

Mensajes: 438


Ver Perfil
Re: Problemas con el vuelto en monedas
« Respuesta #10 en: 5 Noviembre 2012, 21:44 pm »

te dejo otra manera de hacerlo por si te sirve de ayuda:

Código
  1. #include <stdio.h>
  2.  
  3. #define M1 0.25
  4. #define M2 0.10
  5. #define M3 0.05
  6. #define M4 0.01
  7.  
  8. int main() {
  9.  
  10. int m1, m2, m3, m4;
  11. float cantidad;
  12.  
  13. printf("Introduce la cantidad: ");
  14. scanf("%f", &cantidad);
  15.  
  16. m1=(int)(cantidad/M1);
  17. cantidad-=m1*M1;
  18.  
  19. m2=(int)(cantidad/M2);
  20. cantidad-=m2*M2;
  21.  
  22. m3=(int)(cantidad/M3);
  23. cantidad-=m3*M3;
  24.  
  25. m4=(int)(cantidad/M4);
  26. cantidad-=m4*M4;
  27.  
  28. printf("Monedas de 0.25:\t%d\nMonedas de 0.10:\t%d\nMonedas de 0.05:\t%d\n"
  29.   "Monedas de 0.01:\t%d\n", m1, m2, m3, m4);
  30.  
  31. return 0;
  32. }

y la salida:

Código:
xiruko:~$ gcc monedas.c -o monedas
xiruko:~$ ./monedas
Introduce la cantidad: 2.43
Monedas de 0.25: 9
Monedas de 0.10: 1
Monedas de 0.05: 1
Monedas de 0.01: 3
xiruko:~$

un saludo!

modifico: no vi que ya habias resuelto tu duda. igualmente lo dejo por si te sirve.


En línea

leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Problemas con el vuelto en monedas
« Respuesta #11 en: 5 Noviembre 2012, 22:19 pm »


....... y la salida:

Código:
Introduce la cantidad: 1.4
Monedas de 0.25: 5
Monedas de 0.10: 1
Monedas de 0.05: 0 <==aqui deberia ser 1
Monedas de 0.01: 4 <==aqui deberia ser 0
Citar
Salida que se obtiene con la ligera modiicación de los valores M, como comenté por los redondeos:
Código
  1. #include <stdio.h>
  2.  
  3. #define M1 0.2499
  4. #define M2 0.099
  5. #define M3 0.049
  6. #define M4 0.0099
  7.  
  8. int main() {
  9.  
  10. int m1, m2, m3, m4;
  11. float cantidad;
  12.  
  13. printf("Introduce la cantidad: ");
  14. scanf("%f", &cantidad);
  15.  
  16. m1=(int)(cantidad/M1);
  17. cantidad-=m1*M1;
  18.  
  19. m2=(int)(cantidad/M2);
  20. cantidad-=m2*M2;
  21.  
  22. m3=(int)(cantidad/M3);
  23. cantidad-=m3*M3;
  24.  
  25. m4=(int)(cantidad/M4);
  26. cantidad-=m4*M4;
  27.  
  28. printf("Monedas de 0.25:\t%d\nMonedas de 0.10:\t%d\nMonedas de 0.05:\t%d\n"
  29.   "Monedas de 0.01:\t%d\n", m1, m2, m3, m4);
  30.  
  31. return 0;
  32. }
  33.  
Muy aguda la solución !!!.
Saludos!.



« Última modificación: 5 Noviembre 2012, 22:24 pm por leosansan » En línea

adripillo14

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: Problemas con el vuelto en monedas
« Respuesta #12 en: 5 Noviembre 2012, 22:49 pm »

Muchas gracias a todos!!!!!.
En línea

xiruko


Desconectado Desconectado

Mensajes: 438


Ver Perfil
Re: Problemas con el vuelto en monedas
« Respuesta #13 en: 5 Noviembre 2012, 23:03 pm »

gracias leosansan por la correccion, probe el codigo un par de veces y funcionaba bien asi que supuse que no habria ningun problema.

lo que pasa es que no entiendo porque pasa esto. si pruebo con 0.40 la solucion es correcta, pero con 1.40 no. ademas, teniendo en cuenta que la conversion a entero de un real se hace mediante truncamiento, no entiendo por que pasa esto. alguien sabe la respuesta?

gracias!
En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Acertijo Monedas « 1 2 »
Desafíos - Wargames
TheMaker 12 15,453 Último mensaje 17 Febrero 2011, 20:48 pm
por likinhell
Telefonos de monedas
Hacking
NIGHTCRAWLERR2D2 5 6,277 Último mensaje 17 Diciembre 2009, 22:28 pm
por Martin-Ph03n1X
Ejercicio de monedas
Programación C/C++
spf9 3 2,657 Último mensaje 9 Enero 2015, 04:09 am
por rir3760
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines