Hôm nay rảnh ngồi viết một bài hướng dẫn cơ bản cho các bạn mới làm quen với C#.
Phương trình bậc hai là phương trình có dạng: ax² + bx + c = 0. Hihihi ai mà ko biết [IMG]images/smilies/lick.gif[/IMG]

Vậy giao diện chương trình chúng ta cơ bản cần có:

  • 3 Textbox để nhận giá trị của a, b, c.1 Button để chạy chương trình giải pt.4 Label để hiển thị kết quả tính toán như: X1, X2, Delta và thông báo.

Giờ chúng ta bắt đầu nhé:
Mở Visual Studio vào File -> New Project -> C# -> Windows Forms Application -> Ok

Design:
Tạo 3 Textbox đặt tên (thuộc tính name) lần lược là: txt_a, txt_b, txt_c.
Tạo một Button đặt tên là btn_giai giải phương trình
Tạo một Label đặt tên là lb_loigiai để thông báo cho người dùng biết phương trình có bao nhiêu nghiệm.
Tạo 3 Label đặt tên lần lược là: lb_x1, lb_x2, lb_delta để nhận các giá trị của X1, X2Delta.

Vậy là xong phần design. Cơ bản giao diện chương trình chúng ta như sau:


Giờ là phần code.

Code:
Click double vào Button btn_giai.
Chèn đoạn code sau vào giữa { và }:

Mã:
            float x1 = 0, x2 = 0, delta = 0, a, b, c;                a = Convert.ToSingle(txt_a.Text);                b = Convert.ToSingle(txt_b.Text);                c = Convert.ToSingle(txt_c.Text);            if (txt_a.Text == "" | txt_b.Text == "" | txt_c.Text == "")            {                lb_delta.Visible = false;                lb_x1.Visible = false;                lb_x2.Visible = false;                lb_loigiai.Visible = true;                lb_loigiai.Text = "Bạn chưa nhập đủ a, b, c";            }            else            {                 if (a == 0)                {                    if (b == 0)                    {                        if (c == 0)                        {                            lb_loigiai.Text = "Phương trình có vô số nghiệm!";                            lb_delta.Visible = false;                            lb_x1.Visible = false;                            lb_x2.Visible = false;                        }                        else                        {                            lb_loigiai.Text = "Phương trình vô nghiệm!";                            lb_delta.Visible = false;                            lb_x1.Visible = false;                            lb_x2.Visible = false;                        }                    }                    else                    {                        lb_loigiai.Text = "Phương trình có 1 nghiệm kép!";                        x1 = -c / b;                        lb_delta.Visible = false;                        lb_x1.Visible = true;                        lb_x1.Text = "X = " + x1.ToString();                        lb_x2.Visible = false;                    }                }                else                {                    delta = (b * b) - 4 * a * c;                    double dt = Convert.ToDouble(delta);                     if (dt < 0)                    {                        lb_delta.Visible = true;                        lb_delta.Text = "Δ = " + delta.ToString() + " < 0";                        lb_loigiai.Visible = true;                        lb_loigiai.Text = "Phương trình vô nghiệm!";                        lb_x1.Visible = false;                        lb_x2.Visible = false;                    }                    else                    {                        if (dt > 0)                        {                            lb_loigiai.Visible = true;                            lb_loigiai.Text = "PT có 2 nghiệm phân biệt!";                            x1 = Convert.ToSingle((-Math.Sqrt(dt) - b) / (2 * a));                            x2 = Convert.ToSingle((Math.Sqrt(dt) - b) / (2 * a));                            lb_delta.Visible = true;                            lb_x1.Visible = true;                            lb_x2.Visible = true;                            lb_delta.Text = "Δ = " + delta.ToString() + " > 0";                            lb_x1.Text = "X1 = " + x1.ToString();                            lb_x2.Text = "X2 = " + x2.ToString();                         }                        else                        {                            lb_delta.Visible = true;                            lb_loigiai.Visible = true;                            lb_delta.Text = "Δ = 0";                            lb_loigiai.Text = "Phương trình có nghiệm kép!";                            x1 = -b / a;                            lb_x1.Visible = true;                            lb_x1.Text = "X1 = X2 = " + x1;                            lb_x2.Visible = false;                        }                    }                }            }
Vậy là xong. Giờ bấm F5 là chạy ầm ầm[IMG]images/smilies/applause.gif[/IMG]
Các bạn có thể download source code của chương trình này về nghiên cứu thêm nhé.
Chương trình này mình đã thêm một số chức năng như: bắt lỗi nhập liệu, có thể tính số thập phân và một vài chức năng khác,...
Các bạn download về nghiên cứu rồi góp ý với mình nhé.