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

Enrichissez votre gestionnaire de dépenses en ajoutant la fonctionnalité « Afficher les dépenses ».

Votre programme doit :

  1. Initialiser un tableau vide appelé expenses
  2. Créer un loop do qui affiche le menu et lit la saisie 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 quitter la boucle

Le menu doit s’afficher exactement comme précédemment :


--- 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 aucune dépense, afficher : No expenses recorded yet.
  • S’il y a des dépenses, afficher d’abord une ligne vide suivie de --- Your Expenses ---, puis afficher chaque dépense au format : Name: $Amount

Par exemple, si les saisies sont 2, puis 5 (affichage alors qu’il n’y a aucune dépense), 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 saisies 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

Entraînez-vous par vous-même : Compilateur Ruby en ligne