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

Báo cáo bài tập lớn môn lập trình hướng Đối tượng Đề tài quản lý tuyển sinh Đại học

39 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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ý tuyển sinh đại học
Tác giả Chu Văn Thắng, Nguyễn Tiến Trường, Trương Đăng Đông, Nguyễn Đức Kiên
Người hướng dẫn ThS. Nguyễn Thành Huy
Trường học Trường Đại Học Mở Hà Nội
Chuyên ngành Công Nghệ Thông Tin
Thể loại Báo cáo
Năm xuất bản 2021
Thành phố Hà Nội
Định dạng
Số trang 39
Dung lượng 1,51 MB

Cấu trúc

  • I. Phát biểu bài toán (4)
  • II. Xác định các lớp của bài toán (4)
    • 1. Class Nguoi (4)
    • 2. Class ThiSinh kế thừa từ class Nguoi (4)
    • 3. class GiamThi kế thừa từ class Người (5)
    • 4. Class NguyenVong (5)
    • 5. class QuanLy (5)
  • III. Mô tả thuật toán thao tác (7)
    • 1. Chỉnh sửa thông tin thí sinh, nguyện vọng, giám thị (7)
    • 2. Hiện ra các thí sinh trúng tuyển, input: Mã ngành và điểm chuẩn ngành (8)
    • 3. Sắp xếp các nguyện vọng trúng tuyển ngành theo điểm thi giảm dần (8)
    • 4. Hiện ra các giám thị có quê quán ở Hà Nội (8)
  • IV. Cài đặt bài toán (8)
    • 2. Class ThiSinh (10)
    • 3. Class NguyenVong (13)
    • 4. Class GiamThi (15)
    • 5. Class Sapxepdiemthi (17)
    • 6. Class DSNguoi (17)
    • 7. Class QuanLy (23)
    • 8. Class Main (31)
  • V. Kiểm thử lập bộ test (33)

Nội dung

Hiện ra các thí sinh trúng tuyển, input: Mã ngành và điểm chuẩn ngành...6 3.. Sắp xếp các nguyện vọng trúng tuyển ngành theo điểm thi giảm dần...6 4.. Thí Sinh và Giám thị cùng có các th

Phát biểu bài toán

Mỗi năm, vấn đề Tuyển Sinh Đại Học thu hút sự quan tâm của hàng triệu thí sinh và nhiều trường Đại học, Cao đẳng với vô số ngành học khác nhau Để quản lý hiệu quả quá trình tuyển sinh, nhóm chúng tôi sẽ trình bày những giải pháp và phân tích chi tiết trong các phần tiếp theo của bài viết.

Kỳ thi bao gồm 2 giai đoạn thi và dung kết quả thi để xét tuyển vào Đại học Các đối tượng cần quản lý:

Thí sinh: mỗi thí sinh gồm có Số báo danh(duy nhất), họ tên , giới tính, năm sinh, quê quán, điểm thi, điểm ưu tiên.

Mỗi thí sinh có thể đăng ký nhiều nguyện vọng, trong đó mỗi nguyện vọng bao gồm các thông tin quan trọng như mã ngành, tên ngành, mã trường, khối xét tuyển và điểm thi tương ứng sau kỳ thi.

Giám thị : Các giám thị được phân công coi thi, gồm mã giám thị(là duy nhất), đơn vị công tác, họ tên, giới tính, năm sinh, quê quán.

Thí Sinh và Giám thị cùng có các thuộc tính như Họ tên, quê quán, năm sinh, giới tính nên được kế thừa từ lớp Người

ArrayList quản lý cả Thí Sinh và Người, khi nhập ta có thể nhập tùy theo Đối tượng Thí Sinh hoặc Người vào ArrayList này

Xác định các lớp của bài toán

Class Nguoi

Thuộc tính: String hoTen, queQuan, int namSinh, gioiTinh phương thức:

Constructor: Hàm tạo có đối số và hàm tạo không đối số

Getter, Setter: Phương thức get, set cho các thuộc tính kiểu private Nhap: nhập thông tin các thuộc tính

Hien: Hiện ra các thông tin

Class ThiSinh kế thừa từ class Nguoi

Thuộc tính: String SBD, float diemUuTien, ArrayList nv, NguyenVong nguyenvonga

Nhap: override nhap() ở class Nguoi

Hàm hien() trong lớp Nguoi được sử dụng để hiển thị thông tin của thí sinh cùng với các nguyện vọng của họ Hàm nhapDSNguyenVong cho phép nhập các nguyện vọng của thí sinh, thông qua việc gọi hàm nhapNguyenVong từ lớp NguyenVong Hàm hienDSNguyenVong sẽ hiển thị danh sách các nguyện vọng đã được nhập của thí sinh, bằng cách gọi hàm hienNguyenVong từ lớp NguyenVong Cuối cùng, hàm hienThongTinTS chỉ dùng để hiển thị thông tin cá nhân của thí sinh.

class GiamThi kế thừa từ class Người

Thuộc tính: String maGT, String donviCT

Nhap: override phương thức nhap() ở class Nguoi, nhập thông tin giám thị

Hien: override phương thức hien() ở class Nguoi, hiện thị thông tin giám thị

Class NguyenVong

Thuộc tính: String maNganh, maTruong, khoiXT, int maNv, float diemThi

Phương thức: nhapNguyenVong(): nhập thông tin nguyện vọng hienNguyenVong(): hiện thông tin nguyện vọng

class QuanLy

Phương thức quản lý thông tin thí sinh và giám thị bao gồm các chức năng như thêm người vào danh sách, sửa đổi và xóa thông tin liên quan đến thí sinh và giám thị Cụ thể, hàm `themDSNguoi()` cho phép thêm thí sinh hoặc giám thị vào danh sách, trong khi `menuSuaDoi()` hiển thị các tùy chọn sửa đổi Các phương thức như `suaNguyenVong()`, `xoaNguyenVong()`, và `themNguyenVong()` giúp quản lý nguyện vọng của thí sinh Thông tin thí sinh có thể được chỉnh sửa hoặc xóa qua `suaThiSinh()` và `xoaThiSinh()`, trong khi thông tin giám thị được quản lý bằng `suaGiamThi()` Danh sách giám thị và thí sinh được hiển thị thông qua các phương thức `hienDSGiamThi()`, `hienDS()`, và `hienDSThiSinh()` Các hồ sơ tuyển sinh có thể được xem qua `hienDSHoSothiSinh()`, và việc ghi hoặc đọc dữ liệu từ file được thực hiện qua `ghiFile()` và `docFile()` Cuối cùng, danh sách thí sinh trúng tuyển được hiển thị qua `hienDSTrungTuyen()` và `hienDSTTNganh()`.

SapXepTheoDiem(): Sắp xếp các nguyện vọng của thí sinh đã trúng tuyển ngành theo điểm thi giảm dần, sử dụng Collections Sort trong ArrayList nvTrungTuyen

+ suaNguyenVong() + xoaNguyenVong() + themNguyenVong() + suaThiSinh() + xoaThiSinh() + suaGiamThi() + hienDSGiamThi() + hienDS() + hienDSHoSothiSinh() + hienDSThiSinh() + ghiFile() + docFile() + hienDSTrungTuyen + hienDSTTNganh + SapXepTheoDiem + hienGiamThioHaNoi + menuChinh

Mô tả thuật toán thao tác

Chỉnh sửa thông tin thí sinh, nguyện vọng, giám thị

Nhập vào SBD/ maNV/ MaGT cần tìm để chỉnh sửa

Sử dụng vòng lặp kết hợp với câu lệnh so sánh, nếu từ khóa nhập vào trùng khớp với dữ liệu đã có, hệ thống sẽ hiển thị để người dùng có thể thực hiện chỉnh sửa Ngược lại, nếu không có sự trùng khớp, sẽ không có thông báo nào được hiển thị.

Thêm: Nhập vào thông tin đối tượng mới

- String maNganh, maTruong, tenNganh, khoiXT

Xóa: Trong ArrayList dùng phép remove

Sửa : Nhập lại thông tin mới

Hiện ra các thí sinh trúng tuyển, input: Mã ngành và điểm chuẩn ngành

Sắp xếp các nguyện vọng trúng tuyển ngành theo điểm thi giảm dần

Trong ArrayList đã nhập, tìm kiếm và hiện ra những thí sinh có điểm chuẩn và mã ngành trùng với thông tin nhập vào.

3 Sắp xếp các nguyện vọng trúng tuyển ngành theo điểm thi giảm dần Thuật toán:

Sử dụng Collections Sort trong ArrayList

Tạo class SapXepTheoDiemThi, với phương thức int compare( Nguyenvong a1, Nguyenvong a2) Đặt sub= a1.getDiemXT()- a2.getDiemXT()

Hiện ra các giám thị có quê quán ở Hà Nội

Trong ArrayList, lọc ra Người là Giám thị bằng phép instance of

Sử dụng vòng lặp foreach, lấy quê quán của giám thị so sánh quê quán của giám thị với chuỗi “Ha Noi” bằng lệnh compareIgnoreCase

Nếu giám thị quê quán ở Hà Nội sẽ hiện ra màn hình

Cài đặt bài toán

Class ThiSinh

package bt.quanlituyensinhdh; import java.util.ArrayList; import java.util.Scanner; public class ThiSinh extends Nguoi{ private String SBD; public float diemUuTien; private ArrayList nv;

NguyenVong nguyenvonga; public ThiSinh() { super();

The ThiSinh class constructor initializes a candidate's details, including their exam number (SBD), priority score (diemUuTien), and a list of preferences (nv), alongside personal information such as name (hoTen), hometown (queQuan), birth year (namSinh), and gender (gioiTinh).

} public String getSBD() { return SBD;

} public void setSBD(String SBD) { this.SBD = SBD;

} public float getDiemUuTien() { return diemUuTien;

} public void setDiemUuTien(float xx) { diemUuTien = xx;

} public ArrayList getNv() { return nv;

} public void setNv(ArrayList nv) { this.nv = nv;

} public NguyenVong getNguyenvonga() { return nguyenvonga;

} public void setNguyenvonga(NguyenVong nguyenvonga) { this.nguyenvonga = nguyenvonga;

Scanner sc= new Scanner(System.in); super.nhap();

System.out.print("Điểm ưu tiên: "); diemUuTien= sc.nextFloat(); setDiemUuTien(diemUuTien); nhapDSNguyenVong();

Scanner sc= new Scanner(System.in);

System.out.print("Nhập số nguyện vọng cần thêm: "); int n = sc.nextInt(); nv = new ArrayList(); for(int i=0; i

Ngày đăng: 14/02/2025, 15:43

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

TÀI LIỆU LIÊN QUAN