Menu
CoddyTech

If else lồng nhau

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

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

Ví dụ:

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

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

if (condition1) {
	if (condition2) {
		if (condition3) {
		    // nếu condition1, condition2 và condition3 đều đúng
		    ...
		}
	}
}

Nếu không có dấu ngoặc nhọn, else ghép với if gần nhất ở phía trên chưa có else:

if (age > 18)
    if (hasLicense)
        Console.WriteLine("You can drive");
    else
        Console.WriteLine("Get a license first");

Ở đây, else thuộc về if (hasLicense), bất kể thụt lề thể hiện thế nào. Hãy dùng dấu ngoặc nhọn để làm rõ cách ghép cặp.

challenge icon

Thử thách

Người mới

Tạo 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

Đặt biến status thành chính xác các chuỗi sau trong 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ử

using System;

class Program {
    public static void Main(string[] args) {
        int age = int.Parse(Console.ReadLine()); // Đừng thay đổi dòng này
        int height = int.Parse(Console.ReadLine()); // Đừng thay đổi dòng này
        bool hasAdult = bool.Parse(Console.ReadLine()); // Đừng thay đổi dòng này

        string status = "";
        
        // Viết code của bạn bên dưới
        
        
        
        // Đừng thay đổi phần bên dưới dòng này
        Console.WriteLine(status);
    }
}
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 C# online