Agregar gasto
Parte de la sección Fundamentos del Journey de Ruby de Coddy — lección 81 de 88.
Desafío
FácilAmplía tu rastreador de gastos de la lección anterior añadiendo la funcionalidad "Add Expense".
Tu programa debe:
- Inicializar un array vacío llamado
expenses - Crear un
loop doque muestre el menú y lea la entrada del usuario - Cuando el usuario introduzca
"1", solicitar el nombre y el monto del gasto, crear un hash con las llaves:namey:amount, añadirlo al arrayexpensesy mostrarExpense added! - Cuando el usuario introduzca
"5", mostrarGoodbye!y salir del bucle
El menú debe mostrarse exactamente como antes:
--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: Cuando se seleccione la opción "1", muestra estas solicitudes:
Expense name: Luego, después de leer el nombre:
Amount: Usa print para todas las solicitudes (para que el cursor permanezca en la misma línea). Convierte el monto a un float usando to_f.
El programa recibirá múltiples entradas en secuencia: la elección del menú y, si la elección es "1", le seguirán el nombre del gasto y el monto.
Por ejemplo, si las entradas son 1, Coffee, 4.50, y luego 5, la salida debería ser:
--- 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!Si las entradas son 1, Lunch, 12.99, 1, Bus fare, 2.50, y luego 5, la salida debería ser:
--- 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!Pruébalo tú mismo
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
endTodas las lecciones de Fundamentos
4Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 3Operadores lógicos Parte 47Calculadora para dividir la cuenta
Mensaje de bienvenidaObtener la entrada del usuario10FizzBuzz con un giro
Descripción general del juegoEl método FizzBuzz2Variables y tipos de datos
Números y variablesTipo de dato StringTipo de dato BooleanTipo de dato SymbolComprobación de tipos de datosConvenciones de nomenclaturaResumen: Creación de variables5Toma de decisiones
Sentencia IfIf - ElseRepaso - Calculadora simpleIf - Else anidadosSentencia Unless8Bucles
Bucle For con rangosBucle WhileBreakNextRepaso - FactorialBucle TimesBucle UntilBucles anidadosRepaso - Entrada dinámica3Operadores Parte 1
Operadores aritméticosOperador móduloAtajos aritméticosResumen - Matemáticas simplesOperadores de comparación6Entrada y Salida Básica
Salida con putsSalida con print y pSalida con variablesEntrada con getsMétodo chompConversión de tiposResumen - Calculadora de edadResumen - Verdadero o falso9Métodos
Definir un métodoParámetros de un métodoValores de retornoRepaso - Método SigmaRepaso - Método de validaciónValores de parámetros por defecto15Seguimiento de gastos diarios
Descripción general del proyectoSalir del programa