Ejercicio: Proyecto Conversor de Monedas
Este proyectos es un conjunto de ejercicios que te permitirán practicar los conceptos vistos en las secciones.
Objetivo
El objetivo de este proyecto es crear una aplicación web que permita convertir una cantidad de dinero de una moneda a otra.
Requisitos
- El usuario debe poder introducir una cantidad de dinero en una moneda y ver el resultado de la conversión a otra moneda.
- El usuario debe poder seleccionar las monedas de origen y destino.
- El usuario debe poder ver el historial de conversiones que ha realizado (no se necesita almacenar el historial, basta con mostrarlo en la misma sesión).
Indice
El proyecto está dividido en varios ejercicios que te permitirán ir avanzando poco a poco.
-
Conversor de monedas con variables
// Conversor de monedas haciendo uso de variables // En esta primera etapa, vamos a definir las tasas de cambio fijas para cada moneda y el monto en dólares que queremos convertir. Luego, vamos a imprimir en la consola el resultado de la conversión. // Definimos las tasas de cambio fijas var cop = 4500; // 1 dólar = 4500 pesos colombianos var clp = 794; // 1 dólar = 794 pesos chilenos var mxn = 18; // 1 dólar = 18 pesos mexicanos // Definimos el monto en dólares que queremos convertir var dolares = 100; // Calculamos el equivalente en cada moneda const pesosColombianos = dolares * cop; const pesosChilenos = dolares * clp const pesosMexicanos = dolares * mxn ; // Imprimimos los resultados en la consola console.log(dolares + " dólares son equivalentes a " + pesosColombianos + " pesos colombianos, " + pesosChilenos + " pesos chilenos y " + pesosMexicanos + " pesos mexicanos."); -
Conversor de monedas con inputs
// Conversor de monedas haciendo uso de inputs // En esta etapa, vamos a solicitar al usuario que ingrese el monto en dólares y vamos a guardar la información en una variable. Luego, vamos a imprimir en la consola el resultado de la conversión. // Solicitamos al usuario que ingrese el monto en dólares var dolares = prompt("Ingrese el monto en dólares:"); // Definimos las tasas de cambio fijas var cop = 4500; // 1 dólar = 4500 pesos colombianos var clp = 794; // 1 dólar = 794 pesos chilenos var mxn = 18; // 1 dólar = 18 pesos mexicanos // Calculamos el equivalente en cada moneda const pesosColombianos = dolares * cop; const pesosChilenos = dolares * clp const pesosMexicanos = dolares * mxn; // Imprimimos los resultados en la consola console.log(dolares + " dólares son equivalentes a " + pesosColombianos + " pesos colombianos, " + pesosChilenos + " pesos chilenos y " + pesosMexicanos + " pesos mexicanos."); -
Conversor de monedas con condicionales
// Conversor de monedas haciendo uso de ciclos // En esta etapa, vamos a solicitar al usuario que ingrese el monto en dólares y vamos a guardar la información en una variable. Además haremos uso de las condiciones para verificar la opción elegida por el usuario y realizar la conversión correspondiente. // Obtenemos el valor en dólares a convertir var dolares = prompt("Ingresa el valor en dólares a convertir:"); // Obtenemos la opción de conversión deseada var opcion = prompt("Ingresa la opción de conversión: \n1 - Peso Colombiano \n2 - Peso Chileno \n3 - Peso Mexicano"); var cop = 4500; // 1 dólar = 4500 pesos colombianos var clp = 794; // 1 dólar = 794 pesos chilenos var mxn = 18; // 1 dólar = 18 pesos mexicanos // Verificamos la opción elegida y realizamos la conversión correspondiente if (opcion == 1) { const pesosColombianos = dolares * cop; alert(dolares + " dólares equivalen a " + pesosColombianos.toFixed(2) + " pesos colombianos"); } else if (opcion == 2) { const pesosChilenos = dolares * clp; alert(dolares + " dólares equivalen a " + pesosChilenos.toFixed(2) + " pesos chilenos"); } else if (opcion == 3) { const pesosMexicanos = dolares * mxn; alert(dolares + " dólares equivalen a " + pesosMexicanos.toFixed(2) + " pesos mexicanos"); } else { alert("Opción inválida"); } -
Conversor de monedas con ciclos
// Conversor de monedas haciendo uso de ciclos // Definimos las tasas de cambio var cop = 4500; // 1 dólar = 4500 pesos colombianos var clp = 794; // 1 dólar = 794 pesos chilenos var mxn = 18; // 1 dólar = 18 pesos mexicanos // Obtenemos el valor en dólares a convertir var dolares = parseFloat(prompt("Ingresa el valor en dólares a convertir:")); // Definimos una variable para guardar la opción elegida por el usuario var opcion = 0; // Ciclo para solicitar una opción válida de conversión while (opcion < 1 || opcion > 3) { opcion = parseInt(prompt("Ingresa la opción de conversión: \n1 - Peso Colombiano \n2 - Peso Chileno \n3 - Peso Mexicano")); } // Realizamos la conversión correspondiente switch (opcion) { case 1: const pesosColombianos = dolares * cop; alert(dolares + " dólares equivalen a " + pesosColombianos.toFixed(2) + " pesos colombianos"); break; case 2: const pesosChilenos = dolares * clp; alert(dolares + " dólares equivalen a " + pesosChilenos.toFixed(2) + " pesos chilenos"); break; case 3: const pesosMexicanos = dolares * mxn; alert(dolares + " dólares equivalen a " + pesosMexicanos.toFixed(2) + " pesos mexicanos"); break; } -
Conversor de monedas con funciones
// Esta función convierte un valor en dólares a la moneda especificada por el usuario. function convertirDolares(valorDolares, monedaDestino) { var factorConversion; // Declaración de una variable factorConversion para almacenar el factor de conversión. switch (monedaDestino) { // Inicio de un bloque switch para evaluar el valor de la variable monedaDestino. case 'COP': factorConversion = 4500; // Si monedaDestino es igual a 'COP', factorConversion se establece en 4500. break; // Fin del bloque de caso. case 'CLP': factorConversion = 794; // Si monedaDestino es igual a 'CLP', factorConversion se establece en 794. break; // Fin del bloque de caso. case 'MXN': factorConversion = 18; // Si monedaDestino es igual a 'MXN', factorConversion se establece en 18. break; // Fin del bloque de caso. default: // Si monedaDestino no coincide con ninguno de los casos anteriores, se ejecuta el bloque predeterminado. return 'Moneda no soportada'; // Devuelve el mensaje "Moneda no soportada". } var resultado = valorDolares * factorConversion; // Multiplica el valor en dólares por el factor de conversión y lo almacena en la variable resultado. return resultado.toFixed(2); // Devuelve el resultado con dos decimales. } // Esta función solicita al usuario que ingrese el valor en dólares a convertir y la moneda de destino. function obtenerEntradaUsuario() { var valorDolares = parseFloat(prompt('Ingresa el valor en dólares a convertir:')); // Pide al usuario que ingrese un valor en dólares y lo convierte en un número de punto flotante. if (isNaN(valorDolares)) { // Verifica si valorDolares no es un número. return null; // Devuelve nulo si valorDolares no es un número. } var monedaDestino = prompt('Ingresa la moneda de destino (COP, CLP, MXN):').toUpperCase(); // Pide al usuario que ingrese la moneda de destino y convierte el texto en mayúsculas. return { // Devuelve un objeto con dos propiedades, valorDolares y monedaDestino. valorDolares: valorDolares, monedaDestino: monedaDestino }; } var entrada = obtenerEntradaUsuario(); // Llama a la función obtenerEntradaUsuario y almacena el resultado en la variable entrada. if (entrada) { // Verifica si entrada es verdadero. var resultado = convertirDolares(entrada.valorDolares, entrada.monedaDestino); // Llama a la función convertirDolares y almacena el resultado en la variable resultado. alert(entrada.valorDolares + ' dólares equivalen a ' + resultado + ' ' + entrada.monedaDestino); // Muestra un mensaje en una ventana emergente con el resultado de la conversión. } else { // Si entrada es nulo. alert('Entrada no válida'); // Muestra un mensaje en una ventana emergente que indica que la entrada no es válida. }