Menu
Coddy logo textTech

요약 - 사각형 동작

Coddy Rust 여정의 Object Oriented Programming 섹션에 포함된 레슨 — 61개 중 7번째.

challenge icon

챌린지

쉬움

두 개의 필드 width (u32)와 height (u32)를 가진 Rectangle 구조체를 생성하세요.

Rectangle에 대해 다음을 포함하는 구현 블록을 추가하세요:

  • newwidth: u32height: u32를 매개변수로 받아 새로운 Rectangle을 반환하는 연관 함수
  • area&self를 매개변수로 받아 면적을 u32로 반환하는 메서드
  • scale&mut selffactor: u32를 매개변수로 받아 너비와 높이 모두에 해당 인수를 곱하는 메서드

세 개의 입력을 받게 됩니다:

  • 첫 번째 줄: 너비 (u32)
  • 두 번째 줄: 높이 (u32)
  • 세 번째 줄: 배율 인수 (u32)

제공된 치수를 사용하여 Rectangle::new로 가변 Rectangle을 생성하세요. 초기 면적을 출력한 다음, 주어진 인수로 사각형의 크기를 조정하고 새로운 면적을 출력하세요.

예상 출력 형식:

{initial_area}
{scaled_area}

직접 해보기

use std::io;

// TODO: 여기에 Rectangle 구조체를 정의하세요


// TODO: 다음을 포함하는 Rectangle의 구현 블록을 추가하세요:
// - new: 너비와 높이를 받아 Rectangle을 반환하는 연관 함수
// - area: &self를 받아 u32를 반환하는 메서드
// - scale: &mut self와 factor를 받아 너비와 높이를 곱하는 메서드


fn main() {
    let mut input = String::new();
    
    // 너비 읽기
    io::stdin().read_line(&mut input).expect("Failed to read line");
    let width: u32 = input.trim().parse().expect("Invalid number");
    
    input.clear();
    
    // 높이 읽기
    io::stdin().read_line(&mut input).expect("Failed to read line");
    let height: u32 = input.trim().parse().expect("Invalid number");
    
    input.clear();
    
    // 배율 읽기
    io::stdin().read_line(&mut input).expect("Failed to read line");
    let factor: u32 = input.trim().parse().expect("Invalid number");
    
    // TODO: Rectangle::new를 사용하여 가변 Rectangle 생성
    
    // TODO: 초기 면적 출력
    
    // TODO: factor만큼 사각형의 크기 조정
    
    // TODO: 새로운 면적 출력
}

Object Oriented Programming의 모든 레슨