#Cambios
#Cambio 1: Funcion que tiene la conversion
#Cambio 2 Funcion que imprime el resultado de la equivalencia
# Tasa de cambio aproximada en 24 septiembre de 2024
tasa_yen = 143.28 # 1 Dólar = 143.28 Yenes
tasa_peso_mexicano = 19.33 # 1 Dólar = 19.33 Pesos Mexicanos
tasa_peso_colombiano = 4148.75 # 1 Dólar = 4,148.75 Pesos Colombianos
#Cambio 1: Funcion que calcula la conversion
def convertir_dinero(dolares, tasa)
dolares * tasa
end
#Cambio 2: Funcion que imprime la conversion
def mostrar_resultado(dolares, resultado, opcion)
case opcion
when 1
puts "#{dolares} dólares equivalen a #{resultado.round(2)} yenes japoneses."
when 2
puts "#{dolares} dólares equivalen a #{resultado.round(2)} pesos mexicanos."
when 3
puts "#{dolares} dólares equivalen a #{resultado.round(2)} pesos colombianos."
end
end
loop do
# Menú de selección
puts "Seleccione el país al que desea convertir el dinero:"
puts "1. Japón (Yenes)"
puts "2. México (Pesos Mexicanos)"
puts "3. Colombia (Pesos Colombianos)"
print "Opción: "
opcion = gets.to_i
# Verificar si la opción es válida antes de pedir los dólares
unless (1..3).include?(opcion)
puts "Opción no válida."
next # Volver a preguntar si la opción no es válida
end
# Ingresar cantidad en dólares
print "Ingrese la cantidad en dólares: "
dolares = gets.to_f
# Validar que la cantidad en dólares sea mayor que cero
if dolares <= 0
puts "La cantidad de dólares debe ser mayor que cero."
next # Volver a preguntar si la cantidad es inválida
end
# Estructura case para calcular el cambio
resultado = case opcion
when 1
convertir_dinero(dolares, tasa_yen)
when 2
convertir_dinero(dolares, tasa_peso_mexicano)
when 3
convertir_dinero(dolares, tasa_peso_colombiano)
end
# Mostrar resultado usando la nueva función
mostrar_resultado(dolares, resultado, opcion)
# Preguntar si desea continuar
print "¿Desea realizar otra conversión? (Y/N): "
continuar = gets.chomp
# Salir del loop si la respuesta no es 'Y' o 'y'
break unless continuar.downcase == 'y'
end