Hướng dẫn thực hành - Lập trình Windows 1 - Module 4

8 427 0
Hướng dẫn thực hành - Lập trình Windows 1 - Module 4

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

Thông tin tài liệu

Hướng dẫn thực hành - Lập trình Windows 1Module 4 Trang 30/48 Module 4 Nội dung kiến thức thực hành: + Sử dụng mảng và danh sách. Bài 1: Mục đích: Thao tác với mảng một chiều với các giá trị phát sinh ngẫu nhiên . Yêu cầu: Thiết kế giao diện như hình: Khi nhấn nút “Xuất mảng ngẫu nhiên” thì chương trình xuất ra ô Mảng Gốc gồm 10 phần tử với giá trị mỗi phần tử phải thuộc [1,100]. Các nút còn lại khi được nhấn sẽ xuất ra ô Kết quả. Hướng dẫn: 1. Khai báo mảng toàn cục, với kích thước mảng MAX_SIZE là một hằng số: 2. Khởi tạo mảng trong sự kiện Load của form: Hướng dẫn thực hành - Lập trình Windows 1Module 4 Trang 31/48 3. Xây dựng các hàm theo yêu cầu: 4. Gọi sử dụng các phương thức tại các button. Bài 2: Mục đích: Làm việc với mảng hai chiều. Yêu cầu: Nhập một mảng 2 chiều có N x N phần tử (N<20). Các giá trị được phát sinh ngẫu nhiên trong [- 100,100]. Thiết kế giao diện để xuất các kết quả dưới đây: Hướng dẫn thực hành - Lập trình Windows 1Module 4 Trang 32/48 a. Đếm xem trong mảng có bao nhiêu số dương, bao nhiêu số âm, bao nhiêu số 0. b. Tìm số lớn nhất trong từng dòng của mảng. Bài 3: Mục đích: Thao tác với mảng một chiều với các phần tử do người dùng nhập . Yêu cầu: Làm lại bài số 1, với các phần tử trong mảng được nhập bằng cách sử dụng thêm hộp nhập liệu, với số phần tử là tuỳ ý (sửa nút Xuất mảng ngẫu nhiên thành nút Nhập mảng). Hướng dẫn: + Thêm vào project một form mới như sau (khi nhấn nút Nhập mảng sẽ hiện ra form này): + Thiết lập thuộc tính DialogResult cho nút Đồng ý là OK, cho nút Hủy là Cancel. + Viết lệnh cho nút Nhập mảng như sau, giả sử dữ liệu nhập là hợp lệ (chú ý cách chuyển dữ liệu qua lại giữa các form và cách tách chuỗi): private void btnNhapMang_Click(object sender, EventArgs e) { Form2 f = new Form2(); DialogResult result = f.ShowDialog(this); if (result == DialogResult.OK) //nhan nut Dong y { string chuoi_nhap = f.txtMang.Text; // T|ch chuỗi dựa v{o dấu , string[] sMang = chuoi_nhap.Split(new char[] { ',' }); // Cấp ph|t số phần tử cho mảng intMyArray = new int[sMang.Length]; // Đưa từng phần tử của sMang v{o array for (int i = 0; i < sMang.Length; i++) intMyArray[i] = Convert.ToInt32(sMang[i]); // Xuất mảng ra label XuatMang(intMyArray); } else if (result == DialogResult.Cancel) // nhan nut Huy { } } Bài 4: Hướng dẫn thực hành - Lập trình Windows 1Module 4 Trang 33/48 Mục đích: Thao tác với mảng đối tượng bằng cách xây dựng lớp tập hợp . Yêu cầu: Viết chương trình với giao diện sau: Hướng dẫn: + Viết lớp Student và StudentCollection: public class Student { private string id; private string name; private string add; // Constructors … // Properties … public override string ToString() { return this.id + ";" + name + ";" + add; } public override bool Equals(object obj) { try { return this.id == ((Student)obj).id; } catch { return false; Hướng dẫn thực hành - Lập trình Windows 1Module 4 Trang 34/48 } } public override int GetHashCode() { return id.GetHashCode(); } } using System.Collections; public class StudentCollection { private ArrayList list; public StudentCollection() { list = new ArrayList(); } /// <summary> /// Thêm 1 sinh viên vào danh sách /// </summary> /// <param name="st"></param> /// <returns></returns> public bool Add(Student st) { if (!list.Contains(st)) // điều kiện so s|nh trong h{m Equals { list.Add(st); return true; } return false; } /// <summary> /// Xo| 1 SV khỏi danh s|ch /// </summary> /// <param name="id">mã sinh viên cần xo|</param> /// <returns></returns> public bool Remove(string id) { foreach(object ob in list) { Student std = (Student)ob; if (std.StudentID.Trim().ToLower() == id.Trim().ToLower()) { list.Remove(ob); return true; } } return false; } /// <summary> /// Cập nhật thông tin sinh viên /// </summary> Hướng dẫn thực hành - Lập trình Windows 1Module 4 Trang 35/48 /// <param name="id">mssv</param> /// <param name="name">họ tên</param> /// <param name="address">Địa chỉ</param> /// <returns>true nếu update th{nh công</returns> public bool Update(String id, string name, string address) { foreach (object ob in list) { Student std = (Student)ob; if (std.StudentID.Trim().ToLower() == id.Trim().ToLower()) { std.StudentName = name; std.StudentAdd = address; return true; } } return false; } /// <summary> /// Lấy 1 sinh viên khỏi danh s|ch khi biết vị trí /// </summary> /// <param name="position">Vị trí</param> /// <returns>null nếu không có</returns> public Student GetItemAt(int index) { if (index >= 0 || index < list.Count) return (Student)list[index]; return null; } /// <summary> /// Lấy sinh viên khi biết mã SV /// </summary> /// <param name="id"></param> /// <returns></returns> public Student GetItem(string id) { Student std = null; foreach (object obj in list) { if (((Student)obj).StudentID.Trim().ToLower() == id.Trim().ToLower()) { std = (Student)obj; break; } } return std; } /// <summary> /// Số phần tử trong danh s|ch /// </summary> Hướng dẫn thực hành - Lập trình Windows 1Module 4 Trang 36/48 public int Count { get { return list.Count; } } } + Viết lớp truy xuất file: DataIO.cs using System.Runtime.Serialization.Formatters.Binary; using System.Runtime.Serialization; using System.IO; public class DataIO { /// <summary> /// Serialize 1 đối tượng bất kỳ /// </summary> /// <param name="object">đối tượng cần serialize</param> /// <param name="path">đường dẫn v{ tên file</param> /// <returns> true nếu th{nh công</returns> public static bool WriteData(Object object, string path) { try { FileStream fileStream = new FileStream(path,FileMode.Create); BinaryFormatter binaryFormatter = new BinaryFormatter(); binaryFormatter.Serialize(fileStream, object); fileStream.Close(); return true; } catch (Exception ex) { Console.WriteLine(ex.StackTrace); return false; } } /// <summary> /// Deserialize 1 đối tượng từ tập tin /// </summary> /// <returns>Object nếu th{nh công còn không thì trả về null </returns> public static Object ReadData(string path) { Object object = null; try { FileStream fileStream = new FileStream(path, FileMode.Open); try { BinaryFormatter binaryFormatter = new BinaryFormatter(); object = binaryFormatter.Deserialize(fileStream); fileStream.Close(); } Hướng dẫn thực hành - Lập trình Windows 1Module 4 Trang 37/48 catch (Exception ex) { Console.WriteLine(ex.StackTrace); fileStream.Close(); } } catch (FileNotFoundException ex) { Console.WriteLine(ex.StackTrace); } return object; } } . /// < summary> /// Cập nhật thông tin sinh viên /// < /summary> Hướng dẫn thực hành - Lập trình Windows 1 – Module 4 Trang 35 /48 /// < param name="id">mssv < /param>. false; } /// < summary> /// Xo| 1 SV khỏi danh s|ch /// < /summary> /// < param name="id">mã sinh viên cần xo| < /param> /// < returns> < /returns>. ArrayList(); } /// < summary> /// Thêm 1 sinh viên vào danh sách /// < /summary> /// < param name="st"> < /param> /// < returns> < /returns> public

Ngày đăng: 13/05/2014, 11:57

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan