Hiện ra các thí sinh trúng tuyển, input: Mã ngành và điểm chuẩn ngành...6 3.. 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
Phát biểu bài toán
Hằng năm, vấn đề Tuyển Sinh Đại Học thu hút sự quan tâm của đông đảo thí sinh với hàng ngàn ứng viên và nhiều ngành học tại các trường Đại học, Cao đẳng Để giải quyết bài toán quản lý tuyển sinh, nhóm chúng em sẽ phân tích các giai đoạn thi và cách sử dụng kết quả thi để xét tuyển vào các trường Các đối tượng cần được quản lý trong quá trình này rất đa dạng và phức tạp.
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.
Nguyện vọng của thí sinh có thể đa dạng, với mỗi nguyện vọng bao gồm 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 Tính kế thừa
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 Tính đa hình
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
Hien: Ghi đè hàm hien() trong lớp Nguoi để 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 được sử dụng để nhập các nguyện vọng của thí sinh, và nó sẽ gọi hàm nhapNguyenVong từ lớp tương ứng.
NguyenVong hienDSNguyenVong: hiện danh sách các nguyện vọng đã nhập của thí sinh này, gọi hàm hienNguyenVong từ class NguyenVong hienThongTinTS: chỉ hiện thông tin Thí Sinh
class GiamThi kế thừa từ class Người
Thuộc tính: String maGT, String donviCT Phương thức:
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: themDSNguoi(): thêm Người, có thể là Thí Sinh hoặc Giám Thị vào ArrayList menuSuaDoi(): Menu hiện thị các chức năng sửa đổi ở SuaDoi()
Trong hệ thống quản lý thông tin thí sinh, các chức năng chính bao gồm: thêm, sửa, xóa thông tin thí sinh, nguyện vọng và giám thị Cụ thể, hàm `suaNguyenVong()` cho phép sửa nguyện vọng của thí sinh, trong khi `xoaNguyenVong()` dùng để xóa nguyện vọng theo mã Để thêm nguyện vọng mới, sử dụng `themNguyenVong()` Đối với thông tin thí sinh, `suaThiSinh()` sẽ sửa đổi thông tin, và `xoaThiSinh()` sẽ xóa thí sinh theo số báo danh Thông tin giám thị có thể được sửa qua `suaGiamThi()`, và danh sách giám thị được hiển thị bằng `hienDSGiamThi()` Hàm `hienDS()` cho phép hiển thị danh sách thí sinh và giám thị lưu trong `ArrayList` Để xem danh sách hồ sơ tuyển sinh, sử dụng `hienDSHoSothiSinh()`, trong khi `hienDSThiSinh()` hiển thị thông tin thí sinh dự tuyển Các chức năng ghi và đọc file được thực hiện qua `ghiFile()` và `docFile()` Cuối cùng, danh sách thí sinh trúng tuyển theo ngành đượ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
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 và câu lệnh so sánh để kiểm tra từ khóa đầu vào; nếu từ khóa trùng khớp với dữ liệu hiện có, hệ thống sẽ hiển thị để người dùng thực hiện các thao tác 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
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
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.
Sắp xếp các nguyện vọng trúng tuyển ngành theo điểm thi giảm dần
Sử dụng Collections Sort trong
SapXepTheoDiemThi, với phương thức int compare( Nguyenvong a1,
Nguyenvong a2) Đặt sub= a1.getDiemXT()- a2.getDiemXT()
Nếu sub > 0 return 1 Nếu sub =0 return 0
Hiện ra các giám thị có quê quán ở Hà Nội
In an ArrayList, filter out individuals who are supervisors using the 'instanceof' operator Employ a foreach loop to extract the hometown of each supervisor and compare it to the string "Ha Noi" using the 'compareIgnoreCase' method If the supervisor's hometown matches, return the results accordingly.
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();
} public ThiSinh(String SBD, float diemUuTien,
ArrayList nv, String hoTen, String queQuan, int namSinh, int gioiTinh) { super(hoTen, queQuan, namSinh, gioiTinh); this.SBD = SBD; this.diemUuTien = diemUuTien; this.nv = nv;
} 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