Menu
Coddy logo textTech

Visualizzare tutte le spese

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

challenge icon

Sfida

Facile

Amplia il tuo tracciatore di spese aggiungendo la funzionalità "View Expenses".

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", richiedere 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 "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 "2":

  • Se non ci sono spese, stampare: No expenses recorded yet.
  • Se ci sono spese, stampare prima una riga vuota seguita da --- Your Expenses ---, poi stampare ogni spesa nel formato: Name: $Amount

Ad esempio, se gli input sono 2, poi 5 (visualizzazione quando l'elenco è vuoto), 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 recorded yet.

--- 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, 4.5, 1, Lunch, 12.0, 2, 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: 
--- Your Expenses ---
Coffee: $4.5
Lunch: $12.0

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

Provalo tu

expenses = []

loop do
  puts "--- Expense Tracker ---"
  puts "1. Add Expense"
  puts "2. View Expenses"
  puts "3. Total & Average"
  puts "4. Clear All"
  puts "5. Exit"
  print "Choose an option: "
  
  choice = gets.chomp
  
  if choice == "1"
    print "Expense name: "
    name = gets.chomp
    print "Amount: "
    amount = gets.chomp.to_f
    expenses.push({name: name, amount: amount})
    puts "Expense added!"
    puts ""
  elsif choice == "5"
    puts "Goodbye!"
    break
  end
end

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore Ruby online