Menu
Coddy logo textTech

Récapitulatif - Actions sur le rectangle

Fait partie de la section Programmation Orientée Objet du Journey Rust de Coddy. Leçon 7 sur 61.

challenge icon

Défi

Facile

Créez une structure Rectangle avec deux champs : width (u32) et height (u32).

Ajoutez un bloc d’implémentation pour Rectangle avec les éléments suivants :

  • new : une fonction associée qui prend width: u32 et height: u32 et renvoie un nouveau Rectangle
  • area : prend &self et renvoie l’aire sous forme de u32
  • scale : prend &mut self et un factor: u32, puis multiplie la largeur et la hauteur par le facteur

Vous recevrez trois entrées :

  • Première ligne : la largeur (u32)
  • Deuxième ligne : la hauteur (u32)
  • Troisième ligne : le facteur d’échelle (u32)

Créez un Rectangle mutable à l’aide de Rectangle::new avec les dimensions fournies. Affichez l’aire initiale, puis mettez le rectangle à l’échelle avec le facteur donné et affichez la nouvelle aire.

Format de sortie attendu :

{initial_area}
{scaled_area}

Essayez vous-même

use std::io;

// TODO: Définir la structure Rectangle ici


// TODO: Ajouter le bloc d'implémentation pour Rectangle avec :
// - new : fonction associée qui prend width et height, retourne Rectangle
// - area : méthode qui prend &self, retourne u32
// - scale : méthode qui prend &mut self et factor, multiplie width et height


fn main() {
    let mut input = String::new();
    
    // Lire width
    io::stdin().read_line(&mut input).expect("Failed to read line");
    let width: u32 = input.trim().parse().expect("Invalid number");
    
    input.clear();
    
    // Lire height
    io::stdin().read_line(&mut input).expect("Failed to read line");
    let height: u32 = input.trim().parse().expect("Invalid number");
    
    input.clear();
    
    // Lire le facteur d'échelle
    io::stdin().read_line(&mut input).expect("Failed to read line");
    let factor: u32 = input.trim().parse().expect("Invalid number");
    
    // TODO: Créer un Rectangle mutable en utilisant Rectangle::new
    
    // TODO: Afficher l'aire initiale
    
    // TODO: Mettre à l'échelle le rectangle par le facteur
    
    // TODO: Afficher la nouvelle aire
}

Toutes les leçons de Programmation Orientée Objet

Entraînez-vous par vous-même : Compilateur Rust en ligne