Enviado em 06/04/2016 - 14:22h
Galera estou precisando de uma mão e não consegui resolver!#include<stdio.h>
int main(int argc, char const *argv[])
{
int n100=0,n50=0,n20=0,n10=0,n5=0,n2=0,m1=0,m050=0,m025=0,m010=0,m005=0,m001=0;
double numero;
scanf("%lf\n\n",&numero);
while (numero >= 0.01)
{
while (numero >= 100.0)
{
numero -=100.0;
n100 +=1;
}
while (numero >= 50.0)
{
numero -=50.0;
n50 +=1;
}
while (numero >= 20.0)
{
numero -=20.0;
n20 +=1;
}
while (numero >= 10.0)
{
numero -=10.0;
n10 +=1;
}
while (numero >= 5.0)
{
numero -=5.0;
n5 +=1;
}
while (numero >= 2.0)
{
numero -=2.0;
n2 +=1;
}
while (numero >= 1.0)
{
numero -=1.0;
m1 +=1;
}
while (numero >= 0.50)
{
numero -= 0.50;
m050+=1;
}
while (numero >= 0.25)
{
numero -= 0.25;
m025+=1;
}
while (numero >= 0.10)
{
numero -= 0.10;
m010+=1;
}
while (numero >= 0.05)
{
numero -= 0.05;
m005+=1;
}
while (numero >= 0.01)
{
numero -= 0.01;
m001+=1;
}
}
printf("NOTAS:\n");
printf ("%i nota(s) de R$ 100.00\n",n100);
printf ("%i nota(s) de R$ 50.00\n",n50);
printf ("%i nota(s) de R$ 20.00\n",n20);
printf ("%i nota(s) de R$ 10.00\n",n10);
printf ("%i nota(s) de R$ 5.00\n",n5);
printf ("%i nota(s) de R$ 2.00\n",n2);
printf("MOEDAS:\n");
printf("%d moeda(s) de R$ 1.00\n",m1);
printf("%d moeda(s) de R$ 0.50\n",m050);
printf("%d moeda(s) de R$ 0.25\n",m025);
printf("%d moeda(s) de R$ 0.10\n",m010);
printf("%d moeda(s) de R$ 0.05\n",m005);
printf("%d moeda(s) de R$ 0.01\n",m001);
printf("%lf\n",numero);
return 0;
}
printf("%lf\n",numero);no fim é so pre mostrar se fica alguma coisa na variável que esta sendo decrementada. Ele mostra que tem 0.01 e não entra no
while (numero >= 0.01). Outra coisa é que esta sendo solicitado a entrada de dados duas vezes quando rodo o programa.