Hướng Dẫn Thực Hành Winform với C# - phần 1 (tt) ppt

5 1K 16
Hướng Dẫn Thực Hành Winform với C# - phần 1 (tt) ppt

Đang tải... (xem toàn văn)

Thông tin tài liệu

Xây dựng phần mềm hướng đối tượng GVHD: Trần Anh Dũng HƯỚNG DẪN THỰC HÀNH TUẦN 2 Lập trình ứng dụng WinForm với C# (tt) 2. Viết chương trình Giải phương trình bậc 2 có dạng: ax 2 + bx + c = 0, với a ≠ 0 a. Tạo ứng dụng WinForm: Khởi động Microsoft Visual Studio 2005 tạo ứng dụng C# tương tự như bài tập 1 (hướng dẫn của tuần 1) b. Thiết kế và lập trình: c. Đăng ký và xử lý sự kiện cho Button “Thoát” d. Tạo lớp TAM_THUC Xây dựng phần mềm hướng đối tượng GVHD: Trần Anh Dũng Cài đặt lớp TAM_THUC: class TAM_THUC { private double a; //a<>0 private double b; private double c; public double HeSoA { get { return a; } set { a=value; } } public double HeSoB { get { return b; } set { b=value; } } public double HeSoC Click chuột phải lên project “BaiTap2” để t ạo class mới Xây dựng phần mềm hướng đối tượng GVHD: Trần Anh Dũng { get { return c; } set { c=value; } } public TAM_THUC() { } public bool NhapHeSo(string hesoa, string hesob, string hesoc) { try { if (hesoa.Trim().Length == 0) { MessageBox.Show("Chưa nhập hệ số a", "Thong bao loi", MessageBoxButtons.OK, MessageBoxIcon.Stop); return false; } else if (hesob.Trim().Length == 0) { MessageBox.Show("Chưa nhập hệ số b", "Thong bao loi", MessageBoxButtons.OK, MessageBoxIcon.Stop); return false; } else if (hesoc.Trim().Length == 0) { MessageBox.Show("Chưa nhập hệ số c", "Thong bao loi", MessageBoxButtons.OK, MessageBoxIcon.Stop); return false; } a = Double.Parse(hesoa); b = Double.Parse(hesob); c = Double.Parse(hesoc); return true; } catch (Exception ex) { MessageBox.Show(ex.Message, "Loi", MessageBoxButtons.OK, MessageBoxIcon.Stop); return false; } } public NGHIEM GiaiPT() { NGHIEM cNghiem = new NGHIEM(); double delta; delta=b*b-4*a*c; if(delta<0) cNghiem.LoaiN = 0; else if(delta==0) { cNghiem.LoaiN = 1; cNghiem.x1 = -b/2*a; } else { cNghiem.LoaiN=2; Để class này hiểu hàm MessageBox thì ở đầu class phải : using System.Windows.Forms; Xây dựng phần mềm hướng đối tượng GVHD: Trần Anh Dũng cNghiem.x1 = -b - Math.Sqrt(delta)/2*a; cNghiem.x2 = -b + Math.Sqrt(delta)/2*a; } return cNghiem; } } e. Tạo và cài đặt lớp NGHIEM class NGHIEM { private double[] x = new double[2]; private int LoaiNghiem; public NGHIEM() { } public int LoaiN { get { return LoaiNghiem ; } set { LoaiNghiem=value; } } public double x1 { get { return x[0]; } set { x[0]=value; } } public double x2 { get { return x[1]; } set { x[1]=value; } } public void Xuat(TextBox txtNghiem) { if(LoaiNghiem==0) txtNghiem.Text="Phương trình trên vô nghiệm"; else if(LoaiNghiem==1) { txtNghiem.Text = "Phương trình trên có nghiệm kép "; txtNghiem.Text += "x= " + x[0]; } else { txtNghiem.Text= "Phương trình trên có 2 nghiệm phân biệt:"; txtNghiem.Text +=" x1 = " + x[0]; txtNghiem.Text +=" va x2 = " + x[1]; Phải có: using System.Windows.Forms; Xây dựng phần mềm hướng đối tượng GVHD: Trần Anh Dũng } } } f. Đăng ký và xử lý cho sự kiện Button giải phương trình: private void bGiai_Click(object sender, EventArgs e) { TAM_THUC tt = new TAM_THUC(); NGHIEM N; tt.NhapHeSo(heso_a.Text.Trim(), heso_b.Text.Trim(), heso_c.Text.Trim()); N = tt.GiaiPT(); N.Xuat(txtNghiem); } g. Xử lý lỗi phát sinh khi người dùng nhập dữ liệu không phải là số h. Để ngăn chặn khả năng phát sinh lỗi ???    Không cho phép nhập các ký tự không phải là ký tự số vào textbox    Giải pháp ???    Xử lý sự kiện nhấp phím (KeyPress) i. Sinh viên tự phát triển tiếp để hoàn thiện chương trình trên . phần mềm hướng đối tượng GVHD: Trần Anh Dũng HƯỚNG DẪN THỰC HÀNH TUẦN 2 Lập trình ứng dụng WinForm với C# (tt) 2. Viết chương trình Giải phương trình bậc 2 có dạng: ax 2 + bx + c = 0, với. + bx + c = 0, với a ≠ 0 a. Tạo ứng dụng WinForm: Khởi động Microsoft Visual Studio 2005 tạo ứng dụng C# tương tự như bài tập 1 (hướng dẫn của tuần 1) b. Thiết kế và lập trình: c. Đăng. phải : using System.Windows.Forms; Xây dựng phần mềm hướng đối tượng GVHD: Trần Anh Dũng cNghiem.x1 = -b - Math.Sqrt(delta)/2*a; cNghiem.x2 = -b + Math.Sqrt(delta)/2*a; } return cNghiem;

Ngày đăng: 28/07/2014, 03:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan