Solução Notas e Moedas

Solução por João Guilherme

Primeiro nós devemos ler o nosso n. Em seguida nós salvamos uma variável com a parte inteira do nosso número. Em seguida nós decompomos essa parte em múltiplos de cada valor de nota. Por fim fazemos o mesmo para sua parte fracionária usando o valor das moedas, depois imprimimos.

 


#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cmath>
using namespace std;
int main() {
int cem, cinq,vinte,dez,cinco,dois, um, cinqcent, centvinte, centdez, centcinco, centum;
double totall;
scanf ("%lf", &totall);
int total=floor(totall);
int total2=(totall-total)*100;
cem=(total-(total%100))/100; //contar o numero de cedulas de 100
total=total-cem*100; //remover as cedulas de 100
cinq=(total-(total%50))/50; //contar o numero de cedulas de 50
total=total-50*cinq; ////remover as cedulas de 50
vinte=(total-(total%20))/20; //contar o numero de cedulas de 20
total=total-20*vinte; //remover as cedulas de 20
dez=(total-(total%10))/10; //contar o numero de cedulas de 10
total=total-10*dez; //remover as cedulas de 10
cinco=(total-(total%5))/5; //contar o numero de cedulas de 5
total=total-5*cinco; //remover as cedulas de 5
//e assim segue
dois=(total-(total%2))/2;
um=total%2;
cinqcent=(total2-(total2%50))/50;
total2=total2-50*cinqcent;
centvinte=(total2-(total2%25))/25;
total2=total2-25*centvinte;
centdez=(total2-(total2%10))/10;
total2=total2-10*centdez;
centcinco=(total2-(total2%5))/5;
total2=total2-5*centcinco;
centum=total2;
printf("NOTAS:\n%d nota(s) de R$ 100.00\n%d nota(s) de R$ 50.00\n%d nota(s) de R$ 20.00\n%d nota(s) de R$ 10.00\n%d nota(s) de R$ 5.00\n%d nota(s) de R$ 2.00\nMOEDAS:\n%d moeda(s) de R$ 1.00\n%d moeda(s) de R$ 0.50\n%d moeda(s) de R$ 0.25\n%d moeda(s) de R$ 0.10\n%d moeda(s) de R$ 0.05\n%d moeda(s) de R$ 0.01\n", cem, cinq, vinte, dez, cinco, dois, um, cinqcent, centvinte, centdez, centcinco, centum);
return 0;
}