Menu
Coddy logo textTech

Afficher toutes les dépenses

Fait partie de la section Fondamentaux du Journey Ruby de Coddy — leçon 82 sur 88.

challenge icon

Défi

Facile

Développez votre gestionnaire de dépenses en ajoutant la fonctionnalité "View Expenses".

Votre programme doit :

  1. Initialiser un tableau vide nommé expenses
  2. Créer une boucle loop do qui affiche le menu et lit l'entrée de l'utilisateur
  3. Lorsque l'utilisateur saisit "1", demander le nom et le montant de la dépense, créer un hash avec les clés :name et :amount, l'ajouter au tableau expenses, et afficher Expense added!
  4. Lorsque l'utilisateur saisit "2", afficher toutes les dépenses ou un message si aucune n'existe
  5. Lorsque l'utilisateur saisit "5", afficher Goodbye! et sortir de la boucle

Le menu doit s'afficher exactement comme auparavant :


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

Lorsque l'option "2" est sélectionnée :

  • S'il n'y a pas de dépenses, affichez : No expenses recorded yet.
  • S'il y a des dépenses, affichez d'abord une ligne vide suivie de --- Your Expenses ---, puis affichez chaque dépense au format : Name: $Amount

Par exemple, si les entrées sont 2, puis 5 (affichage lorsqu'il est vide), la sortie doit être :


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

Si les entrées sont 1, Coffee, 4.5, 1, Lunch, 12.0, 2, puis 5, la sortie doit être :


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

Essayez vous-même

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

Toutes les leçons de Fondamentaux