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ÂN TRƯỜ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 I GIỚ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ó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 4CHƯƠNG II PHÂN TÍCH VÀ THIẾT KẾ1.1 Phân tích
1.1.1 Lựa chọn ngôn ngữ lập trình
Ngôn ngữ lập trình: Java
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 + " - " + mon3);
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 16public void hienThiDanhSach() {
for (int i = 0; i < dsts.size(); i++) {
System.out.println("Thi sinh thu " + (i + 1) + " la:");
Trang 18CHƯƠNG III CÀ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ách
3.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àng
3.2.2.2 Giao diện đồ hoạ
Trang 273.2.3 Tính tổng tiền điện của khách hàng
3.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ình
3.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ện
3 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
[1] overflow
https://meta.stackoverflow.com/questions/302471/how-to-put-tables-in-stack-[2] https://www.youtube.com/watch?v=8e_IvPvr
NY&list=PLhs1urmduZ2_ZFO6vu63QNWTL5XHriWKu
[3].https://www.youtube.com/watch?
v=L95658yXRgI&list=PLsyeobzWxl7rmuFYRpkqLanwoG4pQQ7oW