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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / Ayuda en C que estoy reloco en: 27 Mayo 2015, 05:36 am
Hola amigos, tengo un ejercicio que tengo que sacar la cantidad de billetes de 200 100 50 20 10 5 2 1 y luego las monedas de 0.50, 0.10 y 0.05
Este es lo que he hecho en C aunque falta pulir un poco agregando algunos ifs

Código
  1. #include <iostream>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <conio.h>
  5.  
  6. using namespace std;
  7.  
  8. int main()
  9. {
  10.    string nombre;
  11.    int b200,b100,b50,b20,b10,b5,b2,b1,b05,b01,b005;
  12.    float n;
  13.    scanf("%f",&n);
  14.  
  15.    b200=n/200;
  16.    printf("La cantidad de billetes de 200 es : %d\n",b200);
  17.    n=n-200*b200;
  18.  
  19.    b100=n/100;
  20.    printf("La cantidad de billetes de 100 es : %d\n",b100);
  21.    n=n-100*b100;
  22.  
  23.    b50=n/50;
  24.    printf("La cantidad de billetes de 50 es : %d\n",b50);
  25.    n=n-50*b50;
  26.  
  27.    b20=n/20;
  28.    printf("La cantidad de billetes de 20 es : %d\n",b20);
  29.    n=n-20*b20;
  30.  
  31.    b10=n/10;
  32.    printf("La cantidad de billetes de 10 es : %d\n",b10);
  33.    n=n-10*b10;
  34.  
  35.    b5=n/5;
  36.    printf("La cantidad de billetes de 5 es : %d\n",b5);
  37.    n=n-5*b5;
  38.  
  39.    b2=n/2;
  40.    printf("La cantidad de billetes de 2 es : %d\n",b2);
  41.    n=n-2*b2;
  42.  
  43.    b1=n/1;
  44.    printf("La cantidad de billetes de 1 es : %d\n",b1);
  45.    n=n-1*b1;
  46.  
  47.    b05=n/0.50;
  48.    printf("La cantidad de monedas de 0.50 es : %d\n",b05);
  49.    n=n-0.50*b05;
  50.  
  51.    b01=n/0.10;
  52.    printf("La cantidad de monedas de 0.10 es : %d\n",b01);
  53.    n=n-0.10*b01;
  54.  
  55.    b005=n/0.05;
  56.    printf("La cantidad de monedas de 0.05 es : %d\n",b005);
  57.  
  58.  
  59. system("pause");
  60. return(0);
  61. }

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
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines