Menu
Coddy logo textTech

Total e Média

Parte da seção Fundamentos do Journey de Ruby da Coddy — lição 83 de 88.

challenge icon

Desafio

Fácil

Aprimore seu rastreador de despesas adicionando a funcionalidade "Total & Average".

Seu programa deve:

  1. Inicializar um array vazio chamado expenses
  2. Criar um loop do que exibe o menu e lê a entrada do usuário
  3. Quando o usuário inserir "1", solicitar o nome e o valor da despesa, criar um hash com as chaves :name e :amount, adicioná-lo ao array expenses e imprimir Expense added!
  4. Quando o usuário inserir "2", exibir todas as despesas ou uma mensagem se nenhuma existir
  5. Quando o usuário inserir "3", calcular e exibir o total e a média de todas as despesas, ou uma mensagem se nenhuma existir
  6. Quando o usuário inserir "5", imprimir Goodbye! e sair do loop

O menu deve ser exibido exatamente como antes:


--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: 

Quando a opção "3" for selecionada:

  • Se não houver despesas, imprima: No expenses to calculate.
  • Se houver despesas, imprima o total e a média neste formato:
    Total: $X
    Average: $Y

Calcule o total somando todos os valores de :amount. Calcule a média dividindo o total pelo número de despesas.

Por exemplo, se as entradas forem 3, e depois 5 (calculando quando vazio), a saída deve ser:


--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: No expenses to calculate.

--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: Goodbye!

Se as entradas forem 1, Coffee, 5.0, 1, Lunch, 15.0, 3, e depois 5, a saída deve ser:


--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: Expense name: Amount: Expense added!

--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: Expense name: Amount: Expense added!

--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: Total: $20.0
Average: $10.0

--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: Goodbye!

Experimente você mesmo

# Inicializar o array de despesas
expenses = []

# TODO: Escreva seu código abaixo
# Crie um loop que:
# - Exiba o menu
# - Leia a entrada do usuário
# - Manipule as opções 1, 2, 3 e 5
# 
# Para a opção "1": solicite nome e valor, crie o hash, adicione às despesas
# Para a opção "2": exiba todas as despesas ou uma mensagem se não houver nenhuma
# Para a opção "3": calcule e exiba o total e a média, ou uma mensagem se não houver nenhuma
# Para a opção "5": imprima "Goodbye!" e saia

Todas as lições de Fundamentos