Menu
Coddy logo textTech

Riepilogo - Azioni sul rettangolo

Fa parte della sezione Programmazione orientata agli oggetti del percorso Rust di Coddy. Lezione 7 di 61.

challenge icon

Sfida

Facile

Crea una struct Rectangle con due campi: width (u32) e height (u32).

Aggiungi un blocco di implementazione per Rectangle con quanto segue:

  • new: una funzione associata che accetta width: u32 e height: u32 e restituisce un nuovo Rectangle
  • area: accetta &self e restituisce l'area come u32
  • scale: accetta &mut self e un factor: u32, moltiplica sia la larghezza sia l'altezza per il fattore

Riceverai tre input:

  • Prima riga: la larghezza (u32)
  • Seconda riga: l'altezza (u32)
  • Terza riga: il fattore di scala (u32)

Crea un Rectangle mutabile usando Rectangle::new con le dimensioni fornite. Stampa l'area iniziale, poi ridimensiona il rettangolo con il fattore indicato e stampa la nuova area.

Formato di output previsto:

{initial_area}
{scaled_area}

Provalo tu

use std::io;

// TODO: Definisci qui la struct Rectangle


// TODO: Aggiungi il blocco di implementazione per Rectangle con:
// - new: funzione associata che riceve width e height e restituisce Rectangle
// - area: metodo che riceve &self e restituisce u32
// - scale: metodo che riceve &mut self e factor e moltiplica width e height


fn main() {
    let mut input = String::new();
    
    // Leggi width
    io::stdin().read_line(&mut input).expect("Failed to read line");
    let width: u32 = input.trim().parse().expect("Invalid number");
    
    input.clear();
    
    // Leggi height
    io::stdin().read_line(&mut input).expect("Failed to read line");
    let height: u32 = input.trim().parse().expect("Invalid number");
    
    input.clear();
    
    // Leggi factor di scala
    io::stdin().read_line(&mut input).expect("Failed to read line");
    let factor: u32 = input.trim().parse().expect("Invalid number");
    
    // TODO: Crea un Rectangle mutabile usando Rectangle::new
    
    // TODO: Stampa l'area iniziale
    
    // TODO: Ridimensiona il rettangolo in base a factor
    
    // TODO: Stampa la nuova area
}

Tutte le lezioni di Programmazione orientata agli oggetti

Esercitati da solo: Compilatore Rust online