Khóa học lập trình C# căn bản

Serial tutorial hướng dẫn lập trình C# cơ bản

Cấu trúc rẽ nhánh Switch case trong C# Cấu trúc rẽ nhánh Switch case trong C# Cấu trúc rẽ nhánh Switch case trong C# Cấu trúc rẽ nhánh Switch case trong C# Cấu trúc rẽ nhánh Switch case trong C# 5/5 (279 reviews)

Cấu trúc rẽ nhánh Switch case trong C#

Đã đăng 2016-09-13 08:00:31 bởi Trần Thành Vi Thanh
36 bình luận 32557 lượt xem
Cấu trúc rẽ nhánh Switch case trong C# 5 /5 stars (3 reviews)
 

Dẫ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:

 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ài CẤ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ài CẤ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ụ:
 int k = 8;

            switch (k)
            {
                case 3:
                    Console.WriteLine("HowKteam");
                    break; // Vì case này có lệnh thực hiện nên phải có lệnh break 
                case 9: // case này rỗng (không có lệnh thực hiện) nên không cần lệnh break
                case 10:
                    Console.WriteLine("Free Education");
                    break;
            }

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:

Kteam

  • 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à:

Kteam


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. . . :

Kteam

  • 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à:

Kteam

  • 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

 

  • 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ố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à:

Kteam

  • Ở 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 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 hoặc +1 Google để ủ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. 

 

Chia sẻ:
Thảo luận Hỏi và đáp Báo lỗi bài viết
Hủy bỏ   hoặc  
Cấu trúc rẽ nhánh Switch case trong C#
quyenvanboqmak 2018-11-25 16:54:18
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace howKteam_bai10 //cau truc re nhanh switch case trong c#
{
    class Program
    {
        static void Main(string[] args)
        {
            /*
             * switch (<bieu thuc>)
             * {
             * case <gia tri thu 1>: <cau lenh thu 1>; break;
             * case <gia tri thu 2>: <cau lenh thu 2>; break;
             * ...
             * case <gia tri thu n>: <cau lenh thu n>; break;
             * default: <cau lenh mac dinh>; break;
             * }
             */
            int a = 5;
            int b = 2;
            switch (a-b)
            {
                case 1:;break;
                case 2:; break;
                case 3: Console.WriteLine("Case 3"); break;
            }
            Console.ReadKey();
        }
    }
}

 

0 bình chọn
Reply
Cấu trúc rẽ nhánh Switch case trong C#
hphuc4244 2018-10-30 10:55:50

qua hay va bô ich

 

0 bình chọn
Reply
Cấu trúc rẽ nhánh Switch case trong C#
phongsmod1 2018-10-25 13:00:37

Mình code đc cái trò kéo búa bao bằng cái Switch Case như này nhưng dài quá ko biết sao k nhỉ?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp2_keobuabao
{
    class Program
    {
        static void Main(string[] args)
        {
            bool kiemtra;
            int so, so_may;
            string nguoichon, maychon;
            maychon = "";
            nguoichon = "";

            Random ran = new Random();
            so_may = ran.Next(1, 3);

            Console.WriteLine("Hay chon so: ");
            kiemtra = int.TryParse(Console.ReadLine(), out so);

            switch (kiemtra)
            {
                case false:
                    {
                        Console.WriteLine("Ki tu nhap khong chinh xac!");
                        Console.ReadKey();
                        return;
                    }
            }

            switch (so - so_may)
            {
                case 0:
                    {
                        switch(so_may)
                        {
                            case 1:
                                {
                                    maychon = "keo";
                                    break;
                                }
                            case 2:
                                {
                                    maychon = "bua";
                                    break;
                                }
                            case 3:
                                {
                                    maychon = "bao";
                                    break;
                                }
                        }
                        switch (so)
                        {
                            case 1:
                                {
                                    nguoichon = "keo";
                                    break;
                                }
                            case 2:
                                {
                                    nguoichon = "bua";
                                    break;
                                }
                            case 3:
                                {
                                    nguoichon = "bao";
                                    break;
                                }
                        }
                        Console.WriteLine("Ban chon: " + nguoichon);
                        Console.WriteLine("May chon: " + maychon);
                        Console.WriteLine("Hoa!");
                        break;
                    }
                case -1 | 2:
                    {
                        switch (so_may)
                        {
                            case 1:
                                {
                                    maychon = "keo";
                                    break;
                                }
                            case 2:
                                {
                                    maychon = "bua";
                                    break;
                                }
                            case 3:
                                {
                                    maychon = "bao";
                                    break;
                                }
                        }
                        switch (so)
                        {
                            case 1:
                                {
                                    nguoichon = "keo";
                                    break;
                                }
                            case 2:
                                {
                                    nguoichon = "bua";
                                    break;
                                }
                            case 3:
                                {
                                    nguoichon = "bao";
                                    break;
                                }
                        }
                            Console.WriteLine("Ban chon: " + nguoichon);
                            Console.WriteLine("May chon: " + maychon);
                            Console.WriteLine("Ban thua!");
                            break;
                    }
                case 1:
                    {
                        switch (so_may)
                        {
                            case 1:
                                {
                                    maychon = "keo";
                                    break;
                                }
                            case 2:
                                {
                                    maychon = "bua";
                                    break;
                                }
                            case 3:
                                {
                                    maychon = "bao";
                                    break;
                                }
                        }
                        switch (so)
                        {
                            case 1:
                                {
                                    nguoichon = "keo";
                                    break;
                                }
                            case 2:
                                {
                                    nguoichon = "bua";
                                    break;
                                }
                            case 3:
                                {
                                    nguoichon = "bao";
                                    break;
                                }
                        }
                        Console.WriteLine("Ban chon: " + nguoichon);
                        Console.WriteLine("May chon: " + maychon);
                        Console.WriteLine("Ban thang!");
                        break;
                    }
                case -2:
                    {
                        switch (so_may)
                        {
                            case 1:
                                {
                                    maychon = "keo";
                                    break;
                                }
                            case 2:
                                {
                                    maychon = "bua";
                                    break;
                                }
                            case 3:
                                {
                                    maychon = "bao";
                                    break;
                                }
                        }
                        switch (so)
                        {
                            case 1:
                                {
                                    nguoichon = "keo";
                                    break;
                                }
                            case 2:
                                {
                                    nguoichon = "bua";
                                    break;
                                }
                            case 3:
                                {
                                    nguoichon = "bao";
                                    break;
                                }
                        }
                        Console.WriteLine("Ban chon: " + nguoichon);
                        Console.WriteLine("May chon: " + maychon);
                        Console.WriteLine("Ban thang!");
                        break;
                    }
            }
            Console.ReadKey();

            
        }

    }
}

 

0 bình chọn
Reply
Cấu trúc rẽ nhánh Switch case trong C#
habahaibn 2018-09-24 11:30:14

các bạn cho hỏi bài tập 

Cho a,b là 2 số nguyên, kt là 1 ký tự nhập từ bàn phím (+,-,*,/). Nếu nhập kt là phép toán nào thì tự động tính toán cho a,b.

bằng switch

switch

...

...

case '/';

console.writeline("{0}/{1}={2}",a,b,a/b);

break;

nếu viết như này thì nó chỉ lấy phần nguyên = 0 vậy để làm sao lấy được kq đúng vd như a= và b=3

0 bình chọn
Reply
View all 2 comments
Kteam - Howkteam Free Education
palladium88 2018-09-24 16:44:03
Có 2 cách: (float)a/b hoặc 1.0*a/b
0 bình chọn
Reply
Kteam - Howkteam Free Education
K9 2018-10-05 08:19:44
đúng ùi đó
0 bình chọn
Reply
Cấu trúc rẽ nhánh Switch case trong C#
palladium88 2018-09-20 19:34:50
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp4
{
    class KeoBaoBua
    {
        static void Main(string[] args)
        {
            int x;
            bool kt;
            string X;

            Console.WriteLine("..........................");
            Console.WriteLine(".                        .");
            Console.WriteLine(".    Game OneTwoThree    .");
            Console.WriteLine(".                        .");
            Console.WriteLine("..........................");
            Console.WriteLine("Luat choi: Keo thang Bao. Bao thang Bua. Bua thang Keo.");

            Random z = new Random();
            int y = z.Next(1, 4); //Loai tru can tren

            Console.Write("Moi ban chon 1.Keo...2.Bao...3.Bua... : ");
            X = Console.ReadLine();
            kt = int.TryParse(X, out x);

            switch (y)
            {
                case 1:
                    Console.WriteLine("{0} May chon Keo",+y);
                    break;
                case 2:
                    Console.WriteLine("{0} May chon Bao",+y);
                    break;
                case 3:
                    Console.WriteLine("{0} May chon Bua",+y);
                    break;
            }
            if (kt == true)
            {
                switch (x)
                {
                    case 1:
                        Console.WriteLine("Ban chon Keo");
                        break;
                    case 2:
                        Console.WriteLine("Ban chon Bao");
                        break;
                    case 3:
                        Console.WriteLine("Ban chon Bua");
                        break;
                    default:
                        Console.WriteLine("Khong hop le");
                        break;
                }
            }
            else
            {
                Console.WriteLine("Khong hop le");
                Console.ReadKey();
                return;
            }

            switch (x - y)
            {
                case -1:
                    Console.WriteLine("Ban thang");
                    break;
                case 0:
                    Console.WriteLine("Ban hoa");
                    break;
                case 1:
                    Console.WriteLine("Ban thua");
                    break;
                case 2:
                    Console.WriteLine("Ban thang");
                    break;
                case -2:
                    Console.WriteLine("Ban thua");
                    break;
            }

            Console.ReadKey();

            }
        }
    }

 

1 bình chọn
Reply
View all 1 comments
Kteam - Howkteam Free Education
habahaibn 2018-10-03 11:07:15
X = Console.ReadLine(); kt = int.TryParse(X, out x); tại sao phải nhập X lớn vào hả bạn. ko cần nhập vào có được không. chỉ cần nhập x,y là máy với người chọn thôi
0 bình chọn
Reply
Cấu trúc rẽ nhánh Switch case trong C#
pvanquyen1610 2018-08-03 16:20:56
int NhapSo, May, KetQua;
            string strNhapSo;

            Console.WriteLine("***********************************");
            Console.WriteLine("*****Tro Choi Keo - Bua - Bao******");
            Console.WriteLine("*************Cach choi*************");
            Console.WriteLine("*Nhap so: (1)Keo | (2)Bua | (3)Bao*");
            Console.WriteLine("***********************************\n");

            Console.Write("Moi ban nhap so: ");
            strNhapSo = Console.ReadLine();

            Random rd = new Random();
            May = rd.Next(1, 3);

            if (int.TryParse(strNhapSo, out NhapSo))
            {
                if (NhapSo == 1 || NhapSo == 2 || NhapSo == 3)
                {
                    switch (NhapSo)
                    {
                        case 1:
                            Console.WriteLine("Ban da chon Keo");
                            break;
                        case 2:
                            Console.WriteLine("Ban da chon Bua");
                            break;
                        case 3:
                            Console.WriteLine("Ban da chon Bao");
                            break;
                    }
                    switch (May)
                    {
                        case 1:
                            Console.WriteLine("May chon Keo");
                            break;
                        case 2:
                            Console.WriteLine("May chon Bua");
                            break;
                        case 3:
                            Console.WriteLine("May chon Bao");
                            break;
                    }
                    KetQua = NhapSo - May;
                    switch (KetQua)
                    {
                        case 0:
                            Console.WriteLine("Van nay hoa nhe");
                            break;
                        case -1:
                            Console.WriteLine("Ban Da Thua ");
                            break;
                        case -2:
                            Console.WriteLine("Ban da Thang");
                            break;
                        case 1:
                            Console.WriteLine("Ban da thang");
                            break;
                        case 2:
                            Console.WriteLine("Ban da thua");
                            break;
                    }
                }
                else
                {
                    Console.WriteLine("Ban chi co the nhap so 1*2*3");
                }
            }
            else
            {
                Console.WriteLine("Ban khong the nhap ky tu");
            }

 

1 bình chọn
Reply
Cấu trúc rẽ nhánh Switch case trong C#
pvanquyen1610 2018-08-02 00:07:46
namespace Cau_Truc_Lenh_Co_Ban
{
    class Program
    {
        static void Main(string[] args)
        {
            int SoTuoi, NamSinh, NamNay = 2018, ViThanhNien = 1, TruongThanh = 2, DaGia = 3, KetQua;
            string strNamSinh;

            Console.Write("Moi ban nhap nam sinh: ");
            strNamSinh = Console.ReadLine();

            if (int.TryParse(strNamSinh, out NamSinh))
            {
                SoTuoi = NamNay - NamSinh;
                if (SoTuoi < 16)
                {
                    KetQua = ViThanhNien;
                }
                else if (SoTuoi >= 16 == SoTuoi < 20)
                {
                    KetQua = TruongThanh;
                }
                else
                {
                    KetQua = DaGia;
                }
                switch (KetQua)
                {
                    case 1:
                        Console.WriteLine("Ban sinh nam {0}\nBan {1} tuoi\nTuoi vi thanh nien", NamSinh, SoTuoi);
                        break;
                    case 2:
                        Console.WriteLine("Ban sinh nam {0}\nBan {1} tuoi\nBan da truong thanh", NamSinh, SoTuoi);
                        break;
                    case 3:
                        Console.WriteLine("Ban sinh nam {0}\nBan {1} tuoi\nBan da gia", NamSinh, SoTuoi);
                        break;
                }

            }
            else
            {
                Console.WriteLine("Ban vui long nhap so");
            }
            Console.ReadKey();

        }
    }
}

 

0 bình chọn
Reply
Cấu trúc rẽ nhánh Switch case trong C#
nhatlong.nguyen 2018-01-10 17:02:06

using System;

namespace BaiTap2
{
    class Program
    {
        static void Main(string[] args)
        {
            string strKetQua, strKetQuaMay;
            int KetQua, KetQuaMay;
            Console.Write("Nguoi dung ra: ");
            strKetQua = Console.ReadLine();

            KetQua = (strKetQua == "keo" || strKetQua == "Keo") ? 1 :
                (strKetQua == "bua" || strKetQua == "Bua" ? 2 :
                (strKetQua == "bao" || strKetQua == "Bao") ? 3 : 0);

            Random rd = new Random();
            KetQuaMay = rd.Next(1, 4);
            strKetQuaMay = (KetQuaMay == 1) ? "Keo" : (KetQuaMay == 2 ? "Bua" : "Bao");
            Console.WriteLine("May ra: " + strKetQuaMay);

            switch (KetQua)
            {
                case 0:
                    {
                        Console.WriteLine("Nguoi dung ra {0} la sai.", strKetQua);
                        break;
                    }
                case 1:
                    {
                        switch (KetQuaMay)
                        {
                            case 1:
                                {
                                    Console.WriteLine("Hoa nhau !");
                                    break;
                                }
                            case 2:
                                {
                                    Console.WriteLine("Nguoi dung thua, May thang !");
                                    break;
                                }
                            case 3:
                                {
                                    Console.WriteLine("Nguoi dung thang, May thua !");
                                    break;
                                }
                        }

                        break;
                    }
                case 2:
                    {
                        switch (KetQuaMay)
                        {
                            case 1:
                                {
                                    Console.WriteLine("Nguoi dung thang, May thua !");
                                    break;
                                }
                            case 2:
                                {
                                    Console.WriteLine("Hoa nhau !");
                                    break;
                                }
                            case 3:
                                {
                                    Console.WriteLine("Nguoi dung thua, May thang !");
                                    break;
                                }
                        }

                        break;
                    }
                case 3:
                    {
                        switch (KetQuaMay)
                        {
                            case 1:
                                {
                                    Console.WriteLine("Nguoi dung thua, May thang !");
                                    break;
                                }
                            case 2:
                                {
                                    Console.WriteLine("Nguoi dung thang, May thua !");
                                    break;
                                }
                            case 3:
                                {
                                    Console.WriteLine("Hoa nhau !");
                                    break;
                                }
                        }

                        break;
                    }
            }
        }
    }
}
 

0 bình chọn
Reply
Cấu trúc rẽ nhánh Switch case trong C#
Nguyễn Đăng Hùng 2017-10-23 23:00:19

  Console.WriteLine("Tro choi Keo Bua Bao");
            Console.WriteLine("Nhap vao 1 de chon Keo, 2 de chon Bua, 3 de chon Bao");
            int Nguoi = int.Parse(Console.ReadLine());
            int May;
            Random rd = new Random();
            May = rd.Next(1, 3);
            switch (May)
            {
                case 1:
                    if (Nguoi == 1)
                    {
                        Console.WriteLine("Hoa");
                    }
                    else if (Nguoi == 2)
                    {
                        Console.WriteLine("Nguoi Thang");
                    }
                    else
                        Console.WriteLine("May Thang");
                      break;
                case 2:
                      if (Nguoi == 2)
                      {
                          Console.WriteLine("Hoa");
                      }
                      else if (Nguoi == 3)
                      {
                          Console.WriteLine("Nguoi Thang");
                      }
                      else
       
                          Console.WriteLine("May Thang");
                      break;
                case 3:
                      if (Nguoi == 3)
                      {
                          Console.WriteLine("Hoa");
                      }
                      else if (Nguoi == 1)
                      {
                          Console.WriteLine("Nguoi Thang");
                      }
                      else
                          Console.WriteLine("May Thang");
                      break;
               
            }

            Console.ReadKey();
    

0 bình chọn
Reply
Cấu trúc rẽ nhánh Switch case trong C#
Nguyen Minh 2017-09-06 16:01:29

Mình chỉ thắc mắc là làm sao để tìm ra cái thuật toán lấy số dư của năm chia cho 10 vs 12 nhỉ?

0 bình chọn
Reply
View all 1 comments
Kteam - Howkteam Free Education
K9 2017-09-07 23:18:11
NGƯỜI TA TÌM RA MÌNH SÀI LẠI
0 bình chọn
Reply
Cấu trúc rẽ nhánh Switch case trong C#
MasterMind 2017-07-09 01:42:40
int X;
Console.OutputEncoding = System.Text.Encoding.UTF8;

Console.WriteLine("************************************");
Console.WriteLine("************** 1 : KÉO *************");
Console.WriteLine("************** 2 : BÚA *************");
Console.WriteLine("************** 3 : BAO *************");
Console.WriteLine("************************************");
Console.WriteLine("Nhập vào các số 1, 2, 3 tương ứng: ");
            X = Int32.Parse(Console.ReadLine());
            switch(X)
            {
                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;
                default:
                    Console.WriteLine("Bạn đã nhập sai, chỉ được nhập các số 1, 2, 3");
                    break;

            }
            if (X == 1 || X == 2 || X == 3)
            {
                Random rd = new Random();
                int a = rd.Next(1, 4);
                switch (a)
                {
                    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;
                }
                int Q = X - a;
                switch (Q)
                {
                    case 0:
                        Console.WriteLine("Hòa nhé !!!");
                        break;
                    case -1:
                        Console.WriteLine("Bạn Thua !!!");
                        break;
                    case 2:
                        Console.WriteLine("Bạn Thua !!!");
                        break;
                    case 1:
                        Console.WriteLine("Bạn Thắng !!!");
                        break;
                    case -2:
                        Console.WriteLine("Bạn Thắng !!!");
                        break;
                }
            }

 

1 bình chọn
Reply
View all 2 comments
Kteam - Howkteam Free Education
Nguyenhoa01 2017-10-22 00:26:18
Mình thấy đâu cần if nhỉ, mặc định nhập sai nó sẽ báo ở Default rồi mà
0 bình chọn
Reply
Kteam - Howkteam Free Education
nguyenkhoa 2018-05-08 20:52:02
sao mà ghê vậy @@
0 bình chọn
Reply
Cấu trúc rẽ nhánh Switch case trong C#
caovy2001 2017-06-23 18:13:58

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Bai10
{
    class Program
    {
        static void Main(string[] args)
        {
            string namNhap, hienThi, sCan ="", sChi="";
            bool kiemtra;
            int namKetqua;

            Console.Write("Nhap nam ban muon xem: "); namNhap = Console.ReadLine();
            kiemtra = int.TryParse(namNhap, out namKetqua) ;
            if (kiemtra)
            {
                switch (namKetqua % 10)
                {
                    case 0:
                        sCan = "Canh";
                        break;
                    case 1:
                        sCan = "Tan";
                        break;
                    case 2:
                        sCan = "Nham";
                        break;
                    case 3:
                        sCan = "Quy";
                        break;
                    case 4:
                        sCan = "Giap";
                        break;
                    case 5:
                        sCan = "At";
                        break;
                    case 6:
                        sCan = "Binh";
                        break;
                    case 7:
                        sCan = "Dinh";
                        break;
                    case 8:
                        sCan = "Mau";
                        break;
                    case 9:
                        sCan = "Ky";
                        break;
                }

                switch (namKetqua % 12)
                {
                    case 0:
                        sChi = "Than";
                        break;
                    case 1:
                        sChi = "Dau";
                        break;
                    case 2:
                        sChi = "Tuat";
                        break;
                    case 3:
                        sChi = "Hoi";
                        break;
                    case 4:
                        sChi = "Ty";
                        break;
                    case 5:
                        sChi = "Suu";
                        break;
                    case 6:
                        sChi = "Dan";
                        break;
                    case 7:
                        sChi = "Meo";
                        break;
                    case 8:
                        sChi = "Thin";
                        break;
                    case 9:
                        sChi = "Ty";
                        break;
                    case 10:
                        sChi = "Ngo";
                        break;
                    case 11:
                        sChi = "Mui";
                        break;
                }
                hienThi = (sCan + " " + sChi) ;
            }
            else
                hienThi = "Du lieu nhap chua dung.";

            Console.Write(hienThi);

            Console.ReadKey();

        }
    }
}

1 bình chọn
Reply
Cấu trúc rẽ nhánh Switch case trong C#
An EightyTrain5751 2017-06-07 22:40:40

Tham khảo nhé mọi người

using System;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            string input = Console.ReadLine();
            int year = 0;
            int type_1 = 0;
            int type_2 = 0;
            int temp = 0;
            string Can = null, Chi = null;
            if (int.TryParse(input, out temp) == true) {
                year = int.Parse(input);
                type_1 = year % 10;
                switch (type_1) {
                    case 0:
                        Can = "Canh";
                        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 = "Đinh";
                        break;
                    case 8:
                        Can = "Mau";
                        break;
                    case 9:
                        Can = "Ky";
                        break;
                }
                type_2 = year % 12;
                switch (type_2) {
                    case 0:
                        Chi = "Than";
                        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 = "Ty";
                        break;
                    case 10:
                        Chi = "Ngo";
                        break;
                    case 11:
                        Chi = "Mui";
                        break;

                }
                Console.WriteLine("The lunar year of {0} is {1} {2}" , year, Can, Chi);
            }
            Console.ReadKey();
        }
    }
}

0 bình chọn
Reply
Cấu trúc rẽ nhánh Switch case trong C#
hungloverain 2017-06-01 09:54:33

tưởng bị lag ai dè ra nhiều quá sr mọi người

0 bình chọn
Reply
Cấu trúc rẽ nhánh Switch case trong C#
hungloverain 2017-06-01 09:52:47

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace buakeobao
{
    class Program
    {
        static void Main(string[] args)
        {
            do
            {
                Console.WriteLine("Nhap so\n 1.Keo \n 2.Bua \n 3.Bao");
                int n;
                if (int.TryParse(Console.ReadLine(), out n) == false || n < 1 || n > 3)
                {
                    Console.WriteLine("Nhap sai");
                    return;
                }
                else
                {
                    Random ra = new Random();
                    int so = ra.Next(1, 4);
                    int t = n - so;
                    if (t > 0) t = 1;
                    else
                        if (t < 0) t = -1;
                    else t = 0;
                    switch (t)
                    {
                        case 0: Console.WriteLine("Hoa:{0}:{1}", n, so); break;
                        case 1:
                            {
                                if ((n - so) == 1) Console.WriteLine("Nguoi thang:{0}:{1}", n, so);
                                else Console.WriteLine("May thang:{0}:{1}", n, so);
                            }
                            break;
                        case -1:
                            {
                                if ((so - n) == 1) Console.WriteLine("May thang:{0}:{1}", n, so);
                                else Console.WriteLine("Nguoi thang:{0}:{1}", n, so);
                            }
                            break;
                    }
                }
            } while (true);
            }


        }
    }
 Cho mình hỏi mình dùng hàm Random từ 1->3 mà demo không xuất hiện 3  cho chạy lại random 1 -> 4 thì chỉ xuất hiện từ 1->3 ai có thể giải thích giúp mình được không?cảm ơn

0 bình chọn
Reply
Cấu trúc rẽ nhánh Switch case trong C#
hungloverain 2017-06-01 09:52:47

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace buakeobao
{
    class Program
    {
        static void Main(string[] args)
        {
            do
            {
                Console.WriteLine("Nhap so\n 1.Keo \n 2.Bua \n 3.Bao");
                int n;
                if (int.TryParse(Console.ReadLine(), out n) == false || n < 1 || n > 3)
                {
                    Console.WriteLine("Nhap sai");
                    return;
                }
                else
                {
                    Random ra = new Random();
                    int so = ra.Next(1, 4);
                    int t = n - so;
                    if (t > 0) t = 1;
                    else
                        if (t < 0) t = -1;
                    else t = 0;
                    switch (t)
                    {
                        case 0: Console.WriteLine("Hoa:{0}:{1}", n, so); break;
                        case 1:
                            {
                                if ((n - so) == 1) Console.WriteLine("Nguoi thang:{0}:{1}", n, so);
                                else Console.WriteLine("May thang:{0}:{1}", n, so);
                            }
                            break;
                        case -1:
                            {
                                if ((so - n) == 1) Console.WriteLine("May thang:{0}:{1}", n, so);
                                else Console.WriteLine("Nguoi thang:{0}:{1}", n, so);
                            }
                            break;
                    }
                }
            } while (true);
            }


        }
    }
 Cho mình hỏi mình dùng hàm Random từ 1->3 mà demo không xuất hiện 3  cho chạy lại random 1 -> 4 thì chỉ xuất hiện từ 1->3 ai có thể giải thích giúp mình được không?cảm ơn

1 bình chọn
Reply
Cấu trúc rẽ nhánh Switch case trong C#
hungloverain 2017-06-01 09:52:47

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace buakeobao
{
    class Program
    {
        static void Main(string[] args)
        {
            do
            {
                Console.WriteLine("Nhap so\n 1.Keo \n 2.Bua \n 3.Bao");
                int n;
                if (int.TryParse(Console.ReadLine(), out n) == false || n < 1 || n > 3)
                {
                    Console.WriteLine("Nhap sai");
                    return;
                }
                else
                {
                    Random ra = new Random();
                    int so = ra.Next(1, 4);
                    int t = n - so;
                    if (t > 0) t = 1;
                    else
                        if (t < 0) t = -1;
                    else t = 0;
                    switch (t)
                    {
                        case 0: Console.WriteLine("Hoa:{0}:{1}", n, so); break;
                        case 1:
                            {
                                if ((n - so) == 1) Console.WriteLine("Nguoi thang:{0}:{1}", n, so);
                                else Console.WriteLine("May thang:{0}:{1}", n, so);
                            }
                            break;
                        case -1:
                            {
                                if ((so - n) == 1) Console.WriteLine("May thang:{0}:{1}", n, so);
                                else Console.WriteLine("Nguoi thang:{0}:{1}", n, so);
                            }
                            break;
                    }
                }
            } while (true);
            }


        }
    }
 Cho mình hỏi mình dùng hàm Random từ 1->3 mà demo không xuất hiện 3  cho chạy lại random 1 -> 4 thì chỉ xuất hiện từ 1->3 ai có thể giải thích giúp mình được không?cảm ơn

0 bình chọn
Reply
Cấu trúc rẽ nhánh Switch case trong C#
hungloverain 2017-06-01 09:52:47

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace buakeobao
{
    class Program
    {
        static void Main(string[] args)
        {
            do
            {
                Console.WriteLine("Nhap so\n 1.Keo \n 2.Bua \n 3.Bao");
                int n;
                if (int.TryParse(Console.ReadLine(), out n) == false || n < 1 || n > 3)
                {
                    Console.WriteLine("Nhap sai");
                    return;
                }
                else
                {
                    Random ra = new Random();
                    int so = ra.Next(1, 4);
                    int t = n - so;
                    if (t > 0) t = 1;
                    else
                        if (t < 0) t = -1;
                    else t = 0;
                    switch (t)
                    {
                        case 0: Console.WriteLine("Hoa:{0}:{1}", n, so); break;
                        case 1:
                            {
                                if ((n - so) == 1) Console.WriteLine("Nguoi thang:{0}:{1}", n, so);
                                else Console.WriteLine("May thang:{0}:{1}", n, so);
                            }
                            break;
                        case -1:
                            {
                                if ((so - n) == 1) Console.WriteLine("May thang:{0}:{1}", n, so);
                                else Console.WriteLine("Nguoi thang:{0}:{1}", n, so);
                            }
                            break;
                    }
                }
            } while (true);
            }


        }
    }
 Cho mình hỏi mình dùng hàm Random từ 1->3 mà demo không xuất hiện 3  cho chạy lại random 1 -> 4 thì chỉ xuất hiện từ 1->3 ai có thể giải thích giúp mình được không?cảm ơn

0 bình chọn
Reply
Cấu trúc rẽ nhánh Switch case trong C#
hungloverain 2017-06-01 09:52:47

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace buakeobao
{
    class Program
    {
        static void Main(string[] args)
        {
            do
            {
                Console.WriteLine("Nhap so\n 1.Keo \n 2.Bua \n 3.Bao");
                int n;
                if (int.TryParse(Console.ReadLine(), out n) == false || n < 1 || n > 3)
                {
                    Console.WriteLine("Nhap sai");
                    return;
                }
                else
                {
                    Random ra = new Random();
                    int so = ra.Next(1, 4);
                    int t = n - so;
                    if (t > 0) t = 1;
                    else
                        if (t < 0) t = -1;
                    else t = 0;
                    switch (t)
                    {
                        case 0: Console.WriteLine("Hoa:{0}:{1}", n, so); break;
                        case 1:
                            {
                                if ((n - so) == 1) Console.WriteLine("Nguoi thang:{0}:{1}", n, so);
                                else Console.WriteLine("May thang:{0}:{1}", n, so);
                            }
                            break;
                        case -1:
                            {
                                if ((so - n) == 1) Console.WriteLine("May thang:{0}:{1}", n, so);
                                else Console.WriteLine("Nguoi thang:{0}:{1}", n, so);
                            }
                            break;
                    }
                }
            } while (true);
            }


        }
    }
 Cho mình hỏi mình dùng hàm Random từ 1->3 mà demo không xuất hiện 3  cho chạy lại random 1 -> 4 thì chỉ xuất hiện từ 1->3 ai có thể giải thích giúp mình được không?cảm ơn

0 bình chọn
Reply
Cấu trúc rẽ nhánh Switch case trong C#
hungloverain 2017-06-01 09:52:46

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace buakeobao
{
    class Program
    {
        static void Main(string[] args)
        {
            do
            {
                Console.WriteLine("Nhap so\n 1.Keo \n 2.Bua \n 3.Bao");
                int n;
                if (int.TryParse(Console.ReadLine(), out n) == false || n < 1 || n > 3)
                {
                    Console.WriteLine("Nhap sai");
                    return;
                }
                else
                {
                    Random ra = new Random();
                    int so = ra.Next(1, 4);
                    int t = n - so;
                    if (t > 0) t = 1;
                    else
                        if (t < 0) t = -1;
                    else t = 0;
                    switch (t)
                    {
                        case 0: Console.WriteLine("Hoa:{0}:{1}", n, so); break;
                        case 1:
                            {
                                if ((n - so) == 1) Console.WriteLine("Nguoi thang:{0}:{1}", n, so);
                                else Console.WriteLine("May thang:{0}:{1}", n, so);
                            }
                            break;
                        case -1:
                            {
                                if ((so - n) == 1) Console.WriteLine("May thang:{0}:{1}", n, so);
                                else Console.WriteLine("Nguoi thang:{0}:{1}", n, so);
                            }
                            break;
                    }
                }
            } while (true);
            }


        }
    }
 Cho mình hỏi mình dùng hàm Random từ 1->3 mà demo không xuất hiện 3  cho chạy lại random 1 -> 4 thì chỉ xuất hiện từ 1->3 ai có thể giải thích giúp mình được không?cảm ơn

0 bình chọn
Reply
Cấu trúc rẽ nhánh Switch case trong C#
hungloverain 2017-06-01 09:52:46

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace buakeobao
{
    class Program
    {
        static void Main(string[] args)
        {
            do
            {
                Console.WriteLine("Nhap so\n 1.Keo \n 2.Bua \n 3.Bao");
                int n;
                if (int.TryParse(Console.ReadLine(), out n) == false || n < 1 || n > 3)
                {
                    Console.WriteLine("Nhap sai");
                    return;
                }
                else
                {
                    Random ra = new Random();
                    int so = ra.Next(1, 4);
                    int t = n - so;
                    if (t > 0) t = 1;
                    else
                        if (t < 0) t = -1;
                    else t = 0;
                    switch (t)
                    {
                        case 0: Console.WriteLine("Hoa:{0}:{1}", n, so); break;
                        case 1:
                            {
                                if ((n - so) == 1) Console.WriteLine("Nguoi thang:{0}:{1}", n, so);
                                else Console.WriteLine("May thang:{0}:{1}", n, so);
                            }
                            break;
                        case -1:
                            {
                                if ((so - n) == 1) Console.WriteLine("May thang:{0}:{1}", n, so);
                                else Console.WriteLine("Nguoi thang:{0}:{1}", n, so);
                            }
                            break;
                    }
                }
            } while (true);
            }


        }
    }
 Cho mình hỏi mình dùng hàm Random từ 1->3 mà demo không xuất hiện 3  cho chạy lại random 1 -> 4 thì chỉ xuất hiện từ 1->3 ai có thể giải thích giúp mình được không?cảm ơn

0 bình chọn
Reply
Cấu trúc rẽ nhánh Switch case trong C#
hungloverain 2017-06-01 09:52:46

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace buakeobao
{
    class Program
    {
        static void Main(string[] args)
        {
            do
            {
                Console.WriteLine("Nhap so\n 1.Keo \n 2.Bua \n 3.Bao");
                int n;
                if (int.TryParse(Console.ReadLine(), out n) == false || n < 1 || n > 3)
                {
                    Console.WriteLine("Nhap sai");
                    return;
                }
                else
                {
                    Random ra = new Random();
                    int so = ra.Next(1, 4);
                    int t = n - so;
                    if (t > 0) t = 1;
                    else
                        if (t < 0) t = -1;
                    else t = 0;
                    switch (t)
                    {
                        case 0: Console.WriteLine("Hoa:{0}:{1}", n, so); break;
                        case 1:
                            {
                                if ((n - so) == 1) Console.WriteLine("Nguoi thang:{0}:{1}", n, so);
                                else Console.WriteLine("May thang:{0}:{1}", n, so);
                            }
                            break;
                        case -1:
                            {
                                if ((so - n) == 1) Console.WriteLine("May thang:{0}:{1}", n, so);
                                else Console.WriteLine("Nguoi thang:{0}:{1}", n, so);
                            }
                            break;
                    }
                }
            } while (true);
            }


        }
    }
 Cho mình hỏi mình dùng hàm Random từ 1->3 mà demo không xuất hiện 3  cho chạy lại random 1 -> 4 thì chỉ xuất hiện từ 1->3 ai có thể giải thích giúp mình được không?cảm ơn

0 bình chọn
Reply
Cấu trúc rẽ nhánh Switch case trong C#
hungloverain 2017-06-01 09:52:44

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace buakeobao
{
    class Program
    {
        static void Main(string[] args)
        {
            do
            {
                Console.WriteLine("Nhap so\n 1.Keo \n 2.Bua \n 3.Bao");
                int n;
                if (int.TryParse(Console.ReadLine(), out n) == false || n < 1 || n > 3)
                {
                    Console.WriteLine("Nhap sai");
                    return;
                }
                else
                {
                    Random ra = new Random();
                    int so = ra.Next(1, 4);
                    int t = n - so;
                    if (t > 0) t = 1;
                    else
                        if (t < 0) t = -1;
                    else t = 0;
                    switch (t)
                    {
                        case 0: Console.WriteLine("Hoa:{0}:{1}", n, so); break;
                        case 1:
                            {
                                if ((n - so) == 1) Console.WriteLine("Nguoi thang:{0}:{1}", n, so);
                                else Console.WriteLine("May thang:{0}:{1}", n, so);
                            }
                            break;
                        case -1:
                            {
                                if ((so - n) == 1) Console.WriteLine("May thang:{0}:{1}", n, so);
                                else Console.WriteLine("Nguoi thang:{0}:{1}", n, so);
                            }
                            break;
                    }
                }
            } while (true);
            }


        }
    }
 Cho mình hỏi mình dùng hàm Random từ 1->3 mà demo không xuất hiện 3  cho chạy lại random 1 -> 4 thì chỉ xuất hiện từ 1->3 ai có thể giải thích giúp mình được không?cảm ơn

0 bình chọn
Reply
Cấu trúc rẽ nhánh Switch case trong C#
hungloverain 2017-06-01 09:52:22

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace buakeobao
{
    class Program
    {
        static void Main(string[] args)
        {
            do
            {
                Console.WriteLine("Nhap so\n 1.Keo \n 2.Bua \n 3.Bao");
                int n;
                if (int.TryParse(Console.ReadLine(), out n) == false || n < 1 || n > 3)
                {
                    Console.WriteLine("Nhap sai");
                    return;
                }
                else
                {
                    Random ra = new Random();
                    int so = ra.Next(1, 4);
                    int t = n - so;
                    if (t > 0) t = 1;
                    else
                        if (t < 0) t = -1;
                    else t = 0;
                    switch (t)
                    {
                        case 0: Console.WriteLine("Hoa:{0}:{1}", n, so); break;
                        case 1:
                            {
                                if ((n - so) == 1) Console.WriteLine("Nguoi thang:{0}:{1}", n, so);
                                else Console.WriteLine("May thang:{0}:{1}", n, so);
                            }
                            break;
                        case -1:
                            {
                                if ((so - n) == 1) Console.WriteLine("May thang:{0}:{1}", n, so);
                                else Console.WriteLine("Nguoi thang:{0}:{1}", n, so);
                            }
                            break;
                    }
                }
            } while (true);
            }


        }
    }
 Cho mình hỏi mình dùng hàm Random từ 1->3 mà demo không xuất hiện 3  cho chạy lại random 1 -> 4 thì chỉ xuất hiện từ 1->3 ai có thể giải thích giúp mình được không?cảm ơn

0 bình chọn
Reply
Cấu trúc rẽ nhánh Switch case trong C#
hungloverain 2017-06-01 09:52:22

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace buakeobao
{
    class Program
    {
        static void Main(string[] args)
        {
            do
            {
                Console.WriteLine("Nhap so\n 1.Keo \n 2.Bua \n 3.Bao");
                int n;
                if (int.TryParse(Console.ReadLine(), out n) == false || n < 1 || n > 3)
                {
                    Console.WriteLine("Nhap sai");
                    return;
                }
                else
                {
                    Random ra = new Random();
                    int so = ra.Next(1, 4);
                    int t = n - so;
                    if (t > 0) t = 1;
                    else
                        if (t < 0) t = -1;
                    else t = 0;
                    switch (t)
                    {
                        case 0: Console.WriteLine("Hoa:{0}:{1}", n, so); break;
                        case 1:
                            {
                                if ((n - so) == 1) Console.WriteLine("Nguoi thang:{0}:{1}", n, so);
                                else Console.WriteLine("May thang:{0}:{1}", n, so);
                            }
                            break;
                        case -1:
                            {
                                if ((so - n) == 1) Console.WriteLine("May thang:{0}:{1}", n, so);
                                else Console.WriteLine("Nguoi thang:{0}:{1}", n, so);
                            }
                            break;
                    }
                }
            } while (true);
            }


        }
    }
 Cho mình hỏi mình dùng hàm Random từ 1->3 mà demo không xuất hiện 3  cho chạy lại random 1 -> 4 thì chỉ xuất hiện từ 1->3 ai có thể giải thích giúp mình được không?cảm ơn

0 bình chọn
Reply
Cấu trúc rẽ nhánh Switch case trong C#
hungloverain 2017-06-01 09:52:22

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace buakeobao
{
    class Program
    {
        static void Main(string[] args)
        {
            do
            {
                Console.WriteLine("Nhap so\n 1.Keo \n 2.Bua \n 3.Bao");
                int n;
                if (int.TryParse(Console.ReadLine(), out n) == false || n < 1 || n > 3)
                {
                    Console.WriteLine("Nhap sai");
                    return;
                }
                else
                {
                    Random ra = new Random();
                    int so = ra.Next(1, 4);
                    int t = n - so;
                    if (t > 0) t = 1;
                    else
                        if (t < 0) t = -1;
                    else t = 0;
                    switch (t)
                    {
                        case 0: Console.WriteLine("Hoa:{0}:{1}", n, so); break;
                        case 1:
                            {
                                if ((n - so) == 1) Console.WriteLine("Nguoi thang:{0}:{1}", n, so);
                                else Console.WriteLine("May thang:{0}:{1}", n, so);
                            }
                            break;
                        case -1:
                            {
                                if ((so - n) == 1) Console.WriteLine("May thang:{0}:{1}", n, so);
                                else Console.WriteLine("Nguoi thang:{0}:{1}", n, so);
                            }
                            break;
                    }
                }
            } while (true);
            }


        }
    }
 Cho mình hỏi mình dùng hàm Random từ 1->3 mà demo không xuất hiện 3  cho chạy lại random 1 -> 4 thì chỉ xuất hiện từ 1->3 ai có thể giải thích giúp mình được không?cảm ơn

0 bình chọn
Reply
Cấu trúc rẽ nhánh Switch case trong C#
hungloverain 2017-06-01 09:52:21

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace buakeobao
{
    class Program
    {
        static void Main(string[] args)
        {
            do
            {
                Console.WriteLine("Nhap so\n 1.Keo \n 2.Bua \n 3.Bao");
                int n;
                if (int.TryParse(Console.ReadLine(), out n) == false || n < 1 || n > 3)
                {
                    Console.WriteLine("Nhap sai");
                    return;
                }
                else
                {
                    Random ra = new Random();
                    int so = ra.Next(1, 4);
                    int t = n - so;
                    if (t > 0) t = 1;
                    else
                        if (t < 0) t = -1;
                    else t = 0;
                    switch (t)
                    {
                        case 0: Console.WriteLine("Hoa:{0}:{1}", n, so); break;
                        case 1:
                            {
                                if ((n - so) == 1) Console.WriteLine("Nguoi thang:{0}:{1}", n, so);
                                else Console.WriteLine("May thang:{0}:{1}", n, so);
                            }
                            break;
                        case -1:
                            {
                                if ((so - n) == 1) Console.WriteLine("May thang:{0}:{1}", n, so);
                                else Console.WriteLine("Nguoi thang:{0}:{1}", n, so);
                            }
                            break;
                    }
                }
            } while (true);
            }


        }
    }
 Cho mình hỏi mình dùng hàm Random từ 1->3 mà demo không xuất hiện 3  cho chạy lại random 1 -> 4 thì chỉ xuất hiện từ 1->3 ai có thể giải thích giúp mình được không?cảm ơn

0 bình chọn
Reply
Cấu trúc rẽ nhánh Switch case trong C#
hungloverain 2017-06-01 09:52:18

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace buakeobao
{
    class Program
    {
        static void Main(string[] args)
        {
            do
            {
                Console.WriteLine("Nhap so\n 1.Keo \n 2.Bua \n 3.Bao");
                int n;
                if (int.TryParse(Console.ReadLine(), out n) == false || n < 1 || n > 3)
                {
                    Console.WriteLine("Nhap sai");
                    return;
                }
                else
                {
                    Random ra = new Random();
                    int so = ra.Next(1, 4);
                    int t = n - so;
                    if (t > 0) t = 1;
                    else
                        if (t < 0) t = -1;
                    else t = 0;
                    switch (t)
                    {
                        case 0: Console.WriteLine("Hoa:{0}:{1}", n, so); break;
                        case 1:
                            {
                                if ((n - so) == 1) Console.WriteLine("Nguoi thang:{0}:{1}", n, so);
                                else Console.WriteLine("May thang:{0}:{1}", n, so);
                            }
                            break;
                        case -1:
                            {
                                if ((so - n) == 1) Console.WriteLine("May thang:{0}:{1}", n, so);
                                else Console.WriteLine("Nguoi thang:{0}:{1}", n, so);
                            }
                            break;
                    }
                }
            } while (true);
            }


        }
    }
 Cho mình hỏi mình dùng hàm Random từ 1->3 mà demo không xuất hiện 3  cho chạy lại random 1 -> 4 thì chỉ xuất hiện từ 1->3 ai có thể giải thích giúp mình được không?cảm ơn

0 bình chọn
Reply
Cấu trúc rẽ nhánh Switch case trong C#
hungloverain 2017-06-01 09:52:14

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace buakeobao
{
    class Program
    {
        static void Main(string[] args)
        {
            do
            {
                Console.WriteLine("Nhap so\n 1.Keo \n 2.Bua \n 3.Bao");
                int n;
                if (int.TryParse(Console.ReadLine(), out n) == false || n < 1 || n > 3)
                {
                    Console.WriteLine("Nhap sai");
                    return;
                }
                else
                {
                    Random ra = new Random();
                    int so = ra.Next(1, 4);
                    int t = n - so;
                    if (t > 0) t = 1;
                    else
                        if (t < 0) t = -1;
                    else t = 0;
                    switch (t)
                    {
                        case 0: Console.WriteLine("Hoa:{0}:{1}", n, so); break;
                        case 1:
                            {
                                if ((n - so) == 1) Console.WriteLine("Nguoi thang:{0}:{1}", n, so);
                                else Console.WriteLine("May thang:{0}:{1}", n, so);
                            }
                            break;
                        case -1:
                            {
                                if ((so - n) == 1) Console.WriteLine("May thang:{0}:{1}", n, so);
                                else Console.WriteLine("Nguoi thang:{0}:{1}", n, so);
                            }
                            break;
                    }
                }
            } while (true);
            }


        }
    }
 Cho mình hỏi mình dùng hàm Random từ 1->3 mà demo không xuất hiện 3  cho chạy lại random 1 -> 4 thì chỉ xuất hiện từ 1->3 ai có thể giải thích giúp mình được không?cảm ơn

0 bình chọn
Reply
Cấu trúc rẽ nhánh Switch case trong C#
hphuc5453 2016-12-26 20:27:33
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Tro Keo Bao Bua { class Program { static void Main(string[] args) { int Nguoi; Console.WriteLine("*****Tro Choi Keo Bua Bao *******"); Console.WriteLine("****Keo = 1, Bua = 2, Bao = 3"); Console.WriteLine("MOI BAN NHAP LUA CHON: "); Nguoi = Int32.Parse(Console.ReadLine()); Random rnd = new Random(); int m = rnd.Next(1, 3); switch (Nguoi) { case (1): switch (m) { case (1): Console.WriteLine(" Hoa"); break; case (2): Console.WriteLine("Thang ngu thua ,cmnr"); break;
0 bình chọn
Reply
Hủy bỏ   hoặc  
Hủy bỏ   hoặc  

Chiến dịch

Kteam - Howkteam Free Education