Các thí sinh cần quản lý các thông tin sau: Số báo danh, họ tên, địa chỉ, mức ưu tiên.Thí sinh thi khối A thi các môn: Toán, Lý, Hoá.. Thí sinh thi khối C thi các môn: Văn, Sử, Địa.Yêu c
Trang 1ĐẠI HỌC DUY TÂNTRƯỜNG KHOA HỌC MÁY TÍNH
KHOA KỸ THUẬT MẠNG MÁY TÍNH & TRUYỀN THÔNG
ĐỒ ÁN CÁ NHÂN MÔN HỌC:
LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
GIẢNG VIÊN HƯỚNG DẪN : NGUYỄN MINH NHẬT
Trang 2CHƯƠNG IGIỚI THIỆU BÀI TOÁN
1.1 Giới thiệu bài toán
Các thí sinh dự thi đại học bao gồm các thí sinh thi khối A, B, và khối C Các thí sinh cần quản lý các thông tin sau: Số báo danh, họ tên, địa chỉ, mức ưu tiên.
Thí sinh thi khối A thi các môn: Toán, Lý, Hoá Thí sinh thi khối B thi các môn: Toán, Hoá, Sinh Thí sinh thi khối C thi các môn: Văn, Sử, Địa.
Yêu cầu 1: Xây dựng các lớp để quản lý các thi sinh dự thi đại học Yêu cầu 2: Xây dựng lớp TuyenSinh có các chức năng:
Thêm mới thí sinh.
Hiện thị thông tin của thí sinh và khối thi của thí sinh Tìm kiếm theo số báo danh.
Thoát khỏi chương trình Hãy thực hiện:
Thiết kế giao diện GUI để thực hiện được tất cả các chức năng nêu trên
Thiết kế cơ sở dữ liệu phù hợp cho project Dữ liệu đọc và lưu từ file hoặc từ Hệ Quản Trị CSDL như: MS Access, SQL Server, MySQL v.v
1.2 Yêu cầu
Yêu cầu 1: Xây dựng các lớp để quản lý các thi sinh dự thi đại học.Yêu cầu 2: Xây dựng lớp TuyenSinh có các chức năng:
Thêm mới thí sinh.
Hiện thị thông tin của thí sinh và khối thi của thí sinh Tìm kiếm theo số báo danh.
Thoát khỏi chương trình.
Trang 3 Xây dựng lớp TuyenSinh (quản lý tuyển sinh) với các phương thức: + Thêm mới thông tin của các hộ.
+ Xóa thông tin của các hộ + Chỉnh Sửa thông tin của các hộ + Thoát khỏi chương trình
Trang 4 Công cụ phát triển: NetBean
Môi trường vận hành: Thực hiện PC, Desktop với hệ điều hành Window
1.2.Thiết kế
1.2.1 Thiết kế cơ sở dữ liệu
Hệ thống lưu trữ: Microsoft SQL sever Gồm các file có cấu trúc như sau:
Trang 61.2.2 Thiết kế giao diện
1.2.2.1.Giao diện Command Line
Hình 1 Giao diện chinh dạng Command Line
1 Thêm mới thông tin của các hộ 2 Xóa thông tin của các hộ 3 Chỉnh Sửa thông tin của các hộ 4 Thoát khỏi chương trình Hãy chọn mục: _
Trang 7Hình 2 Giao diện chinh dạng đồ hoạ
Trang 8// Thuộc tính private String mon1; private String mon2; private String mon3; // Hàm khởi tạo không đối số public KhoiA() {
}
// Hàm khởi tạo có đối số
public KhoiA(String mon1, String mon2, String mon3) { super(); // Gọi hàm khởi tạo của lớp cha (ThiSinh)
Trang 9// Hàm hiển thị thông tin public void hienThongTin() {
super.hienThongTin(); // Gọi phương thức hienThongTin() của lớp cha để hiển thị thông tin chung
System.out.println("\tTo hop mon thi: " + mon1 + " - " + mon2 + " - " +
Trang 10package doan;
public class KhoiB extends KhoiA {
// Các thuộc tính và phương thức của lớp KhoiB
// Hàm khởi tạo có đối số
public KhoiB(String mon1, String mon2, String mon3) { super(mon1, mon2, mon3);
// Khởi tạo các thuộc tính của lớp KhoiB nếu có }
// Các phương thức khác của lớp KhoiB nếu có //
}
Trang 11Hình 4 Hình code trong NeaBeans lớp KhachHang
c Lớp KhoiC
Tên lớp: KhoiC.java package doan;
public class KhoiC extends KhoiA {
// Các thuộc tính và phương thức của lớp KhoiC //
// Hàm khởi tạo không đối số public KhoiC() {
super(); // Gọi hàm khởi tạo của lớp cha (KhoiA) // Khởi tạo các thuộc tính của lớp KhoiC nếu có }
// Hàm khởi tạo có đối số
public KhoiC(String mon1, String mon2, String mon3) {
super(mon1, mon2, mon3); // Gọi hàm khởi tạo có đối số của lớp cha (KhoiA)
Trang 12// Khởi tạo các thuộc tính của lớp KhoiC nếu có private int SoBD; private String HoTen;
Trang 13private String DiaChi; private String DiemUuTien; // Hàm khởi tạo không đối số public ThiSinh() { }
// Hàm khởi tạo có đối số
public ThiSinh(int SoBD, String HoTen, String DiaChi, String public void nhapThongTin(Scanner sc) { System.out.print("\tNhap so bao danh: ");
Trang 14DiemUuTien = sc.nextLine(); }
// Phương thức hiển thị thông tin public void hienThongTin() {
System.out.println("\tSo bao danh: " + SoBD); System.out.println("\tHo ten: " + HoTen); System.out.println("\tDia chi: " + DiaChi);
System.out.println("\tDiem uu tien: " + DiemUuTien); }
// Phương thức lấy ra thông tin về số báo danh public int getSoBD() {
Trang 15public void nhapDanhSach(Scanner sc) {
System.out.println("Nhap vao so luong thi sinh: "); int n = sc.nextInt();
sc.nextLine();
for (int i = 0; i < n; i++) {
System.out.println("Chon khoi (1-KhoiA; 2-KhoiB; 3-KhoiC): "); int chon = sc.nextInt();
Trang 16System.out.println("Lua chon khong hop le Them thi sinh voi thong tin co ban.");
public void hienThiDanhSach() { for (int i = 0; i < dsts.size(); i++) {
System.out.println("Thi sinh thu " + (i + 1) + " la:");
Trang 18CHƯƠNG IIICÀI ĐẶT VÀ KIỂM THỬ 3.1 GIAO DIỆN CHÍNH
3.1.1 Giao diện Comman Line
3.1.1 Giao diện GUI
Trang 193.2 Một số kết quả
3.2.1 Thêm mới khách hàng
3.2.1.1 Giao diện Comman Line
Trang 203.2.1.2 Giao diện đồ hoạTrước khi thêm:
Sau khi thêm:
Trang 21Bấm ok > Kết quả đã được đưa lên danh sách
3.2.2 Xóa khách hàng ra khỏi danh sách3.2.2.1 Giao diện Comman Line
Trang 223.2.2.2 Giao diện đồ hoạ
Trước khi xóa ta cần nhấp vào cột ta mốn xóa(VD: Lê Vĩnh C)
Trang 23Sau đó bấm nút xóa hiện thông báo
Sau khi bấm ok nó sẽ cho ta thêm 1 cảnh báo ta có thực sự muốn xóa
Trang 24Nếu chúng ta bấm Yes sẽ cho ra kết quả như sau và theo đó cũng tính tổng tiền tiện theo yêu cầu cu:
3.2.2 Chỉnh sửa khách hàng3.2.2.2 Giao diện đồ hoạ
Trang 273.2.3 Tính tổng tiền điện của khách hàng3.2.3.2 Giao diện đồ hoạ
Khi ta bấm thêm tức là sẽ tính tổng vào của các hộ
Trang 283.2.4 Thoát chương trình3.2.4.2 Giao diện đồ họa
Chương trình đã bị hủy và thoát ra
Trang 29KẾT LUẬN 1 Các vấn đề đạt được
- Hiểu biết về các hệ thống Java - Các kỹ năng Java Core - Các công cụ dựng của Java - Làm việc nhóm
- Khả năng sáng tạo - Để ý các chi tiết
2 Các vấn đề chưa đạt được
- Liên kết chức năng chưa bắt lỗi đầy đủ- Cơ sở dữ liệu còn sơ sài
- Giao diện đồ họa chưa hoàn thiện3 Hướng phát triển
- Tiếp tục hoàn thiện các chức năng còn hạn chế
Trang 30TÀI LIỆU THAM KHẢO