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);
}