1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Sử dụng ngôn ngữ c xây dựng một số mô đun phần mềm hỗ trợ công tác quản lý thư viện của các trường học

31 45 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 31
Dung lượng 1,75 MB

Nội dung

TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI KHOA: CÔNG NGHỆ THÔNG TIN KỲ THI KẾT THÚC HỌC PHẦN HỌC KỲ II NĂM HỌC 2020-2021 Đề tài tập lớn: Sử dụng ngôn ngữ C# xây dựng số mô đun phần mềm hỗ trợ công tác quản lý thư viện trường học Họ tên học viên/sinh viên Mã học viên/sinh viên : Bùi Tất Dương : 1811060364 Lớp Tên học phần Giảng viên hướng dẫn : ĐH8C2 : Công Nghệ Net : Vũ Văn Huân Hà Nội, ngày 25 tháng năm 2021 MỤC LỤC CHƯƠNG 1: TÀI LIỆU ĐẶC TẢ YÊU CẦU 1.1 ĐẶC TẢ YÊU CẦU 1.2 ĐẶC TẢ USECASE ❖ ĐĂNG NHẬP ❖ QUẢN LÝ SÁCH ❖ QUẢN LÝ LOẠI SÁCH ❖ QUẢN LÝ NHÀ TÁC GIẢ ❖ QUẢN LÝ THÔNG TIN SINH VIÊN ❖ QUẢN LÝ THỦ THƯ ❖ QUẢN LÝ MƯỢN TRẢ SÁCH 10 ❖ THÔNG KÊ BÁO CÁO 11 CHƯƠNG 2: THIẾT KẾ 12 2.1 BIỂU ĐỒ TUẦN TỰ 12 ❖ QUẢN LÝ THÔNG TIN SÁCH 12 ❖ QUẢN LÝ LOẠI SÁCH 13 ❖ QUẢN LÝ TÁC GIẢ 14 ❖ QUẢN LÝ SINH VIÊN 15 ❖ QUẢN LÝ THÔNG TIN THỦ THƯ 16 ❖ QUẢN LÝ MƯỢN TRẢ SÁCH 17 2.2 BIỂU ĐỒ LỚP 18 2.3 KẾT NỐI GIỮA CÁC BẢNG CSDL 18 CHƯƠNG 3: THIẾT KẾ GIAO DIỆN 19 CHƯƠNG 1: TÀI LIỆU ĐẶC TẢ YÊU CẦU 1.1 Đặc tả yêu cầu ❖ Biểu đờ usecase Hình Hình : Usecase tổng quát của hệ thống : Use case đối với quản trị Hình viên : Use case đới với thủ thư Hình : Usecase quản lý sách Hình : Usecase quản lý loại sách Hình : Usecase quản lý tác giả Hình : Usecase quản lý sinh viên Hình : Usecase quản lý mượn Hình : Usecase quản lý trả sách sách Hình 10 : Usecase thớng kê báo cáo 1.2 Đặc tả usecase ❖ Đăng nhập Brief admin user đăng nhập vào hệ thống Description Preconditions Hệ thống chưa đăng nhập Post-Conditions Nếu chức thành công, người dùng đăng nhập vào hệ thống, ngược lại hệ thống không thay đổi Actor Input System Response Từ giao diện chưa đăng nhập, người dùng nhấn nút “Đăng nhập” Hiển thị form đăng nhập Flow of event Nhập tên người dùng và mật khẩu vào khung, nhấn nút đăng nhập Hệ thống kiểm tra tên người dùng, mật khẩu có hợp lệ khơng, sai thông báo không hợp lệ, ngược lại thông báo đăng nhập thành công Lặp lại luồng hệ thống báo lỗi Lặp lại luồng khơng cịn lỗi nhập từ người dùng ❖ Quản lý sách ➢ Xóa sách Brief Description Cho phép Actor xóa sách Precondition Đăng nhập với vai trị admin Post-conditions Nếu thành cơng sách xóa khỏi hệ thớng Actor input System respone Giao diện chính, mở Form quản lý sách Hiển thị Form quản lý sách Chọn sách cần xóa chọn xóa Flow of event Xác nhận bạn ḿn xóa khơng Chọn yes ḿn xóa, no khơng ḿn Sản phẩm xóa khỏi danh sách ➢ Thêm sách Brief Description Cho phép Actor thêm sách Precondition Đăng nhập với vai trò admin Post-conditions Nếu thành cơng sách thêm vào Actor input System respone Giao diện chính, mở Form quản lý sách Hiển thị Form quản lý sách Chọn nút thêm sách Flow of event Hiển thị form nhập thông tin Điền thông tin sách, chọn lưu Sách thêm vào ➢ Sửa thông tin sản phẩm Brief Description Cho phép Actor sửa thơng tin sách Precondition Đăng nhập với vai trị admin Post-conditions Nếu thành cơng thơng tin sách cập nhật Actor input System respone Giao diện chính, mở Form quản lý sách Hiển thị Form quản lý sách Chọn sách cần sửa chọn sửa Flow of event Hiển thị form nhập thông tin Nhập thông tin và lưu Thông tin sách cập nhật ❖ Quản lý loại sách ➢ Xóa loại sách Cho phép Actor xóa loại sách Brief Description Đăng nhập với vai trò admin Precondition Post-conditions Nếu thành cơng loại xóa khỏi hệ thống Actor input System respone Giao diện chính, mở Form quản lý loại sách Hiển thị Form quản lý loại sách Chọn loại sách cần xóa, nhấn xóa Flow of event Xác nhận bạn ḿn xóa khơng Chọn yes ḿn xóa, no khơng ḿn Một loại sách xóa khỏi danh sách ➢ Thêm loại sách Brief Description Cho phép Actor thêm loại sách Precondition Đăng nhập với vai trị admin Post-conditions Nếu thành cơng loại sách thêm Actor input System respone Giao diện chính, mở Form quản lý loại sách Hiển thị Form quản lý loại sách Chọn thêm loại sách Flow of event Hiển thị Form nhập loại sách Nhập thông tin loại sách mới, chọn lưu Thêm loại sách ➢ Sửa loại sách Brief Description Cho phép Actor cập nhật loại sách Precondition Đăng nhập với vai trò admin Post-conditions Nếu thành cơng cập nhật loại sách Actor input System respone Giao diện chính, mở Form quản lý loại sách Hiển thị Form quản lý loại sách Chọn loại sách cần sửa chọn sửa Flow of event Hiển thị form sửa danh mục Nhập thông tin danh mục, chọn lưu Cập nhật thông tin danh mục ❖ Quản lý nhà tác giả ➢ Thêm nhà tác giả Brief Cho phép Actor thêm tác giả Description Precondition Đăng nhập với vai trò admin Post-conditions Nếu thành cơng tác giả thêm vào Actor input System respone Giao diện chính, mở Form tác giả Hiển thị Form tác giả Chọn thêm Hiển thị form điền thông tin Flow of event Nhập thông tin tác giả, chọn lưu Thêm tác giả vào danh sách ➢ Xóa tác giả Cho phép Actor xóa tác giả Brief Description Đăng nhập với vai trò admin Precondition Post-conditions Nếu thành cơng tác giả xóa khỏi hệ thớng Actor input System respone Giao diện chính, mở Form tác giả Hiển thị Form tác giả Chọn tác giả cần xóa, nhấn xóa Flow of event Xác nhận bạn ḿn xóa khơng Chọn yes ḿn xóa, no khơng ḿn Xóa tên tác giả khỏi hệ thớng ➢ Sửa thông tin tác giả Brief Cho phép Actor sửa thông tin tác giả Description Precondition Đăng nhập với vai trò admin Post-conditions Nếu thành cơng thơng tin tác giả cập nhật Actor input System respone Giao diện chính, mở Form tác giả Hiển thị Form tác giả Chọn tác giả cần sửa, nhấn sửa Flow of event Hiển thị form điền thông tin Nhập thông tin tác giả, chọn lưu Cập nhật thông tin tác giả ❖ Quản lý thông tin sinh viên ➢ Thêm thông tin sinh viên Brief Description Cho phép Actor thêm sinh viên Precondition Đăng nhập với vai trò admin user Post-conditions Nếu thành cơng thơng tin sinh viên thêm vào Actor input System respone Giao diện chính, mở Form quản lý sinh viên Flow of event Hiển thị Form quản lý sinh viên Chọn thêm Hiển thị form điền thông tin Nhập thông tin sinh viên, chọn lưu Thêm sinh viên vào danh sách ➢ Xóa thơng tin sinh viên Cho phép Actor xóa sinh viên Brief Description Đăng nhập với vai trò admin user Precondition Post-conditions Nếu thành cơng tác giả xóa khỏi hệ thớng Actor input System respone Giao diện chính, mở Form quản lý sinh viên Hiển thị Form quản lý sinh viên Chọn sinh viên cần xóa, nhấn xóa Flow of event Xác nhận bạn ḿn xóa khơng Chọn yes ḿn xóa, no khơng ḿn Xóa sinh viên khỏi hệ thống ➢ Sửa thông tin sinh viên Brief Description Cho phép Actor sửa thông tin sinh viên Precondition Đăng nhập với vai trò admin user Post-conditions Nếu thành cơng thơng tin sinh viên cập nhật Actor input System respone Giao diện chính, mở Form quản lý sinh viên Hiển thị Form quản lý sinh viên ❖ Quản lý sinh viên ➢ Thêm sinh viên ➢ Sửa thông tin sinh viên ➢ Xố thơng tin sinh viên 15 ❖ Quản lý thông tin thủ thư ➢ Thêm thủ thư ➢ Sửa thơng tin thủ thư ➢ Xố thông tin sinh viên 16 ❖ Quản lý mượn trả sách ➢ mượn sách ➢ Trả sách ❖ Thống kê báo cáo 17 2.2 Biểu đồ lớp Hình 11 : Biểu đồ lớp 2.3 Kết nối bảng CSDL Hình 12 : Kết nới bảng CSDL 18 CHƯƠNG 3: THIẾT KẾ GIAO DIỆN ➢ Thiết kế giao diện main ➢ Thiết kế giao diện Form đăng nhập Hình 14 : Form đăng nhập Hình 13 :Form main ➢ Thiết kế giao diện quản lý tác giả ➢ Thiết kế giao diện quản lý loại sách Hình 15 : Form quản lý tác giả Hình 16 : Form quản lý loại sách 19 ➢ Thiết kế giao diện quản lý sách ➢ Giao diện quản lý sinh viên Hình 17 : Form quản lý sách Hình 18 : Form quản lý SV ➢ Thiết kế giao điện quản lý thủ thư ➢ Thiết kế giao điện mượn sách Hình 19 : Form quản lý thủ thư ➢ Thiết kế giao điện mượn sách Hình 20 : Form mượn sách ➢ Thiết kế giao điện thống kê báo cáo Hình 21 : Form trả sách Hình 22 : Form báo cáo 20 Tài liệu tham khảo [1] GitHub - NguyenPhiKhang/Library_Management: Phần mềm Quản lý thư viện + DevExpress [2] Code phần mềm quản lý thư viện c# kèm báo cáo - Blog hỗ trợ (bloghotro.com) [3] Full code phần mềm quản lý thư viện sách C# (sharecode.vn) [4] Full Source Code Đồ Án Quản Lý Thư Viện C#, Database Tải Miễn Phí (congdongcviet.com) [5] Source code quản lý thư viện C# (sharecode.vn) Phụ Lục Code form thủ thư conn.Open(); string them = "insert into T_DN values(N'" + txt_matk.Text + "',N'" Thêm Thủ Thư + txt_tentk.Text + "',N'" + txt_mk.Text + "','" + txt_ht + "',N'" + txt_quyen.Text + "')"; SqlCommand cmd = new SqlCommand(them, conn); cmd.ExecuteNonQuery(); conn.Close(); napdulieu(); Sửa Thông Tin Thủ Thư conn.Open(); string sua = "update T_DN set taikhoan = N'" + txt_tentk.Text + @"',matkhau = N'" + txt_mk.Text + @"', hoten = '" + txt_ht.Text + "', quyen = N'" + txt_quyen.Text + @"' where (matk =N'" + txt_matk.Text + @"')"; SqlCommand cmd = new SqlCommand(sua, conn); cmd.ExecuteNonQuery(); conn.Close(); napdulieu(); Xóa Thơng Tin Thủ Thư conn.Open(); if (txt_matk.Text == "") { MessageBox.Show("Chưa chọn liệu cần sữa!"); } else { string xoa = txt_matk.Text; string del = "delete from T_DN where maTK=N'" + xoa + "'"; SqlCommand cmd = new SqlCommand(del, conn); DialogResult result = MessageBox.Show("Bạn có chắn ḿn xố khơng ?", "Thơng báo", MessageBoxButtons.OKCancel); if (result == DialogResult.OK) { cmd.ExecuteNonQuery(); napdulieu(); } } conn.Close(); Code form đăng nhập private string getquyen() { string quyen = ""; conn.Open(); string sqlSelect = "Select* from T_DN where taikhoan ='" + Phân quyền txt_tk.Text + "'and matkhau = '" + txt_mk.Text + "'"; SqlDataAdapter dt = new SqlDataAdapter(sqlSelect, conn); DataTable dta = new DataTable(); dt.Fill(dta); foreach (DataRow dr in dta.Rows) { quyen = dr["quyen"].ToString(); } conn.Close(); return quyen; } quyen = getquyen(); if (quyen == "admin") { Đăng Nhập MessageBox.Show("Bạn đăng nhập thành công với quyền Admin!!!"); this.Hide(); F_MAIN main = new F_MAIN(); main.Show(); } else { if (quyen == "user") { MessageBox.Show("Bạn đăng nhập thành công với quyền User!!!"); this.Hide(); F_MAIN main = new F_MAIN(); main.Show(); } else { MessageBox.Show("Tài khoản mật khẩu khơng xác"); txt_dangnhap.Text = ""; txt_pass.Text = ""; txt_dangnhap.Focus(); } } Code form quản lý sinh viên conn.Open(); string them = "insert into T_SV values(N'" + txt_masv.Text + "',N'" Thêm sinh viên + txt_tensv.Text + "',N'" + txt_lop.Text + "','" + ngaysinh.ToString("MM/dd/yyyy") + "',N'" + txt_gt.Text + "',N'" + txt_sdt.Text + "')"; SqlCommand cmd = new SqlCommand(them, conn); cmd.ExecuteNonQuery(); conn.Close(); napdulieu(); Sửa Thông Tin Sinh Viên conn.Open(); string sua = "update T_SV set tensv = N'" + txt_tensv.Text + @"',lop = N'" + txt_lop.Text + @"', date = '" + ngaysinh + "', gioitinh = N'" + txt_gt.Text + @"', sdt = N'" + txt_sdt.Text + @"' where (masv =N'" + txt_masv.Text + @"')"; SqlCommand cmd = new SqlCommand(sua, conn); cmd.ExecuteNonQuery(); conn.Close(); napdulieu(); conn.Open(); if (txt_masv.Text == "") { MessageBox.Show("Chưa chọn liệu cần sữa!"); } else { Xóa Thông Tin Sinh Viên string xoa = txt_masv.Text; string del = "delete from T_SV where masv= N'" + xoa + "'"; SqlCommand cmd = new SqlCommand(del, conn); DialogResult result = MessageBox.Show("Bạn có chắn ḿn xố khơng ?", "Thơng báo", MessageBoxButtons.OKCancel); if (result == DialogResult.OK) { cmd.ExecuteNonQuery(); napdulieu(); } } conn.Close(); code from tác giả Thêm thông tin tác giả conn.Open(); string them = "insert into T_TG values(N'" + txt_matg.Text + "',N'" + txt_tentg.Text + "')"; SqlCommand cmd = new SqlCommand(them, conn); cmd.ExecuteNonQuery(); conn.Close(); napdulieu(); conn.Open(); if (txt_matg.Text == "") xóa thơng tin tác giả { MessageBox.Show("Chưa chọn liệu cần sữa!"); } else { string xoa = txt_matg.Text; string del = "delete from T_TG where maTG = N'" + xoa + "'"; SqlCommand cmd = new SqlCommand(del, conn); DialogResult result = MessageBox.Show("Bạn có chắn ḿn xố khơng ?", "Thông báo", MessageBoxButtons.OKCancel); if (result == DialogResult.OK) { cmd.ExecuteNonQuery(); conn.Close(); } } conn.Open(); string sua = "update T_TG set tenTG = N'" + txt_tentg.Text + @"' sửa thông tin tác giả where (maTG =N'" + txt_matg.Text + @"')"; SqlCommand cmd = new SqlCommand(sua, conn); cmd.ExecuteNonQuery(); conn.Close(); napdulieu(); code form loại sách conn.Open(); Thêm thông tin loại sách string them = "insert into T_LOAI values(N'" + txt_maloai.Text + "',N'" + txt_tenloai.Text + "')"; SqlCommand cmd = new SqlCommand(them, conn); cmd.ExecuteNonQuery(); conn.Close(); napdulieu(); conn.Open(); xóa thơng tin loại sách if (txt_maloai.Text == "") { MessageBox.Show("Chưa chọn liệu cần sữa!"); } else { string xoa = txt_maloai.Text; string del = "delete from T_LOAI where maloai = N'" + xoa + "'"; SqlCommand cmd = new SqlCommand(del, conn); DialogResult result = MessageBox.Show("Bạn có chắn ḿn xố khơng ?", "Thơng báo", MessageBoxButtons.OKCancel); if (result == DialogResult.OK) { cmd.ExecuteNonQuery(); conn.Close(); } } conn.Open(); sửa thông tin loại string sua = "update T_LOAI set tenloai = N'" + txt_tenloai.Text + @"' where (maloai =N'" + txt_maloai.Text + @"')"; SqlCommand cmd = new SqlCommand(sua, conn); sách cmd.ExecuteNonQuery(); conn.Close(); napdulieu(); code form sách conn.Open(); Thêm thông tin sách string them = "insert into T_SACH values(N'" + txt_masach.Text + "',N'" + txt_tensach.Text + "',N'" + cb_loai.Text + "',N'" + cb_tg.Text + "',N'" + txt_soluong.Text + "')"; SqlCommand cmd = new SqlCommand(them, conn); cmd.ExecuteNonQuery(); conn.Close(); napdulieu(); conn.Open(); if (txt_masach.Text == "") { xóa thơng tin sách MessageBox.Show("Chưa chọn liệu cần sữa!"); } else { string xoa = txt_masach.Text; string del = "delete from T_SACH where masach= N'" + xoa + "'"; SqlCommand cmd = new SqlCommand(del, conn); DialogResult result = MessageBox.Show("Bạn có chắn ḿn xố khơng ?", "Thông báo", MessageBoxButtons.OKCancel); if (result == DialogResult.OK) { cmd.ExecuteNonQuery(); conn.Close(); } } conn.Open(); string sua = "update T_SACH set tensach = N'" + txt_tensach.Text + @"',maloai = N'" + cb_loai.Text + @"', maTG = N'" + cb_tg.Text + sửa thông tin sách @"',soluong = N'" + txt_soluong.Text + @"' where (masach =N'" + txt_masach.Text + @"')"; SqlCommand cmd = new SqlCommand(sua, conn); cmd.ExecuteNonQuery(); conn.Close(); napdulieu(); code form mượn sách int muon = int.Parse(txt_somuon.Text); int sl = int.Parse(txt_soluong.Text); if (muon > sl) { MessageBox.Show("Số Lượng Sách Mượn Quá Lớn!", "Error"); txt_somuon.Focus(); Mượn sách } else { DateTime ngaymuon = DateTime.Now; DateTime ngayhen = DateTime.Parse(txt_ngayhen.Text); string format = "MM-dd-yyyy"; conn.Open(); string them = "insert into T_MUONTRA (masv, masach, ngaymuon, ngayhentra,soluong) values('" + txt_masv.Text + "','" + txt_masach.Text + "','" + ngaymuon.ToString(format) + "','" + ngayhen.ToString(format) + "','" + txt_somuon.Text + "')"; SqlCommand cmd = new SqlCommand(them, conn); cmd.ExecuteNonQuery(); int = sl - muon; txt_soluong.Text = con.ToString(); string sua = "update T_SACH set soluong = N'" + + @"' where (masach =N'" + txt_masach.Text + @"')"; SqlCommand cmd1 = new SqlCommand(sua, conn); cmd1.ExecuteNonQuery(); conn.Close(); napdulieu(); code form trả sách DateTime ngaytra = DateTime.Now; string format = "MM-dd-yyyy"; conn.Open(); string them = "update T_MUONTRA set ngaytra = N'" + ngaytra.ToString(format) + @"' where(ID = '" + txt_id.Text + "')"; SqlCommand cmd = new SqlCommand(them, conn); cmd.ExecuteNonQuery(); Trả sách int sl = int.Parse(txt_soluong.Text); int muon = int.Parse(txt_somuon.Text); int bd = sl + muon; txt_soluong.Text = bd.ToString(); string sua = "update T_SACH set soluong = N'" + bd + @"' where (masach =N'" + txt_masach.Text + @"')"; SqlCommand cmd1 = new SqlCommand(sua, conn); cmd1.ExecuteNonQuery(); conn.Close(); napdulieu(); code form báo cáo Báo cáo CRmuontra rpt = new CRmuontra(); SqlConnection conn = new SqlConnection(chuoiketnoi); conn.Open(); string sql = "select T_SV.masv,T_SV.tensv, T_SACH.masach,T_SACH.tensach, T_MUONTRA.ngaymuon, T_MUONTRA.ngayhentra, T_MUONTRA.soluong, T_MUONTRA.ngaytra from T_MUONTRA inner join T_SV on T_SV.masv=T_MUONTRA.masv inner join T_SACH on T_SACH.masach=T_MUONTRA.masach"; SqlDataAdapter dap = new SqlDataAdapter(sql, conn); DataSet ds = new DataSet(); dap.Fill(ds); rpt.SetDataSource(ds.Tables[0]); CRV_MUONTRA.ReportSource = rpt; conn.Close(); ... where (masach =N'" + txt_masach.Text + @"')"; SqlCommand cmd1 = new SqlCommand(sua, conn); cmd1.ExecuteNonQuery(); conn.Close(); napdulieu(); code form báo c? ?o Báo c? ?o CRmuontra rpt = new CRmuontra();... thông tin t? ?c giả, chọn lưu Thêm t? ?c giả vào danh sách ➢ Xóa ta? ?c giả Cho phép Actor xóa t? ?c giả Brief Description Đăng nhập với vai trò admin Precondition Post-conditions Nếu thành c? ?ng t? ?c giả xóa... mượn Cho mượn sách thành c? ?ng 10 ➢ Trả Sách Brief Cho phép Actor cho sinh viên trả sách Description Precondition Đăng nhập với vai trò admin user Post-conditions Nếu thành c? ?ng sách trả Actor

Ngày đăng: 27/10/2021, 17:49

HÌNH ẢNH LIÊN QUAN

Hình 1: Usecase tổng quát của hệ thống - Sử dụng ngôn ngữ c xây dựng một số mô đun phần mềm hỗ trợ công tác quản lý thư viện của các trường học
Hình 1 Usecase tổng quát của hệ thống (Trang 3)
Hình 4: Usecase quản lý sách Hình 5: Usecase quản lý loại sách - Sử dụng ngôn ngữ c xây dựng một số mô đun phần mềm hỗ trợ công tác quản lý thư viện của các trường học
Hình 4 Usecase quản lý sách Hình 5: Usecase quản lý loại sách (Trang 4)
1.2 Đặc tả usecase - Sử dụng ngôn ngữ c xây dựng một số mô đun phần mềm hỗ trợ công tác quản lý thư viện của các trường học
1.2 Đặc tả usecase (Trang 5)
Hình 10 : Usecase thống kê báo cáo - Sử dụng ngôn ngữ c xây dựng một số mô đun phần mềm hỗ trợ công tác quản lý thư viện của các trường học
Hình 10 Usecase thống kê báo cáo (Trang 5)
Hình 1 1: Biểu đồ lớp - Sử dụng ngôn ngữ c xây dựng một số mô đun phần mềm hỗ trợ công tác quản lý thư viện của các trường học
Hình 1 1: Biểu đồ lớp (Trang 20)
2.3 Kết nối giữa các bảng CSDL - Sử dụng ngôn ngữ c xây dựng một số mô đun phần mềm hỗ trợ công tác quản lý thư viện của các trường học
2.3 Kết nối giữa các bảng CSDL (Trang 20)
Hình 13 :Form main - Sử dụng ngôn ngữ c xây dựng một số mô đun phần mềm hỗ trợ công tác quản lý thư viện của các trường học
Hình 13 Form main (Trang 21)
Hình 17 :Form quản lý sách - Sử dụng ngôn ngữ c xây dựng một số mô đun phần mềm hỗ trợ công tác quản lý thư viện của các trường học
Hình 17 Form quản lý sách (Trang 22)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w