Xây dựng màn hình xuất câu chào Mục tiêu: Sử dụng ba thành phần chính của một chương trình Input, Process, Output Yêu cầu: Xây dựng Form có tên MH_Cau_chao lưu tại thư mục Bai
Trang 1Tel: 8351056 – Fax 8324466 – Email: ttth@hcmuns.edu.vn
BÀI TẬP
CHƯƠNG TRÌNH
KỸ THUẬT VIÊN NGÀNH LẬP TRÌNH
Học phần 2
- NỀN TẢNG VÀ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG VỚI C# 4.0
Trang 2BÀI 1: Tổng quan
Thực hành một số thao tác cơ bản trong môi trường C# và ứng dụng dạng Windows Application
Sử dụng các điều khiển cơ bản trên Form
1.1 Làm quen môi trường phát triển ứng dụng
Mục tiêu:
Tạo Project, tổ chức cây thư mục
Sử dụng các đối tượng trong ứng dụng Windows Application
Thực hiện các thao tác: tạo, thêm, xoá các đối tượng
Thực thi một ứng dụng
Yêu cầu:
Tạo một ứng dụng dạng Windows Forms Application có tên Bai_Tap lưu tại thư mục làm việc
Lần lượt tạo các thư mục dùng để lưu trữ bài tập (hình 1)
Thực hiện thêm và xóa một đối tượng trong ứng dụng (Trên cửa sổ Solution Explorer, nhấn chuột phải trên Project chọn Add để thêm một đối tượng, nhấn chuột phải trên đối tượng cần xóa và chọn Delete)
Thực thi ứng dụng (nhấn phím F5 hoặc nhấn nút Start Debugging)
Hình 1: T ổ chức thư mục trong Project
1.2 Xây dựng màn hình xuất câu chào
Mục tiêu:
Sử dụng ba thành phần chính của một chương trình (Input, Process, Output)
Yêu cầu:
Xây dựng Form có tên MH_Cau_chao lưu tại thư mục Bai_01 (hình 2)
Nhập vào họ tên của bạn
Trang 3 Xuất ra màn hình câu chào “Chào b ạn <Họ tên>, chúc mừng bạn đến với Ngôn ngữ lập trình C# 4.0”
Hình 2: màn hình in câu chào
Trang 4BÀI 2: Kiểu dữ liệu và biến
Sử dụng kiểu dữ liệu trong C#, ứng dụng các kiểu dữ liệu để khai báo biến
Áp dụng các kỹ thuật chuyển kiểu dữ liệu trong C#
Mục tiêu: Sử dụng các phương thức và thuộc tính của lớp Math
Yêu cầu: Xây dựng chương trình tính diện tích và chu vi hình tròn, gồm các chức năng:
Nhập vào bán kính của hình tròn: kiểu số thực double
Xuất ra diện tích và chu vi của hình tròn: kiểu số thực double
Hướng dẫn
Xây dựng màn hình có giao diện như sau:
Điều khiển Thuộc tính Sự kiện Xử lý
Label Text: TÍNH CHU VI, DIỆN TÍCH HÌNH TRÒN
Label Text: Bán kính
Label Text: Chu vi
Label Text: Diện tích
TextBox Name: txtban_kinh
TextBox Name: txtchu_vi
ReadOnly: true TextBox Name: txtdien_tich
Trang 5ReadOnly: true Button Name: btntinh
Xử lý sự kiện Click của Button “Tính”
private void btntinh_Click(object sender, EventArgs e)
Xử lý sự kiện Click của Button “Làm lại”
private void btnlam_lai_Click(object sender, EventArgs e)
2.2 Tính chu vi và diện tích hình chữ nhật (Bài về nhà)
Yêu cầu: Xây dựng chương trình tính chu vi và diện tích hình chữ nhật, gồm các chức năng:
Nhập vào chiều dài vào chiều rộng của hình chữ nhật: kiểu số thực double
Xuất ra diện tích và chu vi của hình chữ nhật: kiểu số thực double
Trang 62.3 Tính chu vi và diện tích tam giác
Yêu cầu 1
Nhập vào chiều dài 3 cạnh của hình tam giác: kiểu số thực double
Tính và xuất chu vi, diện tích của hình tam giác: kiểu số thực double
Yêu cầu 2
Nhập vào chiều dài 3 cạnh của hình tam giác: kiểu số nguyên int
Tính và xuất chu vi, diện tích của hình tam giác: kiểu số thực double
Yêu cầu 3
Nhập vào chiều dài 3 cạnh của hình tam giác: kiểu số nguyên int
Tính và xuất chu vi, diện tích của hình tam giác: kiểu số thực float
2.4 Tính số nút của 1 số nguyên (Bài về nhà)
Trang 7 Sử dụng kiểu tham chiếu
Mục tiêu: Sử dụng các kiểu dữ liệu loại tham chiếu
2.5 Tách chuỗi họ tên
Mục tiêu:
- Sử dụng kiểu string với các phương thức và thuộc tính của kiểu này
- Ứng dụng vào bài toán thực tế
Yêu cầu:
- Nhập vào 1 chuỗi họ tên
- Tách chuỗi và xuất ra phần họ, phần lót, phần tên của chuỗi họ tên
2.6 Sử dụng kiểu tham chiếu
Mục tiêu: Sử dụng kiểu tham chiếu StringBuilder
Trang 8 Hướng dẫn:
- Khai báo 2 biến kiểu StringBuilder dùng chung trong Form
StringBuilder strb1;
StringBuilder strb2;
- Xử lý sự kiện Load của Form
strb1 = new StringBuilder("Hoa Lan");
// Quan sát giá trị của 2 biến và nhận xét
- Xử lý sự kiện Click của Button “Cập nhật vào biến 2”
Trang 9strb1 = new StringBuilder("Hoa Lan");
strb2 = new StringBuilder("Hoa Hồng");
txtMot.Text = strb1.ToString();
txtHai.Text = strb2.ToString();
Trang 10BÀI 3: Cấu trúc điều khiển
Sử dụng các cấu trúc điều khiển, cách bẫy lỗi và xử lý lỗi trong C#.
3.1 Xếp loại học tập
Mục tiêu: Sử dụng cấu trúc IF
Yêu cầu:
- Nhập vào điểm học kỳ I, điểm học kỳ 2
- Tính Điểm trung bình, theo công thức: Điểm trung bình = (Điểm HKI + Điểm HKII*2)/3
- Tính Xếp loại học tập, theo quy tắc sau:
o Điểm trung bình <5: yếu
o 5 <= Điểm trung bình <6.5: trung bình
o 6.5 <= Điểm trung bình < 8: khá
o Điểm trung bình >=8: giỏi
Hướng dẫn:
- Xây dựng màn hình có giao diện sau:
- Xử lý sự kiện Click của Button “Đồng ý”
private void btndong_y_Click(object sender, EventArgs e){
Trang 11- Xử lý sự kiện Click của Button “Làm lại”
private void btndong_y_Click(object sender, EventArgs e){
txtdiem_hki.Text=””;
txtdiem_hkii.Text=””;
txtxep_loai.Text=””;
}
3.2 Tìm ngày trước, ngày sau của một ngày
Mục tiêu: Sử dụng cấu trúc if và các phương thức của lớp DateTime
Yêu cầu:
- Nhập vào ngày tháng (DateTime) cần tìm ngày trước và ngày sau
- Tính và xuất ra ngày trước, ngày sau của ngày vừa nhập với giao diện sau:
- Ví dụ: Ngày hiện tại: 01/01/2009 Ngày trước = 31/12/2008, ngày sau= 02/01/2009
3.3 Tính tiền điện (bài về nhà)
Mục tiêu: Sử dụng cấu trúc IF
Yêu cầu:
- Nhập vào chỉ số đầu, chỉ số cuối của điện kế
- Tính và xuất tiền điện phải trả dựa vào lượng điện năng tiêu thụ (tính bằng KW) theo quy tắc sau (có tính lũy tiến):
KW Giá tiền
Trang 12- Nhập vào năm dương lịch (Nam_duong)
- Tính và xuất ra năm âm lịch ứng với năm dương lịch được nhập vào với quy ước tính năm âm lịch:
Năm âm lịch được tính dự vào CAN + CHI trong đó CAN và CHI được tính theo quy tắc sau: Nam_duong % 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ỷ
Nam_duong % 12 0 1 2 3 4 5 6 7 8 9 10 11 CHI Thân Dậu Tuất Hợi Tí Sử Dần Mẹo Thìn Tỵ Ngọ Mùi
- Ví dụ: năm dương lịch: 2009 năm âm lịch: Kỷ sửu
Trang 133.5 Tính số ngày trong tháng
Mục tiêu: Sử dụng cấu trúc switch
Yêu cầu:
- Nhập vào tháng và năm dương lịch cần tìm số ngày
- Tính và xuất ra số ngày của tháng năm đó
3.6 Tính ngày của mẹ, ngày của cha (Bài về nhà)
Mục tiêu: Sử dụng cấu trúc switch và các thuộc tính, phương thức của kiểu DateTime
Yêu cầu:
- Nhập vào năm dương lịch
- Xuất ra màn hình ngày của mẹ và ngày của cha trong năm, biết rằng:
o Ngày của mẹ là ngày chủ nhật thứ 2 của tháng 5
o Ngày của cha là ngày chủ nhật thứ 3 của tháng 6 hàng năm
- Màn hình gợi ý:
3.7 In bảng cửu chương của một số
Mục tiêu: Sử dụng cấu trúc for
Yêu cầu:
- Nhập vào một số nguyên
Trang 14- In bảng cửa chương của số nguyên đó
- Giao diện Form như sau:
Hướng dẫn:
- Xử lý sự kiện Click của nút In bảng cửu chương:
int cc = int.Parse(txtSo.Text);
StringBuilder strb = new StringBuilder();
for (int i = 1; i <= 10; i++)
Trang 153.9 Tính lãi suất ngân hàng (Bài về nhà)
Mục tiêu: sử dụng cấu trúc for
Yêu cầu:
- Nhập vào số tiền gởi, lãi suất ngân hàng (tính theo năm) và số tháng gởi
- Tính và xuất Số dư cuối kỳ và tiền lãi cuối kỳ, biết rằng:
o Lãi suất tháng = (Lãi suất năm / 12) /100
o Tiền lãi tháng = Tiền gốc * Lãi suất tháng
o Tiền lãi mỗi tháng sẽ được gộp chung vào tiền gốc
o Tiền lãi cuối kỳ sẽ được tính lũy tiến từ tiền lãi mỗi tháng + tiền gốc
Ví dụ: Nếu bạn gởi 10 triệu với lãi suất 12%/năm và gởi trong 6 tháng, thì tiền lãi cuối kỳ được tính như sau:
o Lãi suất tháng = (12/12)/100 0.01 Tháng Tiển gốc + Lãi Tiền lãi tháng
Trang 163.10 Thực hiện lại các bài 3.8, 3.9 và 3.10 bằng cách dùng vòng lặp while, do while (Bài về nhà)
Trang 17BÀI 4: Kiểu struct và kiểu Array
Xây dựng và sử dụng kiểu dữ liệu do người dùng định nghĩa (struct)
Khai báo và sử dụng mảng trong C#
4.1 Tạo và sử dụng kiểu Nhan_vien
Mục tiêu: Tạo và sử dụng kiểu cấu trúc (struct)
Yêu cầu:
- Tạo kiểu Nhan_vien, với các thành phần: họ tên, Ngày sinh, hệ số lương, lương cơ bản và số con
o Xây dựng hàm khởi tạo các thành phần trên
o Xây dựng phương thức tính tiền lương, với:
Tiền lương = Lương cơ bản + ( Số con * 100000)
o Xây dựng phương thức xuất thông tin nhân viên ra màn hình có dạng:
“Nguyễn Thanh Thúy – 32 tuổi – Số con: 2 – Tiền lương: 2500000
- Nhập thông tin nhân viên và xuất ra màn hình
Hướng dẫn:
- Tạo cấu trúc Nhan_vien với các thành phần được khai báo Public
+ Họ tên nhân viên: string + Ngày sinh: DateTime + Lương cơ bản: double + Hệ số lương: double + Số con: int (cho phép chứa giá trị NULL) struct Nhan_vien
{ public string ho_ten;
public DateTime ngay_sinh;
public double he_so_luong;
public double luong_co_ban;
public int? so_con;
}
- Xây dựng phương thức khởi tạo cho cấu trúc Nhan_vien
public Nhan_vien(string pHo_ten, DateTime pNgay_sinh, double pLuong_co_ban, double pHe_so_luong, int? pSo_con)
{ ho_ten = pHo_ten;
ngay_sinh = pNgay_sinh;
he_so_luong = pHe_so_luong;
Trang 18luong_co_ban = pLuong_co_ban;
so_con = pSo_con;
}
- Xây dựng phương thức tính tiền lương cho nhân viên:
public double Tinh_luong() {
double tienluong = luong_co_ban * he_so_luong;
tienluong += so_con.HasValue ? so_con.Value * 100000 : 0;
return tienluong;
}
- Xây dựng phương thức ToString để hiển thị thông tin của nhân viên:
public new string ToString() {
int tuoi = DateTime.Now.Year - ngay_sinh.Year;
return string.Format("{0} - {1} tuổi – Số con: {2} – Tiền lương: {3}", ho_ten, tuoi, so_con.HasValue ? so_con.Value : 0, Tinh_luong());
}
- Xây dựng màn hình có giao diện sau:
- Xử lý sự kiện Click của Button “Đồng ý”
private void btndong_y_Click(object sender, EventArgs e) {
Trang 19}
- Xử lý sự kiện Click của Button “Làm lại”
private void btnlamlai_Click(object sender, EventArgs e){
- Sử dụng mảng và các thao tác xử lý thông dụng trên mảng
- Sử dụng lớp Random và các phương thức của lớp này
- Sử dụng các phương thức của lớp Array
Trang 20- Khai báo biến mảng số nguyên a toàn cục
int[] a;
- Xử lý sự kiện Click của Button “Tạo mảng”
// Tạo mảng số nguyên a với kích thước bằng số phần tử vừa nhập
int n = int.Parse(txtso_phan_tu.Text);a = new int[n];
// Khởi tạo mảng số nguyên a với các phần tử có giá trị ngẫu nhiên từ
50 đến 100
Random ngau_nhien=new Random();
for (int i=0;i<a.Length;i++)
Trang 21BÀI 5: Tổng quan Lập trình hướng đối
o Phương thức Giải phương trình
- Tạo form, trong đó:
o Nhập Hệ số a và b
o Giải phương trình và xuất ra nghiệm
Hướng dẫn:
- Nhấn chuột phải lên project và chọn Add Class
- Trong cửa sổ Add New Item, nhập tên cho class là PHUONG_TRINH_BAC_I.CS
- Khai báo các thành phần trong class:
o Biến thành viên (Field): lưu trữ thông tin về hệ số a và hệ số b
private float mHe_so_a;
private float mHe_so_b;
o Thuộc tính (Property): Truy xuất đến giá trị của các biến thành viên trong class
public float He_so_a {
get { return mHe_so_a; } set { mHe_so_a=value; } }
public float He_so_b {
get { return mHe_so_b; } set { mHe_so_b=value; } }
o Phương thức khởi tạo (Constructor): Khởi tạo các giá trị ban đầu cho hệ số A và B
public PHUONG_TRINH_BAC_I()
Trang 22{ } public PHUONG_TRINH_BAC_I(float pHe_so_a, float pHe_so_b) {
He_so_a=pHe_so_a;
He_so_b=pHe_so_b;
}
o Phương thức giải phương trình tìm nghiệm
public string Giaipt() { string kq; //lưu kết quả nghiệm của pt
//Xét nghiệm của phương trình theo hệ số a
//trả về giá trị cho hàm
return kq;
}
- Xây dựng màn hình có giao diện sau:
o Xử lý sự kiện Click của Button “Giải PT”
private void btngiai_pt_Click(object sender, EventArgs e){
Trang 23private void btnlam_lai_Click(object sender, EventArgs e){
Mục tiêu: xây dựng class và các phương thức tính toán khác nhau
Mô tả: xây dựng chương trình hỗ trợ người dùng thực hiện các phép toán cộng, trừ, nhân, chia trên
các phân số
Yêu cầu:
- Xây dựng class Phân số với các thành phần sau:
o Thuộc tính: Tử số và Mẫu số
o Phương thức khởi tạo không có tham số: gán giá trị mặc định cho Tử số và mẫu số là 1
o Phương thức khởi tạo có 2 tham số là Tử số và Mẫu số Các phương thức tính toán:
o Phương thức Tối giản phân số: dùng để tối giản phân số (ví dụ: 2/4 tối giản thành 1/2)
o Phương thức Cộng: tính tổng của 2 phân số và trả về phân số kết quả sau khi đã được tối
c b d a d
c b
c b d a d
c b
c a d
c b
d a d
c b
a
*
* :
Hướng dẫn:
- Tạo class PhanSo, gồm các thành phần yêu cầu trên
o Xây dựng phương thức Tối giản như sau:
Trang 24private PhanSo Toigian(PhanSo pso) {
PhanSo ps = new PhanSo();
int us = uscln(pso.Tuso, pso.Mauso);
ps.Tuso = pso.Tuso / us;
ps.Mauso = pso.Mauso / us;
return ps;
} private int uscln(int so_1, int so_2) {
int a = Math.Abs(so_1), b = Math.Abs(so_2);
while (a != b) {
}
//Lưu ý: Học viên phải kiểm tra tính hợp lệ của tử số và mẫu số trước khi gọi hàm này
- Xây dựng phương thức Cộng như sau:
public PhanSo Cong(PhanSo p) {
PhanSo kq = new PhanSo();
kq.Tuso = Tuso * p.Mauso + Mauso * p.Tuso;
kq.Mauso = Mauso * p.Mauso;
return Toigian(kq);
}
//Tương tự, học viên xây dựng 3 phương thức còn lại
- Xây dựng màn hình có giao diện sau:
Trang 25o Xây dựng phương thức Tạo phân số: xử lý chuỗi nhập của Phân số và trả về Phân số
//Phương thức này được xây dựng trong class Form
private PhanSo Tao_phan_so(string chuoi) {
string[] s = chuoi.Split('/');
int tu = int.Parse(s[0]);
int mau = int.Parse(s[1]);
return new PhanSo(tu, mau);
5.3 Xử lý phân số nâng cao
Mục tiêu: xây dựng class và các phương thức nạp chồng toán tử
Trang 26
- Mở rộng: Học viên có thể bổ sung các nút So sánh lớn hơn, So sánh nhỏ hơn
5.4 Nhập xuất thông tin hóa đơn (Bài về nhà)
Mục tiêu:
- Xây dựng class và tổng hợp các kiến thức đã học (Array, Class, string, StringBuilder …)
- Ứng dụng bài toán thực tế
Yêu cầu: xây dựng ứng dụng hỗ trợ nhập xuất thông tin Hóa đơn bán hàng theo mô tả sau:
- Thông tin hóa đơn gồm có: Số hóa đơn, Ngày lập hóa đơn, Khách hàng và Danh sách các sản phẩm được mua
- Thông tin sản phẩm gồm có: Tên sản phẩm, Đơn giá sản phẩm, Số lượng mua và Thành tiền
- Sau khi nhập đầy đủ Thông tin hóa đơn và Chi tiết hóa đơn, người dùng được phép xem thông
tin của Hóa đơn bán hàng
Hướng dẫn:
- Xây dựng hai class: HoaDon và SanPham
- Khai báo các biến dùng chung trên Form: 1 biến kiểu HoaDon, 1 biến mảng kiểu SanPham, 1 biến kiểu int (dùng lưu trữ số sản phẩm, cũng là số phần tử của mảng)
- Gợi ý giao diện của Form:
Trang 28BÀI 6: Tính Thừa kế và Đa hình
Xây dựng và sử dụng các class kế thừa từ class khác
Sử dụng tính đa hình của class
6.1 Quản lý thông tin nhân viên
Mục tiêu: Xây dựng class kế thừa và áp dụng kỹ thuật Late Binding
Mô tả: Xây dựng ứng dụng quản lý lương của công ty Z
- Thông tin của nhân viên gồm: Họ tên nhân viên, Giới tính, Ngày sinh, Ngày vào làm, Hệ số lương,
Lương cơ bản, Thâm niên và Định mức số ngày vắng (mặc định là 3 ngày) Trong đó:
o Lương cơ bản: dùng chung cho tất cả các nhân viên trong công ty
o Thâm niên = Năm hiện hành – Năm vào làm
- Nhân viên của công ty được chia làm 2 loại:
o Nhân viên văn phòng: có thêm thông tin về S ố ngày vắng và Đơn giá phạt cho từng ngày
vắng (mặc định là 100.000/ngày) Các khoản phạt, thưởng và lương như sau:
Tiền phạt: Tiền phạt = đơn giá phạt x Số ngày vắng vượt quá định mức
Tiền thưởng: 10% của (Lương cơ bản * Hệ số lương)
Lương: (Lương cơ bản * Hệ số lương) + Tiền thưởng – Tiền phạt
o Nhân viên sản xuất: có thêm thông tin về S ố ngày vắng , Số lượng sản phẩm, Định mức sản phẩm (mặc định là 1,000), và Đơn giá sản phẩm (mặc định là 10,000/sản phẩm) Riêng Định
mức số ngày vắng sẽ tăng lên 2 ngày Các khoản thưởng và lương như sau:
Tiền thưởng: Số sản phẩm vượt định mức x đơn giá sản phẩm x 0.05 Tuy nhiên, nếu Số ngày vắng > Định mức vắng thì:
Tiền thưởng = Tiền thưởng - Số ngày vắng vượt quá định mức * (Tiền thưởng *0.01)
Lương: (Lương cơ bản * Hệ số lương) + Tiền thưởng
Yêu cầu: xây dựng chương trình hỗ trợ nhập thông tin nhân viên, tính các khoản phạt, thưởng, lương
private string mHo_ten;
private DateTime mNgay_sinh;
private DateTime mNgay_vao_lam;
private double mHe_so_luong;
private Gioi_tinh mGioi_tinh;
public static double mLuong_co_ban = 830000;
protected int Dinh_muc_vang = 3;
Trang 29public string Ho_ten
{ get { return mHo_ten; } set { mHo_ten = value; } }
public DateTime Ngay_sinh
{ get { return mNgay_sinh; } set { mNgay_sinh = value; } }
public DateTime Ngay_vao_lam
{ get { return mNgay_vao_lam; } set { mNgay_vao_lam = value; } }
public double He_so_luong
{
get { return mHe_so_luong; }
set { mHe_so_luong = value; }
}
public Gioi_tinh Gioi_tinh
{ get { return mGioi_tinh; } set { mGioi_tinh = value; } }
Trang 30private static double mDon_gia_phat = 100000;
public int So_ngay_vang
{
get { return mSo_ngay_vang; }
set { mSo_ngay_vang = value; }
}
public static double Don_gia_phat
{
get { return mDon_gia_phat; }
set { mDon_gia_phat = value; }
}
public NVVP(string _ho_ten, DateTime _ngay_sinh, DateTime, ngay_vao_lam,
Gioi_tinh _gioi_tinh, double _he_so_luong)
: base(_ho_ten, _ngay_sinh, _ngay_vao_lam, _gioi_tinh, _he_so_luong)
{ }
public NVVP(string _ho_ten, DateTime _ngay_sinh, DateTime _ngay_vao_lam,
Gioi_tinh _gioi_tinh, double _he_so_luong,int _so_ngay_vang)
: base(_ho_ten, _ngay_sinh, _ngay_vao_lam, _gioi_tinh, _he_so_luong)
Trang 31public override string ToString()
{
return string.Format("{0}\nLoại nhân viên: Nhân viên văn phòng\nTiền thưởng:
{1}\n"+ "Tiền phạt: {2} \n"+ "Tiền lương: {3} \n" +"Còn lãnh: {4}"
,base.ToString(), Tinh_thuong().ToString("#,##0.00"),Tinh_phat().ToString("#,##0.00"),
base.Tinh_luong().ToString("#,##0.00"), this.Tinh_luong().ToString("#,##0.00")); }
static int mDinh_muc_san_pham = 1000;
static double mDon_gia_san_pham = 10000;
public static int Dinh_muc_san_pham
{
get { return mDinh_muc_san_pham; }
set { mDinh_muc_san_pham = value; }
}
public static double Don_gia_san_pham
{
get { return mDon_gia_san_pham; }
set { mDon_gia_san_pham = value; }
Trang 32- Xử lý sự kiện Load của Form
txtluong_co_ban.Text = Nhan_vien.luong_co_ban.ToString();
- Xử lý sự kiện Click của Button “Đồng ý”
string ho_ten = txtho_ten.Text;
DateTime ngay_sinh = DateTime.Parse(txtngay_sinh.Text);
DateTime ngay_vao_lam = DateTime.Parse(txtngay_vao_lam.Text);
Gioi_tinh gioi_tinh = cbgioi_tinh.Checked == true ? Gioi_tinh.Nữ : Gioi_tinh.Nam; double he_so_luong = double.Parse(txthe_so_luong.Text);
int so_ngay_vang = int.Parse(txtgia_tri.Text);
nv = new NVSX(ho_ten, ngay_sinh, ngay_vao_lam, gioi_tinh, he_so_luong,
so_ngay_vang, so_san_pham);
} MessageBox.Show(nv.ToString());
Kết quả kết xuất