No tienes acceso a esta clase

¬°Contin√ļa aprendiendo! √önete y comienza a potenciar tu carrera

Ciclo Loop

9/20
Recursos

Aportes 8

Preguntas 1

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

Dato la linea con la que termina la ejecucion del programa puede no llevar ;

fn main() {
    let numero_1 = 123;  
    let numero_2 = 123;

    let suma = numero_1 + numero_2;
    
    loop {
        //mostrar los dos numeros en consola
        println!("primer numero {}, segundo numero {}", numero_1, numero_2);
        
        //Obtener del usuario el numero que represnta la suma
        let mut suma_usuario = String::new();
        std::io::stdin().read_line(&mut suma_usuario).unwrap();
        let suma_usuario_int: i32 = suma_usuario.trim().parse().unwrap();
        
        
        if suma_usuario_int == suma {
            println!("La suma es correcta C:");
            break
        } else {
            println!("La suma es incorrecta :C. Respuesta correcta: {}", suma)
        }
    }
}
fn main() {
	loop {
		let num_2: i32 = get_num();
		let num_1: i32 = get_num();
		
		let result = sum_num(num_1, num_2);
		println!("[+] Sum -> : {}", result);
	
		println!("\n If you want to leave you must add a number greater than 4128: \n");

		if result > 4128 {
			println!("\n[-] Bye Bye! \n");
			break;
		}
	}
}


fn get_num() -> i32 {
	println!("Insert num_one: \n");

	let mut num : String = String::new();
	std::io::stdin().read_line(&mut num).unwrap();
	
	let num_int: i32 = num.trim().parse().unwrap();

	return num_int;
}


fn sum_num(num_1: i32, num_2: i32) -> i32 {
	return num_1 + num_2;
}
fn main() {
    let num1=20;
    let num2=10;
    println!("{num1} + {num2}");
    let suma=num1+num2;
    //-------------------------------------------LOOP INFINITO
    /*loop{//Loop infinito. 
        println!("Digita el resultado de la suma: ");
        let mut res_suma=String::new();
        std::io::stdin().read_line(&mut res_suma).unwrap();
        //Str a Int
        let suma_user_res:i64=res_suma.trim().parse().unwrap();
    
        if suma==suma_user_res{
            println!("perfecto");
            break;
        }else{
            println!("Incorrecto.Intente de nuevo por favor");
        }
    }*/
    //------------------------------------------LOOP WHILE
    while suma==30{
        println!("Digita el resultado de la suma: ");
        let mut res_suma=String::new();
        std::io::stdin().read_line(&mut res_suma).unwrap();
        //Str a Int
        let suma_user_res:i64=res_suma.trim().parse().unwrap();
    
        if suma==suma_user_res{
            println!("perfecto");
            break;
        }else{
            println!("Incorrecto.Intente de nuevo por favor");
        }
    }
   
}

Un ejemplo podría ser usarlo para un while que pueda salir por varias condiciones diferentes. En vez de usar una flag podemos usar un loop con varios breaks.

el ciclo loop nos ayuda para el manejo de errores

el ciclop loop nos ayuda a repetir varias veces nuestra parte del codigo