Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

[Desafio] Calculadora de despesas

A proposta original era uma "Calculadora de despesas" básico. Eu transformei essa "Calculadora de despesas" em um sistema inteligente e seguro, adicionando quatro camadas extras:
Proteção contra "lixo" (Validação de tipo): O original quebraria se você digitasse uma letra por engano. Agora com essas novas modificações ele avisa que você digitou algo errado e pede um número novamente.
Proteção contra erros de digitação (Validação de valor): Adicionei uma regra que impede números negativos, pois não existe "despesa negativa".
Filtro de "Zero a mais" (Verificação de anomalia): Criei um limite de segurança (Teto de Alerta). Se você digitar um valor muito alto (que pode ter sido um erro de digitação), o sistema pausa e pede uma confirmação antes de seguir.
Inteligência de Dados (Cálculos extras): Enquanto o original apenas somava, com essas modificações agora analisa. Ele conta quantas despesas foram feitas e calcula a média, oferecendo um relatório muito mais útil para o seu controle financeiro.

1. Inicialização:
        Definir Total = 0.
        Definir Maior_Despesa = 0.
        Definir Contador = 0 (para rastrear quantas despesas foram inseridas).
        Definir Teto_Alerta = 5000.00 (valor definido para evitar erro de digitação).
2. Coleta:
        Solicitar ao usuário o valor da primeira despesa.
3. Processamento (Loop):
        Enquanto o valor digitado for diferente de 0:
            a. Verificação de Tipo: Se o dado digitado não for numérico:
                Exibir erro: "Entrada inválida! Por favor, digite apenas números."
                
            b. Validação de Valor: Senão, se o valor for menor que 0:
                Exibir erro: "Valor negativo não é permitido. Tente novamente."

            c. Verificação de Anomalia (O "Zero a mais"): Senão, se o valor for maior que Teto_Alerta:
                Exibir aviso: "O valor R$ [valor] é muito alto. Confirma este valor? (Sim/Não)"
                Se o usuário responder "Não":
                    Descartar a entrada e pular para o próximo ciclo (solicitar valor novamente).

            d. Processamento (se a entrada for válida e confirmada):
                Adicionar o valor ao Total.
                Se o valor for maior que Maior_Despesa:
                    Atualizar Maior_Despesa com o valor digitado.
                    Incrementar Contador em +1.

            e. Solicitação: Solicitar o próximo valor de despesa ao usuário.

    4. Finalização (quando o valor for 0):
        Se Contador > 0:
            Calcular Media_Gasto = Total / Contador.
            Exibir: "Resumo do Mês: Total Gasto: R$ [Total] | Maior Despesa: R$ [Maior_Despesa] | Média por Item: R$ [Media_Gasto]."

        Senão:
            Exibir: "Nenhuma despesa foi registrada."
1 resposta

Oi, Eugênio. Tudo bem com você?

Obrigado por compartilhar sua solução para o desafio da Calculadora de despesas. Você expandiu a proposta original com validações e funcionalidades que são bastante comuns em sistemas reais, tornando o fluxo mais robusto. A validação de tipo, a verificação de valores negativos e a confirmação para despesas acima do teto de alerta demonstram uma preocupação importante com a qualidade dos dados de entrada. Além disso, calcular a maior despesa, a quantidade de registros e a média fornece informações mais úteis do que apenas o total acumulado.

Como você adaptaria esse algoritmo para também informar a menor despesa registrada durante o período?

Parabéns pela iniciativa de enriquecer o exercício com recursos adicionais e por compartilhar sua solução. Continue participando do fórum sempre que desejar discutir novas implementações. Estamos à disposição para ajudar.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!