1. Trang chủ
  2. » Luận Văn - Báo Cáo

LẬP TRÌNH HƯỚNG đối TƯỢNG đề tài QUẢN lý SINH VIÊN

31 23 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

Tiêu đề Quản Lý Sinh Viên
Trường học Học viện Công nghệ Bưu chính Viễn thông
Chuyên ngành Lập trình hướng đối tượng
Thể loại Báo cáo môn
Thành phố Hà Nội
Định dạng
Số trang 31
Dung lượng 749,57 KB
File đính kèm Quanlisinhvien.rar (376 KB)

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

BÁO CÁO NGUYEN HOANG HIEP B17DCPT247 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG Khoa Đa Phương Tiện BÁO CÁO MÔN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG ĐỀ TÀI QUẢN LÝ SINH VIÊN MỤC LỤC Table of Contents 1 Class ngayTh.

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

Khoa Đa Phương Tiện

Trang 2

1.2.1 Hàm khởi tạo không tham số 4

1.2.4 Các hàm getter các thuộc tính 51.2.5 Các hàm setter các thuộc tính 51.2.7 Các hàm bạn ( hàm Friend) 5

2.2.2 Hàm khởi tạo không có tham số 9

3.2.1 Hàm khởi tạo không tham số 10

4.2.2 Hàm xét danh hiệu được đa hình nạp chồng lại từ hàm xetdanhhieu ở

Trang 3

5.2.2 Hàm xét danh hiệu được đa hình nạp chồng lại từ hàm xetdanhhieu ở

6.2.2.Hàm tăng đếm số lượng sinh viên có trong danh sách 146.2.3.Hàm tạo một sinh viên mới khi có yêu cầu từ người dùng 156.2.4 Tìm sinh viên theo mã sinh viên được người dùng nhập vào 166.2.5 Xóa sinh viên theo mã sinh viên 166.2.6 Sửa thông tin sinh viên dựa vào MSSV mà người dùng nhập vào 176.2.7 Xuất danh sách sinh viên khoa công nghệ thông tin 18

7 Các tính chất hướng đối tượng được thể hiện thông qua chương trình quản lý

8.6 In danh sách sinh viên kế toán 288.7 In danh sách sinh viên công nghệ 288.8 In danh sách kèm theo danh hieu va phần thưởng 298.9 In danh sách sinh viên theo điểm gpa 30

Trang 4

1.2.1 Hàm khởi tạo không tham số

Hàm khởi tạo không tham số mặc định

1.2.2 Hàm khởi tạo có tham số

Khi tạo một đối tượng ngayThangNam mới ta có thể khởi tạo theo giá trị màngười dùng mong muốn bằng cach nhập vào các tham số ngay, thang, nam

1.2.3 Hàm hủy

Hủy đối tượng, trả lại bộ nhớ cho máy tính

Trang 5

1.2.6 Hàm lấy đối tượng ngayThangNam

- Hàm lấy ra đối tượng hiện ngayThangNam với các gái trị hiện tại

Trang 6

- Năm nhuận là năm chia hết cho 4 và không chia hết cho 100 hoặc là năm chiahết cho 400

1.2.7.2 kiểm tra ngày trong tháng

Trang 7

- Hàm trả về số ngày thuộc tháng được đưa vào nhằm hỗ trợ kiểm tra tính hợp lệcủa ngayThangNam nhập vào.

1.2.7.3 Kiểm tra ngày nhập vào có hợp lệ hay không.

Trang 8

Nếu ngày hợp lệ thì trả về true còn sai thì trả về false năm >0, tháng >=1, tháng

<=12, ngày phải đúng theo tháng

1.2.8 Hàm nhập data cho đối tượng từ bàn phím

Nhập các giá trị cho đối tượng

1.2.9 In ngày tháng năm ra màn hình dưới dạng dd/mm/yyyy

- In ra màn hình thông tin dưới dạng dd/mm/yyyy

2 class ThongTinCaNhan

2.1 Thuộc tính

Các thuộc tính thuộc class là hoTen, queQuan, ngaysinh biểu thị cho thông tin

cơ bản của một cá nhân

Trang 9

2.2 Phương thức

2.2.1 Hàm khởi tạo có tham số

Khởi tạo một đối tượng ThongTinCaNhan với các thông tin được người dùngyêu cầu

2.2.2 Hàm khởi tạo không có tham số

Khỏi tạo không tham số mặc định

Trang 10

2.2.6 In thông tin cá nhân ra màn hình.

3 Class sinhvien : publicThongTinCaNhan (Kế thừa từ class ThongTinCaNhan )

3.1 Các thuộc tính

Các thuộc tính biểu diễn thông tin cơ bản của một sinh viên bao gồm tên khoa,lớp, mã số sinh viên và điểm GPA

3.2 Các phương thức

3.2.1 Hàm khởi tạo không tham số

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 các tham số người dùng yêu cầu Ở đây có gọi lại hàmkhởi tạo của lớp thong tin cá nhân mà lớp sinh viên kế thừa

3.2.3 Hàm hủy

Hủy đối tượng trả bộ nhớ về cho máy tính

Trang 12

- Hàm ảo này tạo cơ sở cho nạp chồng đa hình cho các lớp kế thừa đa hình ởphía sau

3.2.8 Hàm ảo (Virtual function) xét phần thưởng cho sinh viên dành cho các lớp đa hình của lớp sinhvien ở phía sau.

- Hàm ảo này tạo cơ sở cho nạp chồng đa hình cho các lớp kế thừa đa hình ởphía sau

4 Class sinhvienketoan : public sinhvien

4.1 Các thuộc tính

Các thuộc tính ở đây được kế thừa từ class sinhvien

4.2 Các phương thức

Các phương thức getter/ setter được kế thừa từ lớp cơ sở class sinhvien

4.2.1 Hàm khởi tạo có tham số

Khởi tạo đối tượng sinh viên kế toán có sử dụng gọi lại phương thức khởi tạo ởlớp cha

4.2.2 Hàm xét danh hiệu được đa hình nạp chồng lại từ hàm xetdanhhieu ở lớp

cơ sở sinhvien

Trang 13

Tính chất đa hình được thể hiện qua hàm này Nó nạp chồng lại hàm này ở lớpcha Nó có chung tên chung kiểu và dữ liệu đầu vào nhưng sẽ trả về kết quảkhác nhau tùy đối tượng mà nó phụ thuộc

4.2.3 Hàm phần thưởng được đa hình nạp chồng lại từ hàm phanthuong ở lớp

cơ sở sinhvien

Tính chất đa hình được thể hiện qua hàm này Nó nạp chồng lại hàm này ở lớpcha Nó có chung tên chung kiểu và dữ liệu đầu vào nhưng sẽ trả về kết quảkhác nhau tùy đối tượng mà nó phụ thuộc

5 Class sinhviencongnghe : public sinhvien

5.1 Các thuộc tính

Các thuộc tính ở đây được kế thừa từ class sinhvien

5.2 Các phương thức

Các phương thức được kế thừa từ lớp cơ sở class sinhvien

5.2.1 Hàm khởi tạo có tham số

Khởi tạo đối tượng sinh viên công nghệ có sử dụng gọi lại phương thức khởi tạo

ở lớp cha

5.2.2 Hàm xét danh hiệu được đa hình nạp chồng lại từ hàm xetdanhhieu ở lớp

cơ sở sinhvien

Trang 14

Tính chất đa hình được thể hiện qua hàm này Nó nạp chồng lại hàm này ở lớpcha Nó có chung tên chung kiểu và dữ liệu đầu vào nhưng sẽ trả về kết quảkhác nhau tùy đối tượng mà nó phụ thuộc

5.2.3 Hàm phần thưởng được đa hình nạp chồng lại từ hàm phanthuong ở lớp

cơ sở sinhvien

Tính chất đa hình được thể hiện qua hàm này Nó nạp chồng lại hàm này ở lớpcha Nó có chung tên chung kiểu và dữ liệu đầu vào nhưng sẽ trả về kết quảkhác nhau tùy đối tượng mà nó phụ thuộc

6.2.1.Hàm khơi tạo danh sách

6.2.2.Hàm tăng đếm số lượng sinh viên có trong danh sách

-khởi tạo quản lý với số lượng sinhvien có trong danh sách =0

Trang 15

6.2.3.Hàm tạo một sinh viên mới khi có yêu cầu từ người dùng

- Hàm này thực hiện chức năng tạo một sinh viên từ dữ liệu mà ngườidùng nhập vào từ bàn phím

Trang 16

- Ở đây có sử dụng con trỏ đa hình tức là cùng là con trỏ sinhvien nhưng

có thể biểu hiện cho sinhvienketoan hoặc là sinhviencongnghe

- khi nhập các thông tin của sinh viên vào nếu là sinh viên thuộc cácngành quy định thì sẽ thêm sinh viên vào ngành tương ứng nếu không thì trả vềNULL

6.2.4 Tìm sinh viên theo mã sinh viên được người dùng nhập vào.

- Duyệt lần lượt danh sách sinh viên kiểm tả nếu trùng mã thì trả về đối tượngsịnh viên đó nếu không thì trả vể NULL

6.2.5 Xóa sinh viên theo mã sinh viên

- Kiểm tra tồn tại của sinh viên có mã nhập vào nếu mà trùng thì ta tiếnhành dịch chuyển các phần tử phía sau của mảng đè lên phần tử ở phíatrước đó Đồng thời giảm số lượng sinh viên xuống 1 đơn vị

Trang 17

6.2.6 Sửa thông tin sinh viên dựa vào MSSV mà người dùng nhập vào

- Hàm này kiểm tra sự tồn tại của sinh viên có mã được nhập vào nếu mà

có tồn tại sinh viên đó thì ta tiến hành lựa chọn sửa các thông tin của sinhviên

Trang 18

6.2.7 Xuất danh sách sinh viên khoa công nghệ thông tin

- Nếu các sinh viên thuộc khoa cntt thì xuất ra màn hình

6.2.8 Xuất danh sách sinh viên khóa kế toán

- Nếu các sinh viên thuộc khoa ketoan thì xuất ra màn hình

6.2.9 Xuất toàn bộ danh sách sinh viên

- In toàn bộ sinh viên ra màn hình

6.2.10 xuất danh sách sinh viên kèm theo danh hiệu và phần thưởng

Xuất thông tin cá nhân của sinh viên và phần thưởng cộng với danh hiệu sinhviên đạt được dựa trên điểm gpa

6.2.11 Xuất sinh viên theo thứ tự điểm GPA và theo danh sách khoa

Trang 19

Sắp xếp sinh viên theo điểm và in ra thông tin cá nhân của từng sinhvien

6.2.11 Sắp xếp danh sách sinh viên theo GPA

Ta duyệt lần lượt tất cả các sinh viên và di chuyển sinhvien về vị trí thích hợp

7 Các tính chất hướng đối tượng được thể hiện thông qua chương trình quản lý sinhviên

7.1 Tính chất của Hàm bạn ( friend function)

Hàm bạn trong c++ là hàm tự do, không thuộc lớp Tuy nhiên hàm bạntrong c++ cóquyền truy cập các thành viên private của lớp

Một lớp trong c++ có thể có nhiều hàm bạn, và chúng phải nằm bên ngoài class

Nó cho phép kiểm soát các truy nhập ở cấp độ lớp Nghĩa là không thể áp đặt hàm bạncho một lớp, nếu như chưa khai báo hàm bạn trong lớp

Hàm bạn giải quyết được vấn đề cần truy cập dữ liệu của lớp như trên

Các hàm bạn khai báo với cú phápĐặt từ khoá friend phía trước, sau đó khai báonhư một hàm thông thường

Trang 20

ở đây các trường thuộc ngayThangNam là các trường private ta dùng hàm bạn có thểtruy cập trực tiếp để lấy dữ liệu nhằm dùng cho xử lý của người dùng thay vì phải sửdụng các phương thức trừu tượng để có thể tác động lên dữ liệu.

Hàm sắp xếp được gọi ở các hàm khác thuộc lớp quanlydanhsachsinhvien

Trang 21

7.3 Tính đóng gói

Tính đóng gói (Encapsulation) là cơ chế của che giấu dữ liệu (Data Hiding) bởichúng được lớp (class) che giấu đi (ở dạng private) một số dữ liệu, hàm và phươngthức để đảm bảo rằng các dữ liệu đó sẽ được truy cập và sử dụng đúng mục đích, đúngcách thông qua các hàm và phương thức ở dạng public mà class cung cấp Đó là lý dobạn không thể truy cập đến các thuộc tính private hoặc gọi đến phương thức privatecủa class từ bên ngoài class đó.Ví dụ như trong Class ngayThangNam các thuộc tínhngay tháng năm và các phương thức xử lý thuốc đối tượng ngayThangNam được đónggói vào trong class NgayThangNam

Trang 22

7.4 Tính kế thừa

Tính kế thừa là một trong những đặc tính quan trọng nhất của lập trình hướngđối tượng

Nó là khả năng lấy một thuộc tính, đặc tính của một lớp cha để áp dụng lên lớp

con.Lớp kế thừa các thuộc tính từ một lớp khác được gọi là Lớp con hoặc Lớp dẫnxuất

Lớp có các thuộc tính được kế thừa bởi lớp con được gọi là Lớp cha hoặc Lớp cơ sở

Trong chương trình này tính kế thừa được thể hiện qua các class sinhvien kế thừa từclass thongtincanhan Class sinhvienketoan và class sinhviencongnghe cũng kế thừa từclass sinhvien

7.5 Tính đa hình

Đa hình (polymorphism) nghĩa là có nhiều hình thái khác nhau Tiêu biểu là, đahình xuất hiện khi có một cấu trúc cấp bậc của các lớp và chúng liên quan với nhaubởi tính kế thừa

Trong chương trình này tính đa hình được biểu thị qua hoạt động xét thưởng và xétdanh hiệu ở class sinhvien, class sinhvienketoan, class sinhviencongnghe Classsinhvienketoan va sinhviencongnghe là 2 đa hình thuộc class sinhvien

Ở class sinhvien chúng ta có hàm xetdanhhieu và phanthuong như sau

Trang 23

Còn ở class sinhvienketoan đa hình từ class sinhvien

Class sinhviencongnghe đa hình từ class sinhvien

Trang 24

8 Demo chương trình

8.1 Màn hình chức năng chính

Trang 25

8.2 Thêm sinh viên

Trang 26

8.3 Xóa sinh viên

8.4 Sửa sinh viên

Trang 28

8.5 In danh sách sinh viên

Trang 29

8.6 In danh sách sinh viên kế toán

8.7 In danh sách sinh viên công nghệ

Trang 30

8.8 In danh sách kèm theo danh hieu va phần thưởng

Trang 31

8.9 In danh sách sinh viên theo điểm gpa

Ngày đăng: 19/12/2022, 11:02

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w