Conversor de moedas múltiplo
Manter totais acumulados de conversões é essencial em sistemas financeiros, como caixas registradoras ou apps de controle de gastos. Esse padrão de loop com múltiplos acumuladores aparece sempre que você precisa processar entradas repetidas e gerar relatórios parciais ou finais. Dominar o uso de variáveis acumuladoras evita retrabalho e garante que nenhum dado se perca.
O PROBLEMA
Peça cotações de dólar, euro e libra. Em loop, peça valores em reais e converta. Termina com 0. Exiba totais.
EXEMPLO
Cotações: USD 5.20, EUR 5.80, GBP 6.50 R$100 → US$19.23
SOBRE O CONCEITO
O loop while é ideal para quando não sabemos quantas vezes o usuário vai fornecer dados. Aqui, usamos um acumulador para cada moeda: total_usd, total_eur e total_gbp, iniciadas em 0 e incrementadas a cada iteração. O erro comum de não acumular totais acontece quando você sobrescreve a variável a cada conversão em vez de somar ao valor anterior – assim perde o histórico. Outro erro é divisão por zero: se a cotação for 0 (o que não deveria acontecer, mas é preciso prevenir), o programa quebra. Sempre verifique se a cotação é maior que zero antes de dividir, ou trate com um if. Use cotacao != 0 para evitar o erro.
RESOLUÇÃO