BÁO CÁO BÀI TẬP LỚN HỌC PHẦN CẤU TRÚC GIỮ LIỆU VÀ GIÁI THUẬT , CÀI ĐẶT CẤU TRÚC DỮ LIỆU KIỂU CÂY , CÀI ĐẶT CÁC PHƯƠNG ÁN DUYỆT CÂY NHỊ PHÂN VÀ CÂY TỔNG QUÁT

30 234 0
BÁO CÁO BÀI TẬP LỚN HỌC PHẦN CẤU TRÚC GIỮ LIỆU VÀ GIÁI THUẬT , CÀI ĐẶT CẤU TRÚC DỮ LIỆU KIỂU CÂY , CÀI ĐẶT CÁC PHƯƠNG ÁN DUYỆT CÂY NHỊ PHÂN VÀ CÂY TỔNG QUÁT

Đ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

BÁO CÁO BÀI TẬP LỚN ,CẤUTRÚC GIỮLIỆU VÀ GIÁI THUẬT , CÀI ĐẶT CẤU TRÚC DỮLIỆU KIỂUCÂY , CÀI ĐẶT CÁC PHƯƠNG ÁN DUYỆT, CÂY NHỊ PHÂN VÀ CÂY TỔNG QUÁT

TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM KHOA CÔNG NGHỆ THÔNG TIN -*** - BÁO CÁO BÀI TẬP LỚN HỌC PHẦN “CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT” Đề tài: Cài đặt cấu trúc liệu kiểu Cài đặt phương án duyệt nhị phân tổng quát GVHD: ThS Nguyễn Hạnh Phúc Sinh viên thực hiện: Nguyễn Hữu Tiệp – Mã sv: 12345 Trần trung Hiếu – Mã sv: 34567 Hải Phòng, tháng 04 năm 2017 TRƯỜNG ĐẠI HỌC HÀNG HẢI KHOA CÔNG NGHỆ THƠNG TIN BỘ MƠN KHOA HỌC MÁY TÍNH -*** - BÀI TẬP LỚN HỌC PHẦN: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Mã đề tài: 16 Tên đề tài Cài đặt cấu trúc liệu kiểu Cài đặt phương án duyệt nhị phân tổng quát Mục đích Xây dựng chương trình quản lý thí sinh dự thí vào trường Đại học theo phương pháp lập trình hướng đối tượng Công việc cần thực  Xây dựng lớp đối tượng NGƯỜI với thuộc tính sau:- Số chứng minh thư, - Tên, - Ngày sinh, - Quê quán, - Giới tính  Xây dựng lớp đối tượng THÍ SINH kế thừa từ lớp NGƯỜI với thuộc tính sau: - Số báo danh,- Điểm tốn, - Điểm lý, - Điểm hóa  Xây dựng lớp đối tượng với phương thức: - Hàm tạo, hàm hủy - Các phương thức nhập, xuất liệu  Xây dựng lớp DANH SÁCH quản lý thí sinh với thuộc tính: - Số lượng thí sinh, - Danh sách thí sinh phương thức sau: - Các hàm tạo, hàm hủy; - Các phương thức cho phép: Thêm thí sinh vào danh sách; Loại bỏ thí sinh khỏi danh sách; Tìm thí sinh có tổng điểm lớn giá trị đưa vào; In danh sách thí sinh có tổng điểm lớn giá trị đưa vào  Làm báo cáo tập lớn  Bảo vệ tập lớn Yêu cầu  Kết làm tập lớn: Báo cáo tập lớn  Báo cáo tập lớn phải trình bày theo mẫu quy định (kèm theo), báo cáo kết xuất thành tệp định dạng PDF nộp qua email (không bắt buộc phải in ấn)  Hạn nộp báo cáo tập lớn: Tài liệu tham khảo - Nguyễn Thanh Thuỷ, Lập trình HĐT với C++, NXB ĐH QG HN, 2010 - Bài giảng Lập trình hướng đối tượng với C++, Khoa CNTT, ĐH HH VN Hải Phòng, tháng 04 năm 2017 NGƯỜI HƯỚNG DẪN MỤC LỤC DANH MỤC CÁC HÌNH VẼ, BẢNG BIỂU iii DANH MỤC CÁC TỪ VIẾT TẮT iv GIỚI THIỆU CHƯƠNG CƠ SỞ LÝ THUYẾT 1.1 Lớp đối tượng 1.1.1 Định nghĩa Lớp C++ 1.1.2 Định nghĩa Đối tượng C++ 1.1.3 Truy cập thành viên liệu C++ 1.1.4 Chi tiết Lớp & Đối tượng C++ 1.2 Thừa kế 1.2.1 Lớp sở (Base Class) Lớp thừa kế (Derived Class) C++ 1.2.2 Điều khiển truy cập Tính kế thừa C++ .8 1.2.3 Kiểu kế thừa C++ .9 1.2.4 Đa kế thừa C++ 10 CHƯƠNG THIẾT KẾ CÁC LỚP ĐỐI TƯỢNG 12 2.1 Lớp Người 13 2.2 Lớp Thí Sinh 13 2.3 Lớp Danh Sách 13 CHƯƠNG CÀI ĐẶT CÁC LỚP 14 3.1 Lớp Người 14 3.2 Lớp Thí Sinh 16 i 3.3 Lớp Danh Sách 18 3.4 Hàm (main()) 21 KẾT LUẬN 22 TÀI LIỆU THAM KHẢO 23 ii DANH MỤC CÁC HÌNH VẼ, BẢNG BIỂU Hình vẽ Trang Hình 1.1 Sơ đồ thuật toán 12 Hình 1.2 Quá trình nhập liệu 14 iii DANH MỤC CÁC TỪ VIẾT TẮT Từ Ý nghĩa OOP Object Oriented Progamming iv GIỚI THIỆU Bài toán: Để quản lý thí sinh dự thí vào trường Đại học, người ta xây dựng chương trình với lớp đối tượng, có thuộc tính phương thức tương ứng  Người: Số chứng minh thư, Tên, Ngày sinh, Quê quán, Giới tính  Thí Sinh (kế thừa từ lớp Người) : Số báo danh, Điểm môn thứ nhất, Điểm môn thứ hai, Điểm môn thứ ba, Điểm ưu tiên Yêu cầu:  Xây dựng lớp đối tượng với phương thức: - Hàm tạo, hàm hủy - Các phương thức nhập xuất  Xây dựng lớp DANH SÁCH quản lý thí sinh với thuộc tính phương thức sau: - Số lượng thí sinh - Danh sách thí sinh - Các hàm tạo, hàm hủy - Các phương thức cho phép: Thêm thí sinh vào danh sách; Loại bỏ thí sinh khỏi danh sách; Tìm thí sinh có tổng điểm lớn giá trị đưa vào; In danh sách thí sinh có tổng điểm lớn giá trị đưa vào CHƯƠNG CƠ SỞ LÝ THUYẾT 1.1 Lớp đối tượng 1.1.1 Định nghĩa Lớp C++ Khi bạn định nghĩa lớp, bạn định nghĩa blueprint cho kiểu liệu Điều không thực sự định nghĩa liệu nào, định nghĩa ý nghĩa tên lớp gì, là, gì đối tượng lớp bao gồm hoạt động thực đối tượng Một định nghĩa lớp C++ bắt đầu với từ khóa class, theo sau tên lớp phần thân lớp, bao quanh cặp dấu ngoặc móc Một định nghĩa lớp phải theo sau: dấu chấm phảy danh sách khai báo Ví dụ, định nghĩa kiểu liệu Box sử dụng từ khóa class C++ sau: class Box { public: double chieudai; // chieu dai cua hop double chieurong; // chieu rong cua hop double chieucao; // chieu cao cua hop }; Từ khóa public định thuộc tính truy cập thành viên lớp mà theo sau Một thành viên public truy cập từ bên lớp đâu bên phạm vi (scope) đối tượng lớp Bạn xác định thành viên lớp privatehoặc protected bàn luận chương phụ 1.1.2 Định nghĩa Đối tượng C++ Một lớp cung cấp blueprint cho đối tượng, vì bản, đối tượng tạo từ lớp Chúng ta khai báo đối tượng lớp giống khai báo biến kiểu Các lệnh sau khai báo hai đối tượng lớp Box: Box Box1; // Khai bao Box1 la cua kieu Box Box Box2; // Khai bao Box2 la cua kieu Box Cả hai đối tượng Box1 Box2 có thành viên liệu (Data Member) riêng 1.1.3 Truy cập thành viên liệu C++ Các thành viên liệu public đối tượng lớp truy cập sử dụng tốn tử truy cập thành viên trực tiếp dấu chấm (.) Bạn thấy rõ ràng xem ví dụ sau: #include using namespace std; class Box { public: double chieudai; // chieu dai cua hop double chieurong; // chieu rong cua hop double chieucao; // chieu cao cua hop }; int main( ) { Box Box1; // Khai bao Box1 la cua kieu Box Box Box2; // Khai bao Box2 la cua kieu Box Lớp kế thừa Có Có Khơng Bên ngồi lớp Có Khơng Khơng Một lớp kế thừa (Derived Class) kế thừa tất phương thức lớp sở, ngoại trừ:  Constructor, destructor copy constructor lớp sở  Overloaded operator (toán tử nạp chồng) lớp sở  Hàm friend lớp sở 1.2.3 Kiểu kế thừa C++ Khi kế thừa từ lớp sở, lớp sở kế thừa thơng qua kiểu kế thừa làpublic, protected private Kiểu kế thừa C++ xác định Access-specifier giải thíc Chúng ta sử dụng kiểu kế thừa protected private, kiểu kế thừapublic thì sử dụng phổ biến Trong sử dụng kiểu kế thừa khác sau, bạn nên ghi nhớ quy tắc sau:  Kiểu kế thừa Public: Khi kế thừa từ lớp sở public, thì thành viên public lớp sở trở thành thành viên public lớp kế thừa; thành viên protected lớp có sở trở thành thành viên protected lớp kế thừa Một thành viên private lớp sở không truy cập trực tiếp từ lớp kế thừa, truy cập thơng qua lời gọi tới thành viên public protected lớp sở  Kiểu kế thừa protected: Khi kế thừa từ lớp sở protected, thì thành viên public protected lớp sở trở thành thành viên protected lớp kế thừa  Kiểu kế thừa private: Khi kế thừa từ lớp sở private, thì thành viênpublic protected lớp sở trở thành thành viên private lớp kế thừa 1.2.4 Đa kế thừa C++ Một lớp C++ kế thừa thành viên từ nhiều lớp, cú pháp: class lop_ke_thua: access_modifier lop_co_so_1, access_modifier lop_co_so_2 Tại đây, access_modifier public, protected private cung cấp cho lớp sở, chúng phân biệt với dấu phảy Bạn thử ví dụ sau: #include using namespace std; // lop co so: Hinh class Hinh { public: void setChieuRong(int rong) { chieurong = rong; } void setChieuCao(int cao) { chieucao = cao; } protected: 10 int chieurong; int chieucao; }; // lop co so: ChiPhiSonMau class ChiPhiSonMau { public: int tinhChiPhi(int dientich) { return dientich * 300000; } }; // day la lop ke thua: HinhChuNhat class HinhChuNhat: public Hinh, public ChiPhiSonMau { public: int tinhDienTich() { return chieurong * chieucao; } }; int main(void) { HinhChuNhat Hcn; int dientich; Hcn.setChieuRong(14); 11 Hcn.setChieuCao(30); dientich = Hcn.tinhDienTich(); // in dien tich cua doi tuong cout

Ngày đăng: 28/09/2019, 11:44

Từ khóa liên quan

Mục lục

  • MỤC LỤC

  • 1. DANH MỤC CÁC HÌNH VẼ, BẢNG BIỂU

  • DANH MỤC CÁC TỪ VIẾT TẮT

  • GIỚI THIỆU

  • CHƯƠNG 1. CƠ SỞ LÝ THUYẾT

    • 1.1 Lớp và đối tượng

      • 1.1.1 Định nghĩa Lớp trong C++

      • 1.1.2 Định nghĩa Đối tượng trong C++

      • 1.1.3 Truy cập các thành viên dữ liệu trong C++

      • 1.1.4 Chi tiết về Lớp & Đối tượng trong C++

      • 1.2 Thừa kế

        • 1.2.1 Lớp cơ sở (Base Class) và Lớp thừa kế (Derived Class) trong C++

        • 1.2.2 Điều khiển truy cập và Tính kế thừa trong C++

        • 1.2.3 Kiểu kế thừa trong C++

        • 1.2.4 Đa kế thừa trong C++

        • CHƯƠNG 2. THIẾT KẾ CÁC LỚP ĐỐI TƯỢNG

          • 1.3 Lớp Người

          • 1.4 Lớp Thí Sinh

          • 1.5 Lớp Danh Sách

          • CHƯƠNG 3. CÀI ĐẶT CÁC LỚP

            • 1.6 Lớp Người

            • 1.7 Lớp Thí Sinh

            • 1.8 Lớp Danh Sách

            • 1.9 Hàm chính (main())

            • KẾT LUẬN

Tài liệu cùng người dùng

Tài liệu liên quan