Menu
CoddyTech

If-else lồng nhau

Thuộc phần Kiến thức nền tảng trong hành trình Rust của Coddy. Bài học 28 trên 75.

Chúng ta có thể lồng các câu lệnh if / else if / else vào nhau. Cách này cho phép chúng ta tạo cấu trúc ra quyết định theo thứ bậc.

Ví dụ:

if age > 18 {
    if hasLicense {
        println!("You can drive");
    } else {
        println!("Get a license first");
    }
} else {
    println!("Too young to drive");
}

Có thể lồng nhau vô hạn:

if condition1 {
	if condition2 {
		if condition3 {
		    // if condition1, condition2 và condition3 đều đúng
		    ...
		}
	}
}
challenge icon

Thử thách

Người mới

Tạo một chương trình kiểm tra xem một người có thể chơi tàu lượn siêu tốc hay không. Các yêu cầu:

  • Phải từ 12 tuổi trở lên
  • Phải cao hơn 150cm
  • Nếu đáp ứng cả hai yêu cầu nhưng chưa đủ 15 tuổi, người đó cần có người lớn giám sát

In chính xác các thông báo sau cho từng trường hợp:

  • Nếu còn quá nhỏ: Sorry, you're too young
  • Nếu chưa đủ cao: Sorry, you're not tall enough
  • Nếu chưa đủ 15 tuổi và không có người lớn đi cùng: Sorry, you need an adult with you
  • Nếu chưa đủ 15 tuổi và có người lớn đi cùng: You can ride with adult supervision!
  • Nếu từ 15 tuổi trở lên và đủ cao: You can ride by yourself!

Tự làm thử

use std::io;

fn main() {
    let mut age_input = String::new();
    let mut height_input = String::new();
    let mut adult_input = String::new();
    
    io::stdin().read_line(&mut age_input).unwrap();
    io::stdin().read_line(&mut height_input).unwrap();
    io::stdin().read_line(&mut adult_input).unwrap();
    
    let age: i32 = age_input.trim().parse().unwrap();
    let height: i32 = height_input.trim().parse().unwrap();
    let has_adult: bool = adult_input.trim().parse().unwrap();

    // Viết code bên dưới
    
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Kiến thức nền tảng

Tự luyện tập: Trình biên dịch Rust online