Add Expense
Part of the Fundamentals section of Coddy's Ruby journey. Lesson 81 of 88.
Challenge
EasyBuild upon your expense tracker from the previous lesson by adding the "Add Expense" functionality.
Your program should:
- Initialize an empty array called
expenses - Create a
loop dothat displays the menu and reads user input - When the user enters
"1", prompt for the expense name and amount, create a hash with:nameand:amountkeys, add it to theexpensesarray, and printExpense added! - When the user enters
"5", printGoodbye!and exit the loop
The menu should display exactly as before:
--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: When option "1" is selected, display these prompts:
Expense name: Then after reading the name:
Amount: Use print for all prompts (so the cursor stays on the same line). Convert the amount to a float using to_f.
The program will receive multiple inputs in sequence: the menu choice, and if choice is "1", the expense name and amount will follow.
For example, if the inputs are 1, Coffee, 4.50, then 5, the output should be:
--- 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: Goodbye!If the inputs are 1, Lunch, 12.99, 1, Bus fare, 2.50, then 5, the output should be:
--- 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: Goodbye!Try it yourself
expenses = []
loop do
puts "\n--- 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 == "5"
puts "Goodbye!"
break
end
endAll lessons in Fundamentals
4Operators Part 2
Logical Operators Part 1Logical Operators Part 2Recap - Simple LogicLogical Operators Part 3Logical Operators Part 42Variables and Data Types
Numbers and VariablesString Data TypeBoolean Data TypeSymbol Data TypeChecking Data TypesNaming ConventionsRecap - Variable Creation8Loops
For Loop with RangesWhile LoopBreakNextRecap - FactorialTimes LoopUntil LoopNested LoopsRecap - Dynamic Input3Operators Part 1
Arithmetic OperatorsModulo OperatorArithmetic ShortcutsRecap - Simple MathComparison Operators6Basic IO
Output with putsOutput with print and pOutput With VariablesInput with getsChomp MethodType ConversionRecap - Age CalculatorRecap - True or False9Methods
Defining a MethodMethod ParametersReturn ValuesRecap - Sigma MethodRecap - Validation MethodDefault Parameter Values15Daily Expense Tracker
Project OverviewExit The ProgramPractice on your own: Online Ruby compiler