Untitled
user_2455805
plain_text
3 years ago
2.0 kB
9
Indexable
#include<stdio.h> #include<math.h> #include<cs50.h> int main() { //Declaração das variáveis int moeda, cont, valor, total; float num = 0; while (num <= 0) { num = get_float("\nChange Owed: "); //Comando de entrada devidamente validado pelo CS50 } valor = round(num * 100); //Transformando número real em inteiro andando duas casas decimais para direita total = valor; //Total sendo colocando em outra variável para ser fatiado moeda = 25; //Moeda de valor máximo, que depois irá armazenar as moedas de menor valor cont = 0; // Contador da quantidade de moedas usadas para entregar o troco certo. while (true) { if (total >= moeda) //Enquanto o valor recebido for maior que a moeda máxima; { total -= moeda; //Sera retirado do valor 25 unidades do valor recebido; cont += 1; //No próximo laço, o valor recebido estará com menos 25 unidades, e no próximo laço -25... } else { if (moeda == 25) //Quando não der para subtrair por 25(que é a moeda máxima) { moeda = 10; //Então a variável moeda assumirá um valor abaixo, que é 10. } else if (moeda == 10) //Quando não for possível subtrair o total restante por 10; { moeda = 5; //Então a variável moeda passa a assumir o valor de 5. } else if (moeda == 5) // Não sendo possível subtrair cinco unidades do total restante; { moeda = 1; //A variável moeda passa assumir o valor de 1 e irá até finalizar o valor total. } else { break; //Por se tratar de um while(true), o break é necessário para sair do loop. } } } //Exibição do resultado, conforme solicitado printf("\n%d\n\n", cont); }
Editor is loading...