HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA CÔNG NGHỆ ĐA PHƯƠNG TIỆN BÁO CÁO CUỐI KỲ MÔN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG C++ Đề tài Phát triển phần mềm quản lý sinh viên 2 LỜI CẢM ƠN Đầu tiên, em xin gửi l.
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA CƠNG NGHỆ ĐA PHƯƠNG TIỆN BÁO CÁO CUỐI KỲ MÔN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG C++ Đề tài: Phát triển phần mềm quản lý sinh viên LỜI CẢM ƠN Đầu tiên, em xin gửi lời cảm ơn sâu sắc đến Học viện Cơng nghệ Bưu Viễn thơng đưa học phần “Lập trình hướng đối tượng với C++” vào chương trình giảng dạy Đặc biệt, em xin gửi lời cảm ơn sâu sắc đến giảng viên môn thầy Tạ Chí Hiếu dạy dỗ, rèn luyện truyền đạt kiến thức quý báu cho em suốt học kỳ vừa qua Trong thời gian tham dự lớp học thầy, em tiếp thu học hỏi thêm nhiều kiến thức bổ ích, học tập tinh thần làm việc hiệu quả, nghiêm túc Đây thực điều cần thiết hữu ích cho q trình học tập cơng tác sau em Bộ mơn “Lập trình hướng đối tượng với C++” thực môn học thú vị bổ ích Tuy nhiên, tình hình dịch bệnh Covid-19 diễn biến căng thẳng, thời gian học tập, trao đổi thực hành thực tế giảng đường khơng nhiều Em cố gắng hồn thiện Báo cáo cuối kỳ nhiên hiểu biết kỹ môn học em cịn nhiều hạn chế Do đó, sản phẩm cuối đề tài mà em lựa chọn cịn có thiếu sót khía cạnh chưa chuẩn xác, kính mong giảng viên mơn xem xét góp ý cho em để Báo cáo cuối kỳ em hoàn thiện Em xin chân thành cảm ơn! Contents LỜI CẢM ƠN A GIỚI THIỆU Giới thiệu đề tài: I II Các chức có project Thêm sinh viên Xóa sinh viên Sửa thông tin sinh viên In danh sách sinh viên B MƠ HÌNH LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG 13 I Giới thiệu lập trình hướng đối tượng 13 II Đặc điểm lập trình hướng đối tượng 13 III Một số khái niệm Lập trình hướng đối tượng 13 Đối tượng (Object) 13 Lớp (Class) 13 Đóng gói liệu (Encapsulation) 13 Kế thừa (Inheritance) 14 Đa hình (Polymorphism) 14 Lập trình hướng đối tượng C++ 14 C PHÂN TÍCH DỰ ÁN 15 Class ngayThangNam 15 1.1 Thuộc tính 15 1.2 Các phương thức: 15 Class ThongTinCaNhan 18 2.1 Thuộc tính 18 2.2 Các phương thức 19 Class sinhvien: public ThongTinCaNhan (Kế thừa từ class ThongTinCaNhan ) 20 3.1 Thuộc tính 20 3.2 Các phương thức 20 Class sinhvienketoan : public sinhvien 22 4.1 Thuộc tính 22 4.2 Các phương thức 22 Class sinhviencongnghe : public sinhvien 23 5.1 Thuộc tính 23 5.2 Các phương thức 23 Class quanLyDanhSachSinhvien 24 6.1 Thuộc tính 24 6.2 Các phương thức 25 Các tính chất hướng đối tượng thể thơng qua chương trình quản lý sinh viên 29 7.1 Tính chất Hàm bạn ( friend function) 29 7.2 Tính trừu tượng hóa liệu (Data abstraction) liên quan tới việc cung cấp thơng tin cần thiết tới bên ngồi ẩn chi tiết sở chúng 29 7.3 Tính đóng gói 30 7.4 Tính kế thừa 31 7.5 Tính đa hình 31 D KẾT LUẬN 33 DANH MỤC HÌNH ẢNH Hình Giao diện chức thêm sinh viên Hình Giao diện xóa sinh viên Hình Giao diện sửa thơng tin sinh viên Hình Giao diện in danh sách sinh viên 10 Hình Giao diện in danh sách sinh viên kế toán 10 Hình Giao diện in danh sách sinh viên công nghệ thông tin 11 Hình Giao diện in danh sách sinh viên theo GPA 11 Hình Giao diện in danh sách sinh viên đạt phần thưởng từ nhà trường 12 Hình Miêu tả thuộc tính class ngày tháng năm 15 Hình 10 Miêu tả hàm khởi tạo tham số mặc định 15 Hình 11 Hàm khởi tạo có tham số 15 Hình 12 Hàm hủy 15 Hình 13 Hàn setter bảo đảm tính trừu tượng lập trình hướng đối tượng 16 Hình 14 Hàm setter thuộc tính 16 Hình 15 Hàm lấy đối tượng ngày tháng năm 16 Hình 16 Các hàm bạn 16 Hình 17 Kiểm tra năm nhuận 17 Hình 18 Kiểm tra ngày tháng năm 17 Hình 19 Kiểm tra ngày nhập có hợp lệ hay khơng 18 Hình 20 Nhập giá trị cho đối tượng 18 Hình 21 In hình thông tin dạnh dd/mm/yyyy 18 Hình 22 Các thuộc tính Class Hoten, quequan, ngaysinh 18 Hình 23 Hàm khởi tạo có tham số 19 Hình 24 Khởi tạo khơng tham số mặc định 19 Hình 25 Hủy đối tượng trả lại nhớ cho máy tính 19 Hình 26 Thiết lập giá trị thuộc tính cho đối tượng 19 Hình 27 Các hàm getter 19 Hình 28 In thơng tin cá nhân 20 Hình 29 Các thuộc tính 20 Hình 30 Hàm khởi tạo mặc định không tham số 20 Hình 31 Hàm khởi tạo có tham số 20 Hình 32 Hàm hủy đối tượng trả nhớ cho máy tính 20 Hình 33 Các hàm getter 21 Hình 34 Các hàm getter 21 Hình 35 Hàm in thơng tin hình 21 Hình 36 Hàm ảo 22 Hình 37 Hàm ảo 22 Hình 38 Hàm khởi tạo tham số 22 Hình 39 Hàm xét danh hiệu đa hình nạp chồng 23 Hình 40 Hàm phần thưởng đa hình nạp chồng 23 Hình 41 Hàm khởi tạo đối tượng sinh viên công nghệ 23 Hình 42 Hàm danh hiệu đa hình nạp chồng 24 Hình 43 Hàm phần thường đa hình nạp chồng 24 Hình 44 Các thuộc tính 24 Hình 45 Hàm khởi tạo danh sách 25 Hình 46 Hàm tăng đếm số 25 Hình 47 Hàm tạo sinh viên 25 Hình 48 Tìm sinh viên theo mã 26 Hình 49 Xóa sinh viên theo mã sinh viên 26 Hình 50 Sửa thơng tin sinh viên 27 Hình 51 Các sinh viên thuộc khoa CNTT xuất hình 27 Hình 52 Các sinh viên thuộc khoa kế tốn xuất hình 28 Hình 53 In tồn sinh viên hình 28 Hình 54 Xuất danh sách sinh viên kèm phần thưởng 28 Hình 55 Xuất danh sách sinh viên theo GPA 28 Hình 56 Sắp xếp danh sách sinh viên theo GPA 29 Hình 57 Hàm friend 29 Hình 58 Trường Private 29 Hình 59 Hàm xếp gọi hàm khác thuộc lớp quanlydanhsachsinhvien 30 Hình 60 Tính đóng gói 30 Hình 61 Tính kế thừa 31 Hình 62 Class sinhvienketoan đa hình từ Class sinhvien 31 Hình 63 Class sinhviencongnghe đa hình từ Class sinhvien 32 A GIỚI THIỆU I Giới thiệu đề tài: Với số lượng sinh viên lớn nhiều thơng tin nay, việc bổ sung chương trình quản lí sinh viên điều hồn tồn cần thiết, không giúp cán nhân viên giáo viên nhà trường cập nhật thông tin sinh viên, mà chương trình cịn giúp nhà trường đánh giá,xếp hạng, trao thưởng cho sinh viên có điểm GPA cao Có số phương pháp lập trình truyền thống lập trình tuyến tính, lập trình cấu trúc… Với lập trình tuyến tính số ứng dụng phức tạp khơng thể thực Trong với lập trình cấu trúc, khơng quản lí thay đổi liệu có nhiều chương trình sử dụng biến chung, không tiết kiệm tài nguyên… Để khắc phục số hạn chế trên, người ta xây dựng số mơ hình lập trình tiên tiến có lập trình hướng đối tượng Với thời lượng quy định báo cáo môn học dự án Nội dung nêu báo cáo tập trung vào hình lập trình hướng đối tượng II Các chức có project Thêm sinh viên Cán nhân viên thêm thông tin sinh viên vào danh sách tên sinh viên, ngày tháng năm sinh, quê quán, điểm số, mã lớp, mã sinh viên Hình Giao diện chức thêm sinh viên Xóa sinh viên Với sinh viên sai thơng tin, cán nhân viên xóa sinh viên có thơng tin sai Hình Giao diện xóa sinh viên Sửa thơng tin sinh viên Cán nhân viên bên cạnh việc xóa tồn liệu thơng tin sinh viên khỏi danh sách, cán nhân viên sửa thơng tin sinh viên Hình Giao diện sửa thông tin sinh viên In danh sách sinh viên Chương trình in danh sách sinh viên thêm, chí chương trình lọc danh sách sinh viên theo ngành, theo GPA tăng dần, danh sách sinh viên đủ điều kiện nhận phần thưởng nhà trường Hình Giao diện in danh sách sinh viên Hình Giao diện in danh sách sinh viên kế toán 10 2.2 Các phương thức 2.2.1 Hàm khởi tạo có tham số Hình 23 Hàm khởi tạo có tham số Khởi tạo đối tượng ThongTinCaNhan với thông tin người dùng u cầu 2.2.2 Hàm khởi tạo khơng có tham số Hình 24 Khởi tạo khơng tham số mặc định 2.2.3 Hàm hủy Hình 25 Hủy đối tượng trả lại nhớ cho máy tính 2.2.4 Các hàm setter Hình 26 Thiết lập giá trị thuộc tính cho đối tượng 2.2.5 Các hàm getter Hình 27 Các hàm getter Các hàm getter dùng để lấy thuộc tính class để đảm bảo tính trừu tượng lập trình hướng đối tượng 19 2.2.6 In thông tin cá nhân hình Hình 28 In thơng tin cá nhân Class sinhvien: public ThongTinCaNhan ThongTinCaNhan ) 3.1 Thuộc tính (Kế thừa từ class Hình 29 Các thuộc tính Các thuộc tính biểu diễn thơng tin sinh viên bao gồm tên khoa, lớp, mã số sinh viên điểm GPA 3.2 Các phương thức 3.2.1 Hàm khởi tạo khơng tham số Hình 30 Hàm khởi tạo mặc định khơng tham số 3.2.2 Hàm khởi tạo có tham số Khởi tạo đối tượng với tham số người dùng yêu cầu Ở có gọi lại hàm khởi tạo lớp thông tin cá nhân mà lớp sinh viên kế thừa Hình 31 Hàm khởi tạo có tham số 3.2.3 Hàm hủy Hình 32 Hàm hủy đối tượng trả nhớ cho máy tính 20 ... Thêm sinh viên Cán nhân viên thêm thông tin sinh viên vào danh sách tên sinh viên, ngày tháng năm sinh, quê quán, điểm số, mã lớp, mã sinh viên Hình Giao diện chức thêm sinh viên Xóa sinh viên. .. Hàm tạo sinh viên 25 Hình 48 Tìm sinh viên theo mã 26 Hình 49 Xóa sinh viên theo mã sinh viên 26 Hình 50 Sửa thông tin sinh viên 27 Hình 51 Các sinh viên thuộc... viên Với sinh viên sai thơng tin, cán nhân viên xóa sinh viên có thơng tin sai Hình Giao diện xóa sinh viên Sửa thông tin sinh viên Cán nhân viên bên cạnh việc xóa tồn liệu thơng tin sinh viên khỏi