Menu
Coddy logo textTech

Totale e media

Fa parte della sezione Fondamenti del percorso Ruby di Coddy. Lezione 83 di 88.

challenge icon

Sfida

Facile

Parti dal tuo tracker delle spese e aggiungi la funzionalità "Total & Average".

Il tuo programma dovrebbe:

  1. Inizializzare un array vuoto chiamato expenses
  2. Creare un loop do che visualizzi il menu e legga l'input dell'utente
  3. Quando l'utente inserisce "1", chiedere il nome e l'importo della spesa, creare un hash con le chiavi :name e :amount, aggiungerlo all'array expenses e stampare Expense added!
  4. Quando l'utente inserisce "2", visualizzare tutte le spese oppure un messaggio se non ce ne sono
  5. Quando l'utente inserisce "3", calcolare e visualizzare il totale e la media di tutte le spese, oppure un messaggio se non ce ne sono
  6. Quando l'utente inserisce "5", stampare Goodbye! e uscire dal ciclo

Il menu dovrebbe essere visualizzato esattamente come prima:


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

Quando viene selezionata l'opzione "3":

  • Se non ci sono spese, stampare: No expenses to calculate.
  • Se ci sono spese, stampare il totale e la media in questo formato:
    Total: $X
    Average: $Y

Calcola il totale sommando tutti i valori :amount. Calcola la media dividendo il totale per il numero di spese.

Ad esempio, se gli input sono 3, poi 5 (calcolo senza spese), l'output dovrebbe essere:


--- 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 gli input sono 1, Coffee, 5.0, 1, Lunch, 15.0, 3, poi 5, l'output dovrebbe essere:


--- 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!

Provalo tu

# Inizializza l'array expenses
expenses = []

# TODO: Scrivi il tuo codice qui sotto
# Crea un ciclo che:
# - Mostri il menu
# - Legga l'input dell'utente
# - Gestisca le opzioni 1, 2, 3 e 5
# 
# Per l'opzione "1": chiedi il nome e l'importo, crea un hash e aggiungilo a expenses
# Per l'opzione "2": mostra tutte le spese o un messaggio se non ce ne sono
# Per l'opzione "3": calcola e mostra il totale e la media, o un messaggio se non ci sono spese
# Per l'opzione "5": stampa "Goodbye!" ed esci

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore Ruby online