diff --git a/ejercicios/reto07/src/main.rs b/ejercicios/reto07/src/main.rs index 75004ac..b125cf1 100644 --- a/ejercicios/reto07/src/main.rs +++ b/ejercicios/reto07/src/main.rs @@ -12,14 +12,19 @@ use std::io; fn main() { - println!("Cuál es tu color preferido?"); - println!("1. Azul"); - println!("2. Rojo"); - println!("3. Verde"); - println!("4. Negro"); - let mut stdin = io::stdin(); - let input = &mut String::new(); - input.clear(); - stdin.read_line(input); - println!("{}", input); + let mut entrada: String = String::new(); + + while entrada.trim().parse::().is_err() + || entrada.trim().parse::().unwrap() < 1 + || entrada.trim().parse::().unwrap() > 4 + { + println!("Cuál es tu color preferido?"); + println!("1. Azul"); + println!("2. Rojo"); + println!("3. Verde"); + println!("4. Negro"); + // a que casa se añaden + entrada.clear(); + io::stdin().read_line(&mut entrada).unwrap(); + } }