Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Fumoffuw

#1
Muchas gracias a los dos por responder, yo me acuerdo que leí eso de las precisiones (no me acuerdo de donde la verdad) pero no le tomé mucha importancia, ahora veo que si importa  ;D
Yo estudio C de un libro que se llama "Programacion en C"  de Luis Joyanes e Ignazion Zahonero que el profesor de la facultad nos dijo que lo compremos,en el índice busqué sobre la precision pero no lo encontré, la verdad es que el libro no me gusta mucho, siento que no da las ideas tan claras.
Me recomendarian algun libro o de algún lugar para repasar estas partes teóricas lo agradecería bastante
#2
He probado con bastantes numeros y la gran mayoria falla en la ultima parte que es la de 0.05
Si pongo numeros como 76.35 , 123.75 ,35,25 no me cuenta la parte de 005 me sale
"La cantidad de monedas de 0.05 es : 0 "
Pero algo curioso si pongo 123.15 (que se parece bastante a 123.75) me sale :
"La cantidad de monedas de 0.05 es : 1 "

Yo uso el codeblocks y no uso debugger, aunque tengo una idea vaga de que es eso.
#3
Amigo eres un genio!
En la parte de
float n;
scanf("%f",&n);


cambie float a double y %f a %lf y si me dió los resultados correctos(con el numero 1.55), pero cuando intenté con otros numeros todavia me salen errores.
No tenia mucha idea de eso de la presicion ya que llevo unos 2 meses estudiando y solo me dediqué a estudiar los algoritmos y el lenguaje en si.
Alguna manera de arreglar para que me acepten la mayoria de numeros posibles?
#4
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

#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;
   scanf("%f",&n);

   b200=n/200;
   printf("La cantidad de billetes de 200 es : %d\n",b200);
   n=n-200*b200;

   b100=n/100;
   printf("La cantidad de billetes de 100 es : %d\n",b100);
   n=n-100*b100;

   b50=n/50;
   printf("La cantidad de billetes de 50 es : %d\n",b50);
   n=n-50*b50;

   b20=n/20;
   printf("La cantidad de billetes de 20 es : %d\n",b20);
   n=n-20*b20;

   b10=n/10;
   printf("La cantidad de billetes de 10 es : %d\n",b10);
   n=n-10*b10;

   b5=n/5;
   printf("La cantidad de billetes de 5 es : %d\n",b5);
   n=n-5*b5;

   b2=n/2;
   printf("La cantidad de billetes de 2 es : %d\n",b2);
   n=n-2*b2;

   b1=n/1;
   printf("La cantidad de billetes de 1 es : %d\n",b1);
   n=n-1*b1;

   b05=n/0.50;
   printf("La cantidad de monedas de 0.50 es : %d\n",b05);
   n=n-0.50*b05;

   b01=n/0.10;
   printf("La cantidad de monedas de 0.10 es : %d\n",b01);
   n=n-0.10*b01;

   b005=n/0.05;
   printf("La cantidad de monedas de 0.05 es : %d\n",b005);


system("pause");
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