Menu
CoddyTech

Total et moyenne

Fait partie de la section Fondamentaux du Journey Ruby de Coddy. Leçon 83 sur 88.

challenge icon

Défi

Facile

Enrichissez votre gestionnaire de dépenses en ajoutant la fonctionnalité « Total & Average ».

Votre programme doit :

  1. Initialiser un tableau vide appelé expenses
  2. Créer une 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 comme auparavant : afficher No expenses recorded yet. si aucune dépense n’existe, sinon afficher une ligne vide suivie de --- Your Expenses ---, puis chaque dépense au format Name: $Amount
  5. Lorsque l’utilisateur saisit "3", calculer et afficher le total et la moyenne de toutes les dépenses, ou afficher un message si aucune dépense n’existe
  6. 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 "3" est sélectionnée :

  • S’il n’y a aucune dépense, afficher : No expenses to calculate.
  • S’il y a des dépenses, afficher le total et la moyenne dans ce format :
    Total: $X
    Average: $Y

Calculez le total en additionnant toutes les valeurs :amount. Calculez la moyenne en divisant le total par le nombre de dépenses.

Par exemple, si les saisies sont 3, puis 5 (calcul 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 to calculate.

--- 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, 5.0, 1, Lunch, 15.0, 3, 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: 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!

Essayez vous-même

# Initialiser le tableau expenses
expenses = []

# TODO: Écrivez votre code ci-dessous
# Créer une boucle do qui :
# - Affiche le menu
# - Lit la saisie de l’utilisateur
# - Gère les options 1, 2, 3 et 5
# 
# Pour l’option "1" : demander le nom et le montant, créer un hash, l’ajouter à expenses
# Pour l’option "2" : afficher toutes les dépenses ou un message s’il n’y en a aucune
# Pour l’option "3" : calculer et afficher le total et la moyenne, ou un message s’il n’y a aucune dépense
# Pour l’option "5" : afficher "Goodbye!" et quitter

Toutes les leçons de Fondamentaux

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