Exemple de solution

use std::io;

fn main() {
    println!("Entrez un nombre pour afficher sa table de multiplication :");

    // Lire l'entrée utilisateur
    let nombre = 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().parse::<i32>() {
            Ok(value) => break value,
            Err(_) => println!("Veuillez entrer un nombre entier valide."),
        }
    };

    println!("Table de multiplication de {} :", nombre);

    // Calculer et afficher la table de multiplication
    for i in 1..=10 {
        println!("{} x {} = {}", nombre, i, nombre * i);
    }
}

Explication du code

  1. Lecture et validation de l'entrée utilisateur

  2. Calcul avec une boucle

  3. Affichage formaté

Améliorations possibles

  1. Personnalisation de la plage : Permettez à l'utilisateur de définir une plage personnalisée (par exemple, de 1 à nnn).

  2. Affichage sous forme de tableau : Ajoutez des espaces ou des tabulations pour un formatage clair, similaire à un tableau aligné.

  3. Calculs avancés : Proposez de générer la table de puissance (exposants) au lieu de la multiplication.

  4. Mode interactif : Proposez un menu pour afficher les tables de plusieurs nombres sans relancer le programme.