Menu
Coddy logo textTech

Özet - Dikdörtgen Eylemleri

Coddy'nin Rust Journey'sinin Object Oriented Programming bölümünün bir parçası — ders 7 / 61.

challenge icon

Görev

Kolay

İki alanı olan bir Rectangle struct'ı oluşturun: width (u32) ve height (u32).

Rectangle için aşağıdakileri içeren bir implementasyon bloğu ekleyin:

  • newwidth: u32 ve height: u32 alan ve yeni bir Rectangle döndüren bir ilişkili fonksiyon (associated function)
  • area&self alır ve alanı u32 olarak döndürür
  • scale&mut self ve bir factor: u32 alır, hem genişliği hem de yüksekliği faktörle çarpar

Üç girdi alacaksınız:

  • İlk satır: genişlik (u32)
  • İkinci satır: yükseklik (u32)
  • Üçüncü satır: ölçeklendirme faktörü (u32)

Sağlanan boyutları kullanarak Rectangle::new ile değiştirilebilir (mutable) bir Rectangle oluşturun. Başlangıç alanını yazdırın, ardından dikdörtgeni verilen faktörle ölçeklendirin ve yeni alanı yazdırın.

Beklenen çıktı formatı:

{initial_area}
{scaled_area}

Kendin dene

use std::io;

// TODO: Rectangle struct'ını burada tanımlayın


// TODO: Rectangle için şu özelliklere sahip uygulama bloğunu ekleyin:
// - new: genişlik ve yükseklik alan, Rectangle döndüren ilişkili fonksiyon
// - area: &self alan, u32 döndüren metot
// - scale: &mut self ve katsayı (factor) alan, genişlik ve yüksekliği çarpan metot


fn main() {
    let mut input = String::new();
    
    // Genişliği oku
    io::stdin().read_line(&mut input).expect("Failed to read line");
    let width: u32 = input.trim().parse().expect("Invalid number");
    
    input.clear();
    
    // Yüksekliği oku
    io::stdin().read_line(&mut input).expect("Failed to read line");
    let height: u32 = input.trim().parse().expect("Invalid number");
    
    input.clear();
    
    // Ölçeklendirme katsayısını oku
    io::stdin().read_line(&mut input).expect("Failed to read line");
    let factor: u32 = input.trim().parse().expect("Invalid number");
    
    // TODO: Rectangle::new kullanarak değiştirilebilir (mutable) bir Rectangle oluşturun
    
    // TODO: Başlangıç alanını yazdırın
    
    // TODO: Dikdörtgeni katsayı ile ölçeklendirin
    
    // TODO: Yeni alanı yazdırın
}

Object Oriented Programming bölümündeki tüm dersler