Voici la solution version code:


use std::io;

fn main() {
    println!("Bienvenue dans le convertisseur de température !");
    println!("Que voulez-vous faire ?");
    println!("1. Convertir de Celsius à Fahrenheit");
    println!("2. Convertir de Fahrenheit à Celsius");

    // Lire le choix de l'utilisateur
    let choix = loop {
        let mut input = String::new();
        io::stdin()
            .read_line(&mut input)
            .expect("Erreur lors de la lecture de l'entrée.");

        match input.trim() {
            "1" => break 1,
            "2" => break 2,
            _ => println!("Veuillez entrer 1 ou 2 pour faire un choix valide."),
        }
    };

    // Lire la température à convertir
    let temperature = loop {
        println!("Entrez la température à convertir :");

        let mut input = String::new();
        io::stdin()
            .read_line(&mut input)
            .expect("Erreur lors de la lecture de l'entrée.");

        match input.trim().parse::<f64>() {
            Ok(value) => break value,
            Err(_) => println!("Veuillez entrer une valeur numérique valide."),
        }
    };

    // Effectuer la conversion
    if choix == 1 {
        let fahrenheit = celsius_to_fahrenheit(temperature);
        println!(
            "{:.2} °C équivaut à {:.2} °F",
            temperature, fahrenheit
        );
    } else {
        let celsius = fahrenheit_to_celsius(temperature);
        println!(
            "{:.2} °F équivaut à {:.2} °C",
            temperature, celsius
        );
    }
}

// Fonction de conversion Celsius → Fahrenheit
fn celsius_to_fahrenheit(celsius: f64) -> f64 {
    (celsius * 9.0 / 5.0) + 32.0
}

// Fonction de conversion Fahrenheit → Celsius
fn fahrenheit_to_celsius(fahrenheit: f64) -> f64 {
    (fahrenheit - 32.0) * 5.0 / 9.0
}