Cấu Trúc Rẽ Nhánh Switch Case Trong C# | How Kteam
Có thể bạn quan tâm
Đăng ký Đăng nhập - PG Pages
- Khóa học
- Lập trình
- Lập trình C# .Net
- Lập trình C++
- Lập trình Android
- Điều trường học không dạy
- Thủ thuật lập trình
- Lập trình Java
- Unity3D
- Phân tích thiết kế
- Lập trình Python
- Lập trình PHP
- Lập trình Robot
- JavaScript - (Website)
- Lập trình Front-End
- Lập trình Mobile
- Microsoft Office 2016
- Microsoft Word 2016
- Microsoft Excel 2016
- Microsoft PowerPoint 2016
- IT & Phần mềm
- Thủ thuật máy tính
- Hướng dẫn cài đặt
- Bảo mật máy tính
- Phần cứng & Bảo mật
- Đồ họa hình ảnh
- Adobe Photoshop LightRoom
- Kinh tế
- Quản trị kinh doanh
- Kế toán
- Nhân sự
- SEO
- Marketing
- Ngoại ngữ
- Tiếng anh
- Kỹ năng mềm
- Kỹ năng mềm
- Tin tức
- Tin tức công nghệ
- Lập trình
- Khóa học
- Hỏi đáp
- Bài viết
- Tag
- Kter
- Về Kteam
- Phản hồi
Khóa học lập trình C# căn bản
5.0 (7 đánh giá) Tạo bởi Trần Thành Vi Thanh Cập nhật lần cuối 11:36 20-07-2020 220.251 lượt xem 71 bình luận Tác giả/Dịch giả:Danh sách bài học
Cấu trúc rẽ nhánh Switch case trong C#
Khóa học lập trình C# căn bản Tạo bởi Trần Thành Vi Thanh 220.251 71 Học nhanhCấu trúc rẽ nhánh Switch case trong C#
Nội dung bài viết Học nhanh
Bài trước Bài sauDẫn nhập
Cấu trúc rẽ nhánh có 2 loại, ở bài CẤU TRÚC RẼ NHÁNH IF - ELSE TRONG C# chúng ta đã tìm hiểu loại đầu tiên. Và hôm nay chúng ta sẽ tìm hiểu loại còn lại – Cấu trúc rẽ nhánh Switch case trong C#.
Nội dung
Để đọc hiểu bài này tốt nhất các bạn nên có kiến thức cơ bản về các phần:
- Cấu trúc lệnh của C# viết trên nền Console Application.
- Cấu trúc nhập xuất của C# trên nền Console Application.
- BIẾN, KIỂU DỮ LIỆU, TOÁN TỬ trong C#.
- ÉP KIỂU TRONG C#.
Trong bài học này, chúng ta sẽ cùng tìm hiểu các vấn đề:
- Cấu trúc switch case dạng thiếu và dạng đủ.
- Ví dụ chương trình sử dụng cấu trúc switch case.
Cấu trúc switch case dạng thiếu và dạng đủ
Dạng thiếu
Cú pháp:
switch (<biểu thức>)
{
case <giá trị thứ 1>: <câu lệnh thứ 1>;
break;
case <giá trị thứ 2>: <câu lệnh thứ 2>;
break;
. . .
case <giá trị thứ n>: <câu lệnh thứ n>;
break;
}
Trong đó:
- switch, case là từ khóa bắt buộc.
- break là một lệnh nhảy
- Ý nghĩa của nó là thoát ra khỏi cấu trúc, vòng lặp chứa nó (khái niệm về vòng lặp sẽ được trình bày ở bàiCẤU TRÚC LẶP GOTO TRONG C#)
- Ngoài break ra vẫn còn lệnh nhảy khác như goto nhưng ít được sử dụng (chi tiết về lệnh goto sẽ được trình bày trong bàiCẤU TRÚC LẶP GOTO TRONG C#).
- Vì trong cấu trúc switch. . . case chủ yếu chỉ sử dụng lệnh break nên mình cố tình để lệnh break vào trong cú pháp thay vì ghi chung chung là lệnh nhảy.
- <biểu thức> phải là biểu thức trả về kết quả kiểu:
- Số nguyên (int, long, byte, . . .)
- Ký tự hoặc chuỗi (char, string)
- Kiểu liệt kê (enum, sẽ được trình bày trong bài ENUM TRONG LẬP TRÌNH C# )
- <giá trị thứ i> với i = 1..n là giá trị muốn so sánh với giá trị của <biểu thức>.
- <câu lệnh thứ i> với i = 1..n là câu lệnh muốn thực hiện khi <giá trị thứ i> tương ứng bằng với giá trị của <biểu thức>.
Ý nghĩa: Duyệt lần lượt từ trên xuống dưới và kiểm tra xem giá trị của <biểu thức> có bằng với <giá trị thứ i> đang xét hay không. Nếu bằng thì thực hiện <câu lệnh thứ i> tương ứng.
Lưu ý:
- <giá trị thứ i> phải có kiểu dữ liệu giống với kiểu dữ liệu của giá trị của biểu thức.
- <câu lệnh thứ i> có thể gồm nhiều câu lệnh và không nhất thiết phải đặt trong cặp dấu ngoặc nhọn { } nhưng tốt hơn bạn nên đặt trong cặp dấu { } để code được rõ ràng hơn.
- Nếu case đang xét không rỗng (có lệnh để thực hiện) thì bắt buộc phải có lệnh nhảy (cụ thể là lệnh break) sau đó.
- Ví dụ:
Lưu đồ sau sẽ minh họa cho các bạn cách thức hoạt động của cấu trúc switch. . . case dạng thiếu:

- Chú ý là trường hợp không có lệnh break như trong hình đồng nghĩa với việc case đó rỗng (không có câu lệnh thực hiện).
- Đối với case cuối cùng dù có câu lệnh để thực hiện hay không vẫn phải có lệnh break để thoát khỏi cấu trúc.
Ví dụ:
int k = 10; switch (k) // giá trị biểu thức là giá trị của biến k (kiểu số nguyên) { case 3: // các giá trị so sánh cũng là kiểu số nguyên Console.WriteLine("HowKteam"); // lệnh thực hiện nếu k = 3 break; // lệnh thoát ra khỏi cấu trúc case 9: Console.WriteLine("Kteam"); // tương tự break; case 10: Console.WriteLine("Free Education"); // tương tự break; }Kết quả khi chạy chương trình trên là:

Dạng đủ
Cú pháp:
switch (<biểu thức>)
{
case <giá trị thứ 1>: <câu lệnh thứ 1>;
break;
case <giá trị thứ 2>: <câu lệnh thứ 2>;
break;
. . .
case <giá trị thứ n>: <câu lệnh thứ n>;
break;
default: <câu lệnh mặc định>;
break;
}
Trong đó:
- switch, case, default là từ khóa bắt buộc.
- <biểu thức> phải là biểu thức trả về kết quả kiểu:
- Số nguyên (int, long, byte, . . .)
- Ký tự hoặc chuỗi (char, string)
- Kiểu liệt kê (enum, sẽ được trình bày trong bài ENUM TRONG LẬP TRÌNH C#)
- <giá trị thứ i> với i = 1..n là giá trị muốn so sánh với giá trị của <biểu thức>.
- <câu lệnh thứ i> với i = 1..n là câu lệnh muốn thực hiện khi <giá trị thứ i> tương ứng bằng với giá trị của <biểu thức>.
- <câu lệnh mặc định> là câu lệnh sẽ được thực hiện nếu giá trị <biểu thức> không bằng với <giá trị thứ i> nào.
Ý nghĩa: Duyệt lần lượt từ trên xuống dưới và kiểm tra xem giá trị của <biểu thức> có bằng với <giá trị thứ i> đang xét hay không. Nếu bằng thì thực hiện <câu lệnh thứ i> tương ứng. Nếu không bằng tất cả các <giá trị thứ i> thì sẽ thực hiện <câu lệnh mặc định>.
Lưu đồ sau sẽ minh họa cách thức hoạt động của cấu trúc switch. . . case. . . default. . . :

Về cơ bản cách thức hoạt động của 2 cấu trúc switch. . . case dạng đủ và dạng thiếu là như nhau, chỉ khác nhau ở một diểm là dạng đủ có thêm dòng default. . . (tương tự là lệnh else trong bài CẤU TRÚC RẼ NHÁNH IF ELSE) nên các bạn xem lại lưu ý của dạng thiếu để tránh mắc lỗi.
Ví dụ:
int k = 8; switch (k) { case 3: Console.WriteLine("HowKteam"); break; case 9: Console.WriteLine("Kteam"); break; case 10: Console.WriteLine("Free Education"); break; default: // Nếu không thỏa các trường hợp trên sẽ thực hiện lệnh sau đây Console.WriteLine("Connecting to HowKteam. . ."); break; }Kết quả khi chạy chương trình trên là:

- Vì không tìm thấy case nào có giá trị bằng với giá trị biến k nên sẽ thực hiện câu lệnh trong default. Do đó màn hình in ra “Connecting to HowKteam. . .”.
Ví dụ chương trình sử dụng cấu trúc switch case
Ví dụ: Viết chương trình tính năm âm lịch từ năm dương lịch đã nhập.
Thuật toán tính năm âm lịch:
- Năm âm lịch = Can + Chi. Vì thế cần tính được Can và Chi sau đó ghép lại là xong.
- Tính Can bằng cách:
- Tìm phần dư của phép chia năm dương lịch cho 10.
- Tra bảng sau để tìm ra Can tương ứng
| Năm dương % 10 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| Can | Canh | Tân | Nhâm | Quý | Giáp | Ất | Bính | Đinh | Mậu | Kỷ |
- Tìm Chi bằng cách:
- Tìm phần dư của phép chia năm dương lịch cho 12.
- Tra bảng sau để tìm ra Chi tương ứng:
| Năm dương % 12 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| Can | Thân | Dậu | Tuất | Hợi | Tý | Sửu | Dần | Mẹo | Thìn | Tỵ | Ngọ | Mùi |
- Nối Can và Chi lại để được kết quả.
Các bạn tham khảo đoạn chương trình sau:
int Year; // Biến chứa giá trị năm cần tính. string Can = "", Chi = ""; // Biến chứa kết quả. Console.Write(" Moi ban nhap mot nam bat ky: "); Year = Int32.Parse(Console.ReadLine()); // Nhập năm dương lịch và ép kiểu về kiểu số nguyên switch (Year % 10) // Tìm Can như thuật toán đã trình bày. { case 0: // Mỗi case này tương ứng một kết quả cần tra cứu trong bảng tra cứu Can Can = "Canh"; // Giá trị tương ứng với mỗi case break; case 1: Can = "Tan"; break; case 2: Can = "Nham"; break; case 3: Can = "Quy"; break; case 4: Can = "Giap"; break; case 5: Can = "At"; break; case 6: Can = "Binh"; break; case 7: Can = "Dinh"; break; case 8: Can = "Mau"; break; case 9: Can = "Ky"; break; } switch (Year % 12) // Tìm Chi như thuật toán đã trình bày { case 0: // Mỗi case này tương ứng một kết quả cần tra cứu trong bảng tra cứu Chi Chi = "Than"; // Giá trị tương ứng với mỗi case break; case 1: Chi = "Dau"; break; case 2: Chi = "Tuat"; break; case 3: Chi = "Hoi"; break; case 4: Chi = "Ty"; break; case 5: Chi = "Suu"; break; case 6: Chi = "Dan"; break; case 7: Chi = "Meo"; break; case 8: Chi = "Thin"; break; case 9: Chi = "Ti"; break; case 10: Chi = "Ngo"; break; case 11: Chi = "Mui"; break; } Console.WriteLine("Nam {0} co nam am lich la: {1} {2}", Year, Can, Chi); // Nối Can và Chi lại để được năm âm lịch Console.ReadLine();Kết quả khi chạy chương trình trên là:

- Ở ví dụ trên mình đã bỏ qua việc kiểm tra dữ liệu nhập vào có đúng hay không nên các bạn có thể áp dụng kiến thức đã học để thực hiện (tham khảo ví dụ trong CẤU TRÚC RẼ NHÁNH IF ELSE TRONG C#).
Bài tập tham khảo
Tương tự phần bài tập của bài CẤU TRÚC RẼ NHÁNH IF ELSE TRONG C# nhưng sử dụng cấu trúc Switch case.
Hãy khoe thành quả của bạn vào fanpage hoặc phần bình luận nhé.
Kết luận
Nội dung bài này giúp các bạn nắm được:
- Cấu trúc switch case dạng thiếu và dạng đủ.
- Viết chương trình sử dụng cấu trúc switch case.
Bài học sau chúng ta sẽ cùng tìm hiểu một khái niệm tiếp theo đó là KIỂU DỮ LIỆU OBJECT TRONG C#.
Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của mình để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó”.
Tải xuống
Tài liệu
Nhằm phục vụ mục đích học tập Offline của cộng đồng, Kteam hỗ trợ tính năng lưu trữ nội dung bài học Cấu trúc rẽ nhánh Switch case trong C# dưới dạng file PDF trong link bên dưới.
Ngoài ra, bạn cũng có thể tìm thấy các tài liệu được đóng góp từ cộng đồng ở mục TÀI LIỆU trên thư viện Howkteam.com
Đừng quên like và share để ủng hộ Kteam và tác giả nhé!
Thảo luận
Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần BÌNH LUẬN bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.
CỘNG ĐỒNG HỎI ĐÁP HOWKTEAM.COM
GROUP THẢO LUẬN FACEBOOK Nội dung bài viết
Tác giả/Dịch giả
Mỗi buổi sáng thức dậy, bạn có 2 lựa chọn, tiếp tục ngủ để mơ những giấc mơ hoặc thức dậy và theo đuổi chúng!
Khóa học
Khóa học lập trình C# căn bản
Bạn mới bắt đầu học lập trình? Bạn đang muốn học thêm ngôn ngữ lập trình mới? C# là lựa chọn hoàn hảo để đáp ứng các nhu cầu trên.
Ngôn ngữ C# là một ngôn ngữ mới, cấu trúc rõ ràng, dễ hiểu và dễ học. C# thừa hưởng những ưu việt từ ngôn ngữ Java, C, C++ cũng như khắc phục được những hạn chế của các ngôn ngữ này. C# là ngôn ngữ lập trình hướng đối tượng được phát triển bởi Microsoft, được xây dựng dựa trên C++ và Java.
Khoá học lần này sẽ mang đến toàn bộ những kiến thức cơ bản về C#. Chào mừng các bạn đã đến với khoá học LẬP TRÌNH C# CƠ BẢN của Kteam.
Đánh giá
Rất trân trọng những đóng góp và kiến thức mà đội ngũ Kteam mang đến cho cộng đồng
Báo cáoGood job dễ hiểu chi tiết hơn mấy cái quyển sách tiktok nhiều 🤣
Báo cáoBình luận
Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.
Đăng nhậpusing System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;
namespace BaiTapSwitchCase { class Program { static void Main(string[] args) { Console.WriteLine("Tro choi keo bua bao"); Console.WriteLine("1:Keo ; 2:Bua ; 3:Bao"); Console.WriteLine("Hay nhap lua chon cua ban"); int userChoice = int.Parse(Console.ReadLine()); switch (userChoice) { case 1: Console.WriteLine("Lua chon cua ban la keo"); break; case 2: Console.WriteLine("Lua chon cua ban la bua"); break; case 3: Console.WriteLine("Lua chon cua ban la bao"); break; default: Console.WriteLine("Ban phai chon 1 trong 3 so 1 , 2 , 3"); break; } Random rand = new Random(); int computerChoice = rand.Next(1, 4); switch (computerChoice) { case 1: Console.WriteLine("Lua chon cua may la keo"); break; case 2: Console.WriteLine("Lua chon cua may la bua"); break; case 3: Console.WriteLine("Lua chon cua may la bao"); break; } if (userChoice == computerChoice) { Console.WriteLine("Ban da hoa"); } else if ((userChoice == 1 && computerChoice == 2) || (userChoice == 2 && computerChoice == 3) || (userChoice == 3 && computerChoice == 1)) { Console.WriteLine("Ban da thua"); } else Console.WriteLine("Ban da thang"); Console.ReadKey(); } } }
0 0 Trả lời Báo cáonamespace CS { internal class Program { static void Main(string[] args) { Console.OutputEncoding = Encoding.UTF8; #region int Player, KQ;
Console.WriteLine("Trò Chơi Kéo, Búa, Bao Với Máy!"); Console.WriteLine("Kéo, Búa, Bao tương ứng với số 1, 2, 3"); Console.Write("Mời bạn nhập số: "); bool check = int.TryParse(Console.ReadLine(), out Player);
if (check == true) { if (Player > 0 && Player < 4) {
switch (Player) { case 1: Console.WriteLine("Bạn chọn Kéo!"); break; case 2: Console.WriteLine("Bạn chọn Búa!"); break; case 3: Console.WriteLine("Bạn chọn Bao!"); break; }
Random R = new Random(); int Bot = R.Next(1, 4); switch (Bot) { case 1: Console.WriteLine("Máy chọn Kéo!"); break; case 2: Console.WriteLine("Máy chọn Búa!"); break; case 3: Console.WriteLine("Máy chọn Bao!"); break; }
KQ = Player - Bot;
switch (KQ) { case (-2 or 1): Console.WriteLine("Chúc Mừng Bạn Đã THẮNG!"); break; case (-1 or 2): Console.WriteLine("Ôi! Bạn Đã Thua!"); break; default: Console.WriteLine("Hòa Rồi!"); break;
} } else { Console.WriteLine("Bạn chỉ được nhập 1, 2, 3!"); } } else { Console.WriteLine("Bạn nhập sai rồi! Vui lòng thoát và mở lại!"); } #endregion Console.ReadKey();
} } }
0 0 Trả lời Báo cáo{ int NamHT; int NamSinh; int Tuoi; Console.Write("Moi ban nhap nam sinh: "); NamSinh = Int32.Parse(Console.ReadLine()); Console.Write("Moi ban nhap nam hien tai: "); NamHT = Int32.Parse(Console.ReadLine());
Tuoi = NamHT - NamSinh; switch (Tuoi >2022 || Tuoi<0) { case true: Console.WriteLine("Ban nhap sai!"); Console.ReadKey(); return; }
switch (Tuoi <16) { case true: Console.WriteLine("Ban {0} tuoi,tuoi vi thanh nien", Tuoi); break; } switch (Tuoi>=16 && Tuoi<18) { case true: Console.WriteLine("Ban {0} tuoi,tuoi truong thanh",Tuoi); break; } switch (Tuoi >=18) { case true: Console.WriteLine("Ban {0} tuoi,ban gia roi",Tuoi); break; } Console.ReadKey();
0 0 Trả lời Báo cáo.NET 6.0
// See https://aka.ms/new-console-template for more information #region Phuong Tring Bac 2 //int a, b, c, Delta; //string strA, strB, strC; //float x1, x2; //Console.Write("A = "); //strA = Console.ReadLine(); //Console.Write("B = "); //strB = Console.ReadLine(); //Console.Write("C = "); //strC = Console.ReadLine(); //a = int.Parse(strA); //b = int.Parse(strB); //c = int.Parse(strC); //Console.WriteLine("Phuong Trinh: {0}*x^2 {1}*x {2} = 0", a, b >= 0 ? "+" + b : b, c > 0 ? "+" + c : c == 0 ? "" : c); //Delta = (b * b) - (4 * a * c); //Console.WriteLine("Delta = {0}", Delta); //if (Delta > 0) //{ // Console.WriteLine("Phuong Trinh Co Nghiem x1 = {0}; x2 = {1}", ((-b) + Math.Sqrt(Delta)) / (2 * a), ((-b) - Math.Sqrt(Delta)) / (2 * a)); //} //else if (Delta < 0) //{ // Console.WriteLine("Phuong Trinh Vo Nghiem"); //} //else //{ // Console.WriteLine("Phuong Trinh Co Nghiem x1 = x2 = {0}", (-b) / (2 * a)); //} #endregion #region Tinh Tuoi //int yearNow = DateTime.Now.Year; //int yearUser; //int yourAge; //Console.Write("Nhap Nam Sinh: "); //yearUser = int.Parse(Console.ReadLine()); //yourAge = yearNow - yearUser; //if (yourAge < 0 || yourAge > yearNow) //{ // Console.WriteLine("Nam Sinh Khong Hop Le"); //} //else //{ // Console.WriteLine("Ban {0} tuoi!", yourAge + 1); // switch (yourAge) // { // case 0: // case 15: // Console.WriteLine("Tuoi Vi Thanh Nien"); // break; // case 16: // case 17: // Console.WriteLine("Tuoi Truong Thanh"); // break; // default: // Console.WriteLine("Tuoi Gia Roi"); // break; // } //} #endregion #region Game Keo Bua Bao //int userSelect; //string strUserSelect; //Random rand = new Random(); //int botSelect = rand.Next(3); // 0 - 2 //string strBotSelect; //int check; //Console.WriteLine("Chon Bua (0) Keo (1) Bao (2)"); //userSelect = int.Parse(Console.ReadLine()); //switch (botSelect) //{ // case 0: // strBotSelect = "Bua"; // break; // case 1: // strBotSelect = "Keo"; // break; // case 2: // strBotSelect = "Bao"; // break; // default: // strBotSelect = "Err"; // break; //} //if (userSelect > 2 || userSelect < 0) //{ // Console.WriteLine("Khong Hop Le"); //} //else //{ // switch (userSelect) // { // case 0: // strUserSelect = "Bua"; // break; // case 1: // strUserSelect = "Keo"; // break; // case 2: // strUserSelect = "Bao"; // break; // default: // strUserSelect = "Err"; // break; // } // check = botSelect - userSelect; // Console.WriteLine("Ban Chon {0}\nMay Chon {1}", strUserSelect, strBotSelect); // if (check == -2 || check == 1) // { // Console.WriteLine("Ban Thang!"); // } // else if (check == -1 || check == 2) // { // Console.WriteLine("Ban Thua~~"); // } // else // { // Console.WriteLine("Hoa<>"); // } //} //bua 0 //keo 1 //bao 2 //bot 0 0 0 //user 0 1 2 // hoa thua thang //bot 1 1 1 //user 0 1 2 // thang hoa thua //bot 2 2 2 //user 0 1 2 // thua thang hoa //user thang khi bot - user = -2,1,1 //user thua khi bot - user = -1,-1,2 //hoa khi bot - uesr = 0 #endregion 0 0 Trả lời Báo cáo Xem thêm ...Danh sách bài giảng
Nội dungKhông có video.
Danh sách bài giảngĐánh giá và Nhận xét
Quan tâm Tag theo dõiYêu cầu đăng nhập
Để sử dụng tính năng này, Bạn cần đăng nhập bằng tài khoản Howkteam.
Đăng nhậpAD BLOCKER DETECTED
Để xem được nội dung và giúp Kteam duy trì hoạt động. Bạn vui lòng tắt Adblock trên website howkteam.vn nhé!
Từ khóa » Sử Dụng Switch Case
-
Cấu Trúc Rẽ Nhánh Switch ... Case Trong Ngôn Ngữ C++ - STDIO
-
Cấu Trúc Lệnh Switch Case Trong C++ (có Bài Tập Thực Hành) - Freetuts
-
C Cơ Bản: Câu Lệnh Switch Case - DevIOT
-
Cấu Trúc Rẽ Nhánh Bằng If Else Và Switch Case... - Khuê Nguyễn
-
Bài 22. Lệnh Switch Case Trong C
-
Câu Lệnh Switch Case Trong C++ | Codelearn
-
Cấu Trúc Rẽ Nhánh Switch Case Trong C | Lập Trình Từ Đầu
-
Cấu Trúc SWITCH CASE Trong Java Qua VÍ DỤ
-
Cấu Trúc Rẽ Nhánh Switch ... Case Trong Javascript - Viblo
-
Câu Lệnh Switch Case | Hướng Dẫn Học PHP
-
Câu Lệnh điều Kiện Switch Case Trong Ngôn Ngữ C/C++
-
Mệnh đề Switch-case Trong Java - VietTuts
-
Cách Sử Dụng Lệnh Switch Case Trong PHP - Web Cơ Bản
-
Cấu Trúc Rẽ Nhánh Switch Case Và Minh Họa Với C++ - Góc Học IT