Thông tin cá nhân Yêu Ơầu:XẮy dựốg forỐ thông tin cá nhân... Thông tin hàng hóa Yêu Ơầu: T o forỐ hiểố th thẾốg tiố Hậốg hỹa ốhư sau... Tíốh Ơhu ộỌ ộậ ơỌệố tíƠh hìốh Ơh ốh t BậỌ ộ
Trang 1Tel: 8351056 – Fax 8324466 – Email: ttth@hcmuns.edu.vn
KỸ THU T VIÊN NGÀNH L P TRÌNH
Trang 2- Têố hằốg: Vi t hoa t t c cức ký tự, cức từ cứch ốhau bằốg d u g ch „_‟ (Ví d : PI, TY_GIA)
- Têố HậỐ,Cỏass,Object: Vi t hoa ký tự đ u tiêố c a t t c cức từ (Ví d : SinhVien, ContactBook)
Quy Ơ ộỌ t tắt ƠẬƠ đỌ u khỌểố - prefix (chung):
T o Project, tổ ch c cẮy thư Ố c
Thực hi ố cức thao tức: t o, thêỐ, xoứ cức đ i tượốg
Trang 3Hình 1: Tổ ch c thư Ố c troốg project
L ố ỏượt t o cức thư Ố c dùốg để ỏưu trữ bậi t p (hìốh 1)
Thực hi ố thêỐ vậ xỹa Ốột đ i tượốg troốg ốg d ốg (Trêố cửa sổ Soỏutioố Expỏorer, ốh ố chuột ph i trêố Project chọố Add để thêỐ Ốột đ i tượốg, ốh ố chuột ph i trêố đ i tượốg c ố xỹa vậ chọố Deỏete)
1.2 Màn hình chào 1
Yêu Ơầu: XẮy dựốg forỐ xu t cẮu chậo
Trang 4Hình 1: Màn hình chào 1
H ốg ơ ố s ơ ốg:
Thực thi ốg d ốg :ốh ố phíỐ F5 (DEBUG/Start Debuggiốg) hoặc cỏick Start
TóỐ tắt yêu Ơầu:
ThỌ t k gỌao ơỌệố ốg ờỌ ơùng
thManHinhChao1: form (name = frm01Chao.cs)
Text: Truốg tẮỐ tiố học ĐH KHTN
Cức thể hi ố phía dưới đ u ốằm trên form
thLoiChao: Labeỏ (hiểố th )
Nh p thuộc tíốh Text c a Labeỏ
Mở cửa sổ thuộc tíốh vậ thay đổi Foốt (foốt chữ) , ForeCoỏor (Ốậu chữ)
Trang 5 Nh p họ têố rồi cỏick ốềt thực hi ố vậ xu t ra cẮu chậo “Chậo b ố <họ têố ốh p>”
TóỐ tắt yêu Ơầu:
ThỌ t k gỌao ơỌệố ốg ờỌ ơùng
thMaốHiốhChao2: forỐ (ốaỐe= “frỐ02Chao.cs”)
Text: Chào
(Cức thể hi ố phía dưới đ u ốằỐ troốg form)
thNhapHoTeố: Labeỏ (hiểố th )
thNhapHoTeố: TextBox (ốh p ỏi u)
thXuatCauChao: Labeỏ (hiểố th )
1.4 Thông tin cá nhân
Yêu Ơầu:XẮy dựốg forỐ thông tin cá nhân
Trang 6 ThỌ t k gỌao ơỌệố ốg ờỌ ơùốg
thThoốgTiốCaNhaố: forỐ (ốaỐe=”frỐ03CaNhaố.cs”)
Text: Thông tin cá nhân
(Cức thể hi ố phía dưới ốằỐ troốg forỐ)
thHoVaTeố: Labeỏ (hiểố th )
thHoTen: TextBox (ốh p ỏi u)
thNgaySiốh: Labeỏ (hiểố th )
thNgaySiốh: TextBox (ốh p ỏi u)
thSoThich: Labeỏ (hiểố th )
thSoThich: TextBox (ốh p ỏi u)
Trang 7BÀI 2: GỌao ơỌệố WỌốơoỚs ForỐs
Application
Các ki ố th c cơ b ố v Wiốdows Forms Application
Các ki ố th c cơ b ố v ốhữốg Control thườốg dùốg
ThỌ t k gỌao ơỌệố ốg ờỌ ơùốg:
thThongTinHocVien: form (name="frm02HocVien.cs")
* (Cức thể hi ố phía dưới đ u ốằỐ troốg forỐ)
thHiốhAốh: PictureBox (xu t hìốh ốh)
thHoten: TextBox (ốh p ỏi u)
thNgayGhiDaốh: DateTiỐePicker (ốh p ỏi u)
thGroupGioiTinh: GroupBox (gom nhóm)
Trang 8 thGioiTinhNam: RadioButton (ốh p ỏi u)
thGioiTinhNu: RadioButton (ốh p ỏi u)
thGroupBoxSoThich: GroupBox (gom nhóm)
thDocSach: CheckBox (ốh p ỏi u)
thXeỐPhiỐ: CheckBox (ốh p ỏi u)
thNgheNhac: CheckBox (ốh p ỏi u)
thDuLich: CheckBox (ốh p ỏi u)
thCapNhat: Buttoố (xử ỏý xu t thẾốg bứo Đã c p ốh t thậốh cẾốg)
thTheỐMoi: Buttoố (xử ỏý xỹa tr ốg cức đi u khiểố đưa coố tr ỏêố họ têố)
thDoốgForỐ: Buttoố (xử ỏý đỹốg ForỐ)
2.2 Thông tin hàng hóa
Yêu Ơầu: T o forỐ hiểố th thẾốg tiố Hậốg hỹa ốhư sau
Trang 9Hình 2: Màn hình ốh p thông tin hàng hóa
H ốg ơ ố s ơ ốg:
Nh p têố hậốg, s ỏượốg, tổốg ti ố, thaốh toứố, v ố chuyểố rồi Cỏick ốềt ch c ốăốg
xu t ra TextBox hoặc xu t ra MessageBox để xeỐ
TóỐ tắt yêu Ơầu
ThỌ t k gỌao ơỌệố ốg ờỌ ơùốg:
thThongTinHangHoa: form (name="frm02HangHoa.cs")
* (Cức thể hi ố phía dưới đ u ốằỐ troốg forỐ)
thThongTinHang: GroupBox (gom nhóm)
thTenHang: TextBox (ốh p ỏi u)
thSoLuoốg: TextBox (ốh p ỏi u)
thToốgTieố: TextBox (ốh p ỏi u)
thThanhToan: GroupBox (gom nhóm)
thTieốMat: CheckBox (ốh p ỏi u)
thChuyeốKhoaố: CheckBox (ốh p ỏi u)
thVanChuyen: GroupBox (gom nhóm)
thXeOTo: RadioButton (ốh p ỏi u)
thTauHoa: RadioButton (ốh p ỏi u)
thMayBay: RadioButton (ốh p ỏi u)
thXuatRaTextBox: Buttoố (xử ỏý)
thXuatRaMessageBox: Buttoố (xử ỏý)
thLaỐLai: Buttoố (xử ỏý)
Trang 10 thXuatHaốg: TextBox (xu t thẾốg tiố)
Trang 11BÀI 3: KỌểu ơ lỌệu ộậ bỌ ố
Sử d ốg kiểu dữ ỏi u troốg C#, ốg d ốg cức kiểu dữ ỏi u để khai bứo bi ố
Áp d ốg cức k thu t chuyểố kiểu dữ ỏi u troốg C#
3.1 Tíốh Ơhu ộỌ ộậ ơỌệố tíƠh hìốh tròố
Yêu Ơầu: XẮy dựốg chươốg trìốh tíốh di ố tích và chu vi hình tròn
thTinhChuViDienTichHinhTron: form (name = “frỐ01HiốhTroố.cs”)
Text: Tíốh chu vi, di ố tích hìốh trẽố
Cức thể hi ố phía dưới ốằỐ troốg forỐ
thTieuDe: Labeỏ (hiểố th )
thBaốKiốh: TextBox (ốh p ỏi u)
thChuVi: TextBox (xu t thẾốg tiố)
thDieốTich: TextBox (xu t thẾốg tiố)
thTinh: Button (xử ỏý)
Trang 12 Khai bứo bi ố: bứố kíốh, di ố tích, chu vi
Nh ố giứ tr ốh p vậo cho bi ố bứố kíốh từ thể hi ố ốh p bứố kíốh
double banKinh, dienTich, chuVi;
banKinh = double Parse(txtBanKinh.Text);
chuVi = Math PI * banKinh * 2;
dienTich = Math PI * banKinh * banKinh;
txtChuVi.Text = Math Round(chuVi,2).ToString();
txtDienTich.Text = Math Round(dienTich,2).ToString();
}
Xử ỏý sự ki ố Cỏick c a Buttoố “LậỐ ỏ i”
private void btnLamLai_Click( object sender, EventArgs e)
{
txtBanKinh.Text = "" ; txtDienTich.Text = "" ; txtChuVi.Text = "" ; txtBanKinh.Focus();
}
3.2 Tíốh Ơhu ộỌ ộậ ơỌệố tíƠh hìốh Ơh ốh t (BậỌ ộ ốhậ)
Yêu Ơầu: XẮy dựốg chươốg trìốh tíốh chu vi vậ di ố tích hìốh chữ ốh t
Trang 13Hình 2: Màn hìốh tíốh chu vi, di ố tích hìốh chữ ốh t
H ốg ơ ố s ơ ốg:
Nh p chi u dậi, chi u rộốg rồi Cỏick Tíốh để xeỐ k t qu
TóỐ tắt yêu Ơầu:
ThỌ t k gỌao ơỌệố ốg ờỌ ơùng
thTinhChuViDienTichHinhChuNhat: form (name = frm02HinhChuNhat.cs)
Text: Tíốh chu vi, di ố tích hìốh chữ ốh t
Cức thể hi ố phía dưới đ u ốằm trên form
thChieuDai: TextBox (ốh p ỏi u)
thChieuRoốg: TextBox (ốh p ỏi u)
thChuVi: TextBox (xu t thẾốg tiố)
thDieốTich: TextBox (xu t thẾốg tiố)
Chu vi = (chi u dậi + chi u rộốg)*2;
Di ố tích = (chi u dậi * chi u rộốg)
Thu t gỌ Ọ
Khai bứo bi ố chi u dậi, chi u rộốg, di ố tích, chu vi kiểu s double
Trang 14 Nh ố giứ tr ốh p vậo cho bi ố chi u dậi, chi u rộng
Tíốh chu vi vậ di ố tích theo qui t c
Xu t chu vi ra thể hi ố chu vi, di ố tích ra thể hi ố di ố tích
H ốg ơ ố
Không có
3.3 Tíốh Ơhu ộỌ ộậ ơỌệố tíƠh taỐ gỌẬƠ
Yêu Ơầu:T o forỐ tíốh chu vi, di ố tích tam giác
Hình 3: Mậố hìốh tíốh chu vi, di ố tích tam giác
H ốg ơ ố s ơ ốg:
Nh p vậo chi u dậi 3 c ốh c a taỐ giức kiểu s thực double rồi cỏick Trườốg hợp
1 để xu t ra Chu vi, Di ố tích : kiểu s thực double
Nh p vậo chi u dậi 3 c ốh c a taỐ giức kiểu s thực int rồi cỏick Trườốg hợp 2 để
xu t ra Chu vi, Di ố tích : kiểu s thực double
Nh p vậo chi u dậi 3 c ốh c a taỐ giức kiểu s thực int rồi cỏick Trườốg hợp 3 để
xu t ra Chu vi, Di ố tích : kiểu s thực float
TóỐ tắt yêu Ơầu:
ThỌ t k gỌao ơỌệố ốg ờỌ dùng
thTinhChuViDienTichTamGiac: form (name=frm03TamGiac.cs)
Text = “Tíốh chu vi, di ố tích hìốh taỐ giức”
Cức thể hi ố phía dưới đ u ốằỐ troốg forỐ
thTieuDe: Labeỏ (hiểố th )
thCaốhA: TextBox (ốh p ỏi u)
thCaốhB: TextBox (ốh p ỏi u)
thCaốhC: TextBox (ốh p ỏi u)
thChuVi: TextBox (xu t thẾốg tiố)
thDienTich: TextBox (xu t thẾốg tiố)
Trang 15 ThỌ t k gỌao ơỌệố ốg ờỌ ơùng
thTinhSoNnut: form (name = frm04TinhSoNut.cs)
Text: Tíốh s ốềt
Cức thể hi ố phía dưới đ u ốằm trên form
Trang 16 thSoNguyenN: TextBox (ốh p ỏi u)
thSoNut: TextBox (xu t k t qu )
Khai bứo bi ố s ốguyêố ố vậ 4 bi ố s cho hậốg ốgậố, trăỐ, ch c, đơố v
Nh ố giứ tr s ốguyêố ố ốh p vậo
Dùốg toứố tử / vậ % để tứch hậốg ốgậố, trăỐ, ch c, đơố v từ s ố
Cộốg cức giứ tr hậốg ốgậố, trăỐ, ch c, đơố v vậ %10 ỏ y s ốềt
H ốg ơ ố
Không có
S ơ ốg kỌểu thaỐ ƠhỌ u
M Ơ tỌêu: Sử d ốg cức kiểu dữ ỏi u ỏo i thaỐ chi u
3.5 TẬƠh ƠhuỗỌ h têố
Yêu Ơầu: T o ForỐ tứch chuỗi họ têố
Hình 5: Mậố hìốh tứch chuỗi họ têố
H ốg ơ ố s ơ ốg:
Nh p họ têố vậ Cỏick ốềt Tứch chuỗi để tứch ra họ, ỏỹt, têố
Trang 17 TóỐ tắt yêu Ơầu:
ThỌ t k gỌao ơỌệố ốg ờỌ ơuốg
thTachChuoiHoTen: form (name = frm05TachChuoi.cs)
Text: Tứch chuỗi họ têố
Cức thể hi ố phía dưới đ u ốằm trên form
thHoTeố: TextBox (ốh p ỏi u)
thHo: TextBox (xu t thẾốg tiố)
thLot: TextBox (xu t thẾốg tiố)
thTeố: TextBox (xu t thẾốg tiố)
Khai bứo bi ố ốh ố họ têố ốh p vậo
Dùốg thuộc tíốh Leốgth vậ cức phươốg th c IốdexOf, LastIốdexOf, Substriốg c a
bi ố kiểu chuỗi để tíốh toứố vậ ỏ y cức ph ố họ, têố, ỏỹt
Trang 18 thBienThamChieu: form (name = frm06ThamChieu.cs)
Text: Bi ố thaỐ chi u
Cức thể hi ố phía dưới đ u ốằm trên form
thNhapS1: TextBox (ốh p ỏi u)
Trang 19- Khai bứo 2 bi ố kiểu StringBuilder vậ 2 bi ố s dùng chung trong Form
StringBuilder s1 = new StringBuilder (), s2 = new StringBuilder ();
- Xử ỏý sự ki ố Cỏick c a cức Buttoố ỏo i bi ố thaỐ chi u
private void btnCapNhatS1_Click( object sender, EventArgs e)
Trang 20BÀI 4: Cấu trềƠ đỌ u khỌểố
Sử d ốg cức c u trềc đi u khiển, cứch b y ỏỗi vậ xử ỏý ỏỗi troốg C#
ThỌ t k gỌao ơỌệố ốg ờỌ ơùng
thXepLoaiHocTap: form (name = frm01XepLoai.cs)
Text: X p ỏo i học t p
Cức thể hi ố phía dưới đ u ốằm trên form
thDiemHK1: TextBox (ốh p ỏi u)
thDieỐHK2: TextBox (ốh p ỏi u)
thXepLoai: TextBox (xu t thẾốg tiố)
Trang 21 ĐiểỐ truốg bìốh = (điểỐ HK1 + điểỐ HK2*2)/3
Tíốh X p ỏo i học t p, theo quy t c sau:
double diemHK1, diemHK2, dtb;
diemHK1 = double Parse(txtDiemHK1.Text);
diemHK2 = double Parse(txtDiemHK2.Text);
dtb = (diemHK1 + diemHK2 * 2) / 3;
string xepLoai= "" ;
if (dtb < 5) xepLoai = "Yếu" ;
else if (dtb < 6.5) xepLoai = "Trung bình" ;
else if (dtb < 8) xepLoai = "Khá" ;
else
xepLoai = "Giỏi" ; txtXepLoai.Text = xepLoai;
}
4.2 TìỐ ốgậy tr Ơ, ốgậy sau Ơủa Ố t ốgậy
Yêu Ơầu: T o forỐ tìỐ ốgậy trước, ốgậy ti p theo c a ốgậy ốh p vậo
Hình 2: Mậố hìốh tìỐ ốgậy trước, ốgậy ti p theo
Trang 22 thTimNgayTruocNgaySau: form (name = frm02NgayTruocNgaySau.cs)
Text: TìỐ ốgậy trước, ốgậy ti p theo
Cức thể hi ố phía dưới đ u ốằm trên form
thNgay: TextBox (ốh p ỏi u)
thNgayTruoc: TextBox (xu t thẾốg tiố)
thNgayTiepTheo: TextBox (xu t thẾốg tiố)
Trang 23 ThỌ t k gỌao ơỌệố ốg ờỌ ơùng
thTinhTienDien: form (name = frm03TienDien.cs)
Text: Tíốh ti ố đi ố
Cức thể hi ố phía dưới đ u ốằm trên form
thChiSoDau: TextBox (ốh p ỏi u)
thChiSoCuoi: TextBox (ốh p ỏi u)
thSoTieốPhaiDoốg: TextBox (xu t thẾốg tiố)
Trang 24Hình 4: Ốậố hìốh tíốh ốăỐ ẮỐ ỏ ch
H ốg ơ ố s ơ ốg:
Nh p ốăỐ dươốg ỏ ch rồi Cỏick ốềt Đồốg Ý để xeỐ ốăỐ ẮỐ ỏ ch tươốg ốg
Ví d : Nh p ốăỐ dươốg ỏ ch: 2009 ốăỐ ẮỐ ỏ ch: K sửu
TóỐ tắt yêu Ơầu:
ThỌ t k gỌao ơỌệố ốg ờỌ ơùng
thTinhNamAmLich: form (name = frm04NamAmLich.cs)
Text: Tíốh ốăỐ ẮỐ ỏ ch
Cức thể hi ố phía dưới đ u ốằm trên form
thNamDuongLich: TextBox (hiểố th )
thNaỐAỐLich: TextBox (xu t thẾốg tiố)
Trang 25 ThỌ t k gỌao ơỌệố ốg ờỌ ơùng
thTinhSoNgayTrongThang: form (name = frm05SoNgayTrongThang.cs)
Text: Tíốh s ốgậy troốg thứốg
Cức thể hi ố phía dưới đ u ốằm trên form
thThaốg: TextBox (ốh p ỏi u)
thNaỐ: TextBox (ốh p ỏi u)
thSoNgay: TextBox (xu t thẾốg tiố)
Thứốg 2 ốăỐ ốhu ố: cỹ 29 ốgậy, ốăỐ thườốg cỹ 28 ốgậy
NăỐ ốhu ố ỏậ ốăỐ chia h t cho 400 hoặc ốăỐ chia h t cho 4 vậ khẾốg chia h t cho 100
Trang 26 Thu t gỌ Ọ
Không có
H ốg ơ ố
Không có
4.6 Tíốh ốgậy Ơủa Ốẹ, ốgậy Ơủa Ơha (BậỌ ộ ốhậ)
Yêu Ơầu: T o froỐ tíốh ốgậy c a Ốẹ vậ ốgậy c a cha theo hìốh sau
Hình 6: Mậố hìốh tíốh ốgậy c a Ốẹ, ốgậy c a cha
H ốg ơ ố s ơ ốg:
Nh p ốăỐ dươốg ỏ ch rồi Cỏick ốềt Tíốh để xeỐ ốgậy c a Ốẹ, ốgậy c a cha
TóỐ tắt yêu Ơầu:
ThỌ t k gỌao ơỌệố ốg ờỌ ơuốg
thNgayMeNgayCha: form (name = frm06NgayMeNgayCha.cs)
Text: Ngậy c a Ốẹ, ốgậy c a cha
Cức thể hi ố phía dưới đ u ốằm trên form
thNam: TextBox (ốh p ỏi u)
thNgayCuaMe: TextBox (xu t thẾốg tiố)
thNgayCuaCha: TextBox (xu t thẾốg tiố)
Ngậy c a Ốẹ ỏậ ốgậy ch ốh t th 2 c a thứốg 5 hậốg ốăỐ
Ngậy c a cha ỏậ ốgậy ch ốh t th 3 c a thứốg 6 hậốg ốăỐ
Trang 27 Thu t gỌ Ọ
Không có
H ốg ơ ố
Sử d ốg c u trềc switch vậ cức thuộc tíốh, phươốg th c c a kiểu DateTiỐe
4.7 Iố b ốg Ơ u Ơh ốg Ơủa Ố t s
Yêu Ơầu: T o forỐ iố ra Ốột b ốg cửu chươốg ốhư hìốh sau
Hình 7: Ốậố hìốh iố Ốột b ốg cửu chươốg
H ốg ơ ố s ơ ốg:
Nh p Ốột s ốguyêố từ 2 đ ố 9 rồi Cỏick ốềt Iố b ốg cửu chươốg để xeỐ b ốg cửu chươốg
TóỐ tắt yêu Ơầu:
ThỌ t k gỌao ơỌệố ốg ờỌ ơùng
thInMotBangCuuChuong: form (name = frm07MotBangCuuChuong.cs)
Text: Iố Ốột b ốg cửu chươốg
Cức thể hi ố phía dưới đ u ốằm trên form
thNhapSoNguyen: TextBox (ốh p ỏi u)
Trang 28StringBuilder strb = new StringBuilder();
for (int i = 1; i <= 10; i++)
Yêu Ơầu: T o froỐ iố cức b ốg cửu chươốg từ, đ ố ốhư hìốh sau
Hình 8: Ốậố hìốh iố cức b ốg cửu chươốg từ đ ố
H ốg ơ ố s ơ ốg:
Nh p b ốg cửu chươốg từ, b ốg cửu chươốg đ ố rồi Cỏick ốềt Iố b ốg cửu chươốg để xeỐ cức b ốg cửu chươốg
TóỐ tắt yêu Ơầu:
ThỌ t k gỌao ơỌệố ốg ờỌ ơùng
thInBangCuuChuongTuSoDenSo: form (name = frm08BangCuuChuongTuDen.cs)
Text: Iố b ốg cửu chươốg
Cức thể hi ố phía dưới đ u ốằm trên form
thIốBaốgCuuChuoốg: Buttoố (xử ỏý)
thBangCuuChuongTuSo: TextBox (ốh p ỏi u)
Trang 29 thBaốgCuuChuoốgDeốSo: TextBox (ốh p ỏi u)
thCacBaốgCuuChuoốg: Labeỏ (xu t thẾốg tiố)
Ví d : N u b ố gởi 10 tri u với ỏãi su t 12%/ốăỐ vậ gởi troốg 6 thứốg, thì ti ố ỏãi
cu i kỳ được tíốh ốhư sau:
Lãi su t thứốg = (12/12)/100 0.01 ThángTiểố g c + Lãi Ti ố ỏãi thứốg
Trang 30 ThỌ t k gỌao ơỌệố ốg ờỌ ơùng
thLaiSuatNganHang: form (name = frm09NganHang.cs)
Text: Tíốh ỏãi su t ốgẮố hậốg
Cức thể hi ố phía dưới đ u ốằm trên form
thTienGoc: TextBox (ốh p ỏi u)
thLaiSuat: TextBox (ốh p ỏi u)
thSoThaốgGoi: TextBox (ốh p ỏi u)
thSoDu: TextBox (xu t thẾốg tiố)
thTieốLai: TextBox (xu t thẾốg tiố)
Ti ố ỏãi Ốỗi thứốg s được gộp chuốg vậo ti ố g c
Ti ố ỏãi cu i kỳ s được tíốh ỏũy ti ố từ ti ố ỏãi Ốỗi thứốg + ti ố g c
Thu t gỌ Ọ
Không có
H ốg ơ ố
Không có
Trang 314.10 Th Ơ hỌệố l Ọ ƠẬƠ bậỌ 3.8, 3.9 và 3.10 bằốg ƠẬƠh ơùốg ộòốg lặp ỚhỌlƢ,
ơo ỚhỌlƢ (BậỌ ộ ốhậ)
Trang 32BÀI 5: KỌểu Array và kỌểu Struct
Khai bứo vậ sử d ốg Ố ốg Ốột chi u troốg C#
XẮy dựốg vậ sử d ốg kiểu dữ ỏi u do ốgười dùốg đ ốh ốghĩa (struct)
5.1 LậỐ ộỌệƠ ộ Ọ Ố ốg
Yêu Ơầu: T o forỐ ỏậỐ vi c với Ố ốg ốhư hìốh sau
Hình 1: Mậố hìốh ỏậỐ vi c với Ố ốg
H ốg ơ ố s ơ ốg:
Nh p vậo s ph ố tử Ố ốg rồi Cỏick ốềt T o Ố ốg để phứt siốh Ố ốg với cức giứ
tr ốg u ốhiêố Cỏick cức ốềt ch c ốăốg để xeỐ k t qu
TóỐ tắt yêu Ơầu:
ThỌ t k gỌao ơỌệố ốg ờỌ ơùng
thLamViecVoiMang: form (name = frm01Mang.cs)
Text: LậỐ vi c với Ố ốg
Cức thể hi ố phía dưới đ u ốằm trên form
thSoPhanTuMang: TextBox (ốh p ỏi u)
thMaốgSoNguyeố: TextBox (xu t thẾốg tiố)
thGiaTriX: TextBox (ốh p ỏi u)
thTaoMaốg: Buttoố (xử ỏý t o Ố ốg)
thPhaốTuLoốNhat: Buttoố (xử ỏý tìỐ ph ố tử ỏớố ốh t)
Trang 33 thSapXepTaốgDaố: Buttoố (xử ỏý s p Ố ốg tăốg d ố)
M ốg s ốguyêố với cức giứ tr ốg u ốhiêố
Giứ tr ốh ốh t; ỏớố ốh t; tổốg cức ph ố tử; k t qu tìm X qua MessageBox
// T o Ố ốg s ốguyêố a với kích thước bằốg s ph ố tử vừa ốh p
int n = int.Parse(txtso_phan_tu.Text);a = new int[n];
// Khởi t o Ố ốg s ốguyêố a với cức ph ố tử cỹ giứ tr ốg u ốhiêố từ -50 đ ố 100
Random ngau_nhien=new Random();
for (int i=0;i<a.Length;i++)
a[i]=ngau_nhien.Next(-50,101);
// Xu t Ố ốg s ốguyêố a ỏêố Ốậố hìốh string chuoi_a=a[0].ToString();
for (int i=1;i<a.Length;i++) chuoi_a=string.Format("{0} {1}",chuoi_a,a[i]);
Trang 34//Thậốh ph ố dữ ỏi u
public string hoTen;
public DateTime ngaySinh;
public float heSoLuong;
public int luongCoBan;
public int? soCon;
TóỐ tắt yêu Ơầu:
QuỌ tắƠ ớ lý
XẮy dựốg hàm tíốh ỏươốg, với:
Ti ố ỏươốg = Lươốg cơ b ố * H s ỏươốg + ( S coố * 100000)
XẮy dựốg hàm xu t thẾốg tiố ốhẮố viêố ra Ốậố hìốh cỹ d ốg:
“Nguyễố Thaốh Thềy – 32 tuổỌ – S Ơoố: 2 – TỌ ố l ốg: 2500000
Thu t gỌ Ọ
Không có
H ốg ơ ố
XẮy dựốg hàm khởi t o cho c u trềc NhaốVien
public NhanVien( string hoTen, DateTime ngaySinh, float heSoLuong, int luongCoBan, int ? soCon)
{
this hoTen = hoTen;
this ngaySinh = ngaySinh;
this heSoLuong = heSoLuong;
this luongCoBan = luongCoBan;
this soCon = soCon;
}
XẮy dựốg hàm tíốh ti ố ỏươốg cho ốhẮố viêố:
public float TinhLuong() {
return luongCoBan * heSoLuong+ (soCon.HasValue ? soCon.Value * 100000 : 0); }
XẮy dựốg hàm xu t để hiểố th thẾốg tiố c a ốhẮố viêố:
public string Xuat() {
int tuoi, con;
tuoi = DateTime Today.Year - ngaySinh.Year;
con = soCon.HasValue ? soCon.Value : 0;
Trang 35return string Format( "{0} - ạ1ả tuổi - S coố: ạ2ả - Ti ố ỏươốg: ạ3ả" , hoTen, tuoi, con, TinhLuong());
ThỌ t k gỌao ơỌệố ốg ờỌ ơuốg
thNhapThongTinNhanVien: form (name = frm02NhanVien.cs)
Text: Sử d ốg kiểu tự đ ốh ốghĩa (struct)
Cức thể hi ố phía dưới đ u ốằm trên form
thHoTen: TextBox (ốh p ỏi u)
thNgaySiốh: TextBox (ốh p ỏi u)
thHeSoLuoốg: TextBox (ốh p ỏi u)
thLuoốgCoBaố: TextBox (ốh p ỏi u)
thSoCoố: TextBox (ốh p ỏi u)
thDoốgY: Buttoố (xử ỏý xu t thẾốg tiố)
thLamLai: Buttoố (xử ỏý xỹa tr ốg cức Ế vậ đưa coố tr ỏêố họ têố)
Nh p
Họ têố, ốgậy siốh, h s ỏươốg, ỏươốg cơ b ố, s coố
Xuất
Trang 36nv.ngaySinh = DateTime Parse(txtNgaySinh.Text);
nv.luongCoBan = int Parse(txtLuongCoBan.Text);
nv.heSoLuong = float Parse(txtHeSoLuong.Text);
nv.soCon = txtSoCon.Text != "" ? ( int ?) int Parse(txtSoCon.Text) : null ;
MessageBox Show(nv.Xuat(), "Thông tin" );
public string tenHang;
public float soLuong;
public int donGia;
Trang 37return string Format( "{0,-15}{1,10}{2,10:N0}{3,15:N0}" , tenHang, soLuong, donGia, ThanhTien());
ThỌ t k gỌao ơỌệố ốg ờỌ ơuốg
thNhapHangHoa: form (name = frm03HangHoa.cs)
Text: Nh p hậốg hỹa
Cức thể hi ố phía dưới đ u ốằm trên form
thTenHang: TextBox (ốh p ỏi u)
thSoLuoốg: TextBox (ốh p ỏi u)
thDoốGia: TextBox (ốh p ỏi u)
thDoốgY: Buttoố (xử ỏý xu t daốh sứch hậốg)
thLaỐLai: Buttoố (xử ỏý)
thDaốhSachHaốgHoa: TextBox (xu t thẾốg tiố)
thToốgTieố: TextBox (xu t thẾốg tiố)
Nh p
Têố hậốg, s ỏượốg, đơố giứ
Xuất
Trang 38 Daốh sứch hậốg hỹa được ốh p
hh.soLuong = float Parse(txtSoLuong.Text);
hh.donGia = int Parse(txtDonGia.Text);
Array Resize( ref ds, ds.Length + 1);
StringBuilder sb = new StringBuilder();
sb.AppendLine( string Format("{0,-15}{1,10}{2,10}{3,15}","Mặt hậốg","S ỏượốg","Đơố giứ","Thậốh ti ố"));
foreach ( HangHoa hh in ds) sb.AppendLine(hh.Xuat());
return tongTien;
}
Trang 39 Nh p giứ tr cho cức h s c a phươốg trìốh
Nh ố vậo ốềt ch c ốăốg GỌ Ọ xeỐ k t qu ốghi Ố s
Nh ố vậo ốềt LậỐ l Ọ ố u Ốu ố gi i phươốg trìốh Ốới
Thuộc tíốh (Auto-Implemented Properties)
HeSoA: kiểu fỏoat
HeSoB: kiểu fỏoat
Phươốg th c khởi t o (Constructors)
PhuongTrinhBac1()
PhuongTrinhBac1(float heSoA, float heSoB)
Trang 40 Gứố giứ tr cho cức thuộc tíốh HeSoA, HeSoB
Phươốg th c xử ỏý tính toán - Method
ThỌ t k gỌao ơỌệố ốg ờỌ ơùốg:
thGiaiPhuongTrinhBac1: Windows Form
Foỏder ỏưu trữ: Bai06