Voici la correction version code:


use std::io;

fn main() {
    println!("Bienvenue dans le calculateur de pourboire.");

    // Lire le montant de l'addition
    let addition = loop {
        println!("Entrez le montant de votre addition :");

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

        match input.trim().parse::<f64>() {
            Ok(value) if value > 0.0 => break value,
            _ => println!("Veuillez entrer un montant valide (un nombre positif)."),
        }
    };

    // Lire le pourcentage de pourboire
    let pourcentage = loop {
        println!("Entrez le pourcentage de pourboire souhaité :");

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

        match input.trim().parse::<f64>() {
            Ok(value) if value >= 0.0 => break value,
            _ => println!("Veuillez entrer un pourcentage valide (un nombre positif ou nul)."),
        }
    };

    // Calculer le pourboire et le total
    let pourboire = addition * (pourcentage / 100.0);
    let total = addition + pourboire;

    // Afficher les résultats
    println!("\nPourboire : {:.2} €", pourboire);
    println!("Total à payer : {:.2} €", total);
}