use std::io;
fn main() {
//Declaracion de Variables
let mut repe = 1;
//Empieza programa principal
while repe == 1 {
println!("--------------------------------\n");
println!("Lista de Paises con su moneda:");
println!("1. Dolar = USD");
println!("2. Yen = JPY");
println!("3. Euro = EUR");
println!("4. Peso = MXN\n");
//Entrada de seleccion de pais
println!("Escoja un pais: ");
let mut int_input = String::new();
io::stdin().read_line(&mut int_input).expect("Failed to read line");
//Transformar a Int
let selec: i32 = match int_input.trim().parse() {
Ok(num) => num,
Err(_) => {
println!("Please enter a valid integer.");
return;
}
};
if selec >= 1 && selec <= 4 {
//Se calcula el pais escogido
match selec {
1 => {
println!("Escojiste USD");
//Entra los USD para convertir a otros
println!("Ingrese la cantidad de dolares: ");
let mut usd_input = String::new();
io::stdin().read_line(&mut usd_input).expect("Failed to read line");
//Transformar a Float
let usd: f64 = match usd_input.trim().parse() {
Ok(num) => num,
Err(_) => {
println!("Please enter a valid number.");
return;
}
};
//Calcula el valor de USD a otros
let jpy = usd * 130.0;
let eur = usd * 0.92;
let mxn = usd * 18.0;
//Saca los valores
println!("\n{} dolares son {:.2} yenes", usd, jpy);
println!("{} dolares son {:.2} euros", usd, eur);
println!("{} dolares son {:.2} pesos mexicanos", usd, mxn);
},
2 => {
println!("Escojiste JPY");
//Entra los JPY para convertir a otros
println!("Ingrese la cantidad de yenes: ");
let mut jpy_input = String::new();
io::stdin().read_line(&mut jpy_input).expect("Failed to read line");
//Transformar a Float
let jpy: f64 = match jpy_input.trim().parse() {
Ok(num) => num,
Err(_) => {
println!("Please enter a valid number.");
return;
}
};
//Calcula el valor de JPY a otros
let usd = jpy * 0.0076;
let eur = jpy * 0.0069;
let mxn = jpy * 0.15;
//Saca los valores
println!("\n{} yenes son {:.2} dolares", jpy, usd);
println!("{} yenes son {:.2} euros", jpy, eur);
println!("{} yenes son {:.2} pesos mexicanos", jpy, mxn);
},
3 => {
println!("Escojiste EUR");
//Entra los EUR para convertir a otros
println!("Ingrese la cantidad de euros: ");
let mut eur_input = String::new();
io::stdin().read_line(&mut eur_input).expect("Failed to read line");
//Transformar a Float
let eur: f64 = match eur_input.trim().parse() {
Ok(num) => num,
Err(_) => {
println!("Please enter a valid number.");
return;
}
};
//Calcula el valor de EUR a otros
let usd = eur * 1.09;
let jpy = eur * 129.0;
let mxn = eur * 19.0;
//Saca los valores
println!("\n{} euros son {:.2} dolares", eur, usd);
println!("{} euros son {:.2} yenes", eur, jpy);
println!("{} euros son {:.2} pesos mexicanos", eur, mxn);
},
4 => {
println!("Escojiste MXN");
//Entra los MXN para convertir a otros
println!("Ingrese la cantidad de pesos mexicanos: ");
let mut mxn_input = String::new();
io::stdin().read_line(&mut mxn_input).expect("Failed to read line");
//Transformar a Float
let mxn: f64 = match mxn_input.trim().parse() {
Ok(num) => num,
Err(_) => {
println!("Please enter a valid number.");
return;
}
};
//Calcula el valor de MXN a otros
let usd = mxn * 0.049;
let jpy = mxn * 6.0;
let eur = mxn * 0.047;
//Saca los valores
println!("\n{} pesos mexicanos son {:.2} dolares", mxn, usd);
println!("{} pesos mexicanos son {:.2} yenes", mxn, jpy);
println!("{} pesos mexicanos son {:.2} euros", mxn, eur);
},
_ => {
println!("Invalid selection");
}
}
}else {
println!("Por favor ingrese un numero entre 1 y 4");
}
println!("\n\nQuieres volver a usar el programa? 1 = Si, 0 = No");
let mut repe_input = String::new();
io::stdin().read_line(&mut repe_input).expect("Failed to read line");
//Transformar a Int
let reperes: i32 = match repe_input.trim().parse() {
Ok(num) => num,
Err(_) => {
println!("Please enter a valid integer.");
return;
}
};
if reperes == 1 {
repe = 1;
} else {
repe = 0;
}
}
}