34 lines
610 B
Rust
34 lines
610 B
Rust
trait Muoto {
|
|
fn pinta_ala(&self) -> u32;
|
|
}
|
|
|
|
struct Suorakulmio {
|
|
x: u32,
|
|
y: u32,
|
|
}
|
|
|
|
struct Ympyra {
|
|
r: f64,
|
|
}
|
|
|
|
impl Muoto for Suorakulmio {
|
|
fn pinta_ala(&self) -> u32 {
|
|
self.x * self.y
|
|
}
|
|
}
|
|
|
|
impl Muoto for Ympyra {
|
|
fn pinta_ala(&self) -> u32 {
|
|
(3.141 * self.r * self.r) as u32
|
|
}
|
|
}
|
|
|
|
fn main() {
|
|
let muoto1 = Suorakulmio { x: 15, y: 10 };
|
|
let muoto2 = Ympyra { r: 8.5 };
|
|
println!("Suorakulmion pinta-ala: {}", muoto1.pinta_ala());
|
|
println!("Ympyrän pinta-ala: {}", muoto2.pinta_ala());
|
|
}
|
|
|
|
// Suorakulmion pinta-ala: 150
|
|
// Ympyrän pinta-ala: 226
|