TRƯỜNG ĐẠI HỌC DUY TÂN
KHOA CÔNG NGHỆ THÔNG TIN
---o0o---
ĐỒ ÁN CÁ NHÂN
Môn học: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Mã môn học: CS311
Số tín chỉ: 4 Lý thuyết: 3 Thực hành: 1
Lớp: CS311 SE1
Khoa: CÔNG NGHỆ PHẦN MỀM Năm học: 2022-2023
Họ và tên sinh viên: Nguyễn Duy Khoa
Mã sinh viên: 28214525712
Giảng viên: Nguyễn Đình Thà
Đà Nẵng, tháng 8 năm 2023
BÀI 1
Một đơn vị sản xuất gồm có các cán bộ là công nhân, kỹ sư, nhân viên. Mỗi cán bộ cần
quản lý các dữ liệu: Họ tên, tuổi, giới tính(name, nữ, khác), địa chỉ.
Cấp công nhân sẽ có thêm các thuộc tính riêng: Bậc (1 đến 10).
Cấp kỹ sư có thuộc tính riêng: Nghành đào tạo.
Các nhân viên có thuộc tính riêng: công việc.
Yêu cầu 1: Xây dựng các lớp CongNhan, KySu, NhanVien kế thừa từ lớp CanBo. Yêu
cầu 2: Xây dựng lớp QLCB(quản lý cán bộ) cài đặt các phương thức thực hiện các
chức năng sau:
Thêm mới cán bộ.
Tìm kiếm theo họ tên.
Hiện thị thông tin về danh sách các cán bộ.
Thoát khỏi chương trình.
Cài đặt
- Cán bộ.
package Bai1; import
java.util.Scanner; public
class CanBo {
private String hoTen;
private int tuoi;
private boolean gioiTinh;
private String diaChi;
public CanBo() {
}
public CanBo(String hoTen, int tuoi, boolean gioiTinh, String diaChi)
{
this.hoTen = hoTen;
this.tuoi = tuoi;
this.gioiTinh = gioiTinh;
this.diaChi = diaChi;
}
public String getHoTen() {
return hoTen;
}
public void setHoTen(String hoTen) {
this.hoTen = hoTen;
}
public int getTuoi() {
return tuoi;
}
public void setTuoi(int tuoi) {
this.tuoi = tuoi;
}
public boolean isGioiTinh() {
return gioiTinh;
}
public void setGioiTinh(boolean gioiTinh) {
this.gioiTinh = gioiTinh;
}
public String getDiaChi() {
return diaChi;
}
public void setDiaChi(String diaChi) {
this.diaChi = diaChi;
}
void nhap() {
Scanner sc = new Scanner(System.in);
System.out.print("Nhập họ và tên: ");
this.hoTen = sc.nextLine();
System.out.print("Nhập tuổ3i: ");
this.tuoi = Integer.parseInt(sc.nextLine());
System.out.print("Nhập giới tính(T = Nam): ");
String sex = sc.nextLine();
this.gioiTinh = sex.equalsIgnoreCase("T") ? true : false;
System.out.print("Nhập địa chỉ3: ");
this.diaChi = sc.nextLine();
}
void xuat() {
System.out.println("Họ và tên: " + getHoTen());
System.out.println("Tuổ3i: " + getTuoi());
System.out.println("Giới tính: " + isGioiTinh());
}
}
- Công nhân.
package Bai1; import
java.util.Scanner;
public class CongNhan extends CanBo{
private int capBac;
public CongNhan() {
}
public CongNhan(int capBac) {
this.capBac = capBac;
}
public CongNhan(int capBac, String hoTen, int tuoi, boolean gioiTinh,
String diaChi) {
super(hoTen, tuoi, gioiTinh, diaChi);
this.capBac = capBac;
}
public int getCapBac() {
return capBac;
}
public void setCapBac(int capBac) {
this.capBac = capBac;
}
@Override
void nhap() {
super.nhap();
Scanner sc = new Scanner(System.in);
while(true) {
System.out.print("Nhập cấAp bậc: ");
this.capBac = Integer.parseInt(sc.nextLine());
if(capBac < 1 || capBac > 10) {
System.out.println("CấAp bậc khổng hợp lệ!");
}
if(capBac >= 1 && capBac <= 10) {
break;
}
}
}
@Override
void xuat() {
System.out.println("Cổng nhấn.");
super.xuat();
System.out.println("CấAp bậc: " + getCapBac());
}
}
- Kỹ sư.
package Bai1; import java.util.Scanner; public class
KySu extends CanBo {
private String nganhDT;
public KySu() { }
public KySu(String nganhDT) {
this.nganhDT = nganhDT;
}
public KySu(String nganhDT, String hoTen, int tuoi, boolean gioiTinh,
String diaChi) {
super(hoTen, tuoi, gioiTinh, diaChi);
this.nganhDT = nganhDT;
}
public String getNganhDT() {
return nganhDT;
}
public void setNganhDT(String nganhDT) {
this.nganhDT = nganhDT;
}
@Override
void nhap() {
super.nhap();
Scanner sc = new Scanner(System.in);
System.out.print("Nhập ngành đào tạo: ");
this.nganhDT = sc.nextLine();
}
@Override
void xuat() {
System.out.println("Kỹ su");
super.xuat();
System.out.println("Ngành đào tạo: " + getNganhDT());
}
}
- Nhân viên.
package Bai1; import
java.util.Scanner; public class
NhanVien extends CanBo { private
String congViec;
public NhanVien() {
}
public NhanVien(String congViec) {
this.congViec = congViec;
}
public NhanVien(String congViec, String hoTen, int tuoi, boolean
gioiTinh, String diaChi) {
super(hoTen, tuoi, gioiTinh, diaChi);
this.congViec = congViec;
}
public String getCongViec() {
return congViec;
}
public void setCongViec(String congViec) {
this.congViec = congViec;
}
@Override
void nhap() {
super.nhap();
Scanner sc = new Scanner(System.in);
System.out.print("Nhập cổng việc: ");
this.congViec = sc.nextLine();
}
@Override
void xuat() {
System.out.println("Nhấn viên.");
super.xuat();
System.out.println("Cổng việc: " + getCongViec());
}
}
- QLCB.
package Bai1;
import java.util.ArrayList;
import java.util.Scanner;
public class QLCB {
public static ArrayList<CanBo> ds = new ArrayList<>();
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("======MENU======");
System.out.println("1.Thêm cán bộ.");
System.out.println("2.Tìm kiêAm họ theo tên.");
System.out.println("3.Hiê3n thị thổng tin danh sách cán bộ.");
System.out.println("4.Cập nhật thổng tin cán bộ.");
System.out.println("5.Xóa cán bộ theo tên.");
System.out.println("0.Thoát.");
int choice;
while (true) {
try {
System.out.print("Nhập phím tắAt: ");
choice = Integer.parseInt(sc.nextLine());
switch (choice) {
case 1:
themMoiCanBo();
break;
case 2:
timKiemCanBoTheoTen();
break;
case 3:
hienThiThongTinCanBo();
break;
case 4:
capNhatThongTinCanBo();
break;
case 5:
xoaCanBoTheoTen();
break;
case 0:
System.exit(0);
}
} catch (Exception e) {
continue;
}
}
}// main
private static void themMoiCanBo() {
Scanner sc = new Scanner(System.in);
while (true) {
try {
CanBo c;
System.out.print("1.Cổng nhấn; 2.Kỹ sư; 3.Nhấn viên;
0.Thoát: ");
int traLoi = Integer.parseInt(sc.nextLine());
if (traLoi == 1) {
c = new CongNhan();
} else if (traLoi == 2) {
c = new KySu();
} else {
c = new NhanVien();
}
if (traLoi >= 1 && traLoi <= 3) {
c.nhap();
ds.add(c);
}
if (traLoi == 0) {
break;
}
} catch (Exception e) {
continue;
}
} // while
} // end of themMoiDu
private static void timKiemCanBoTheoTen() {
Scanner sc = new Scanner(System.in);
System.out.print("Nhập tên cán bộ cấan tìm: ");
String ten = sc.nextLine();
for(CanBo c : ds) {
if(c.getHoTen().equalsIgnoreCase(ten)) {
c.xuat();
}
}
}
private static void hienThiThongTinCanBo() {
for(CanBo c : ds) {
c.xuat();
}
}
private static void capNhatThongTinCanBo() {
Scanner sc = new Scanner(System.in);
System.out.print("Nhập tên cán bộ cấan cập nhật: ");
String ten = sc.nextLine();
for(CanBo c : ds) {
if(c.getHoTen().equalsIgnoreCase(ten)) {
ds.remove(c);
c.nhap();
ds.add(c);
}
}
}
private static void xoaCanBoTheoTen() {
Scanner sc = new Scanner(System.in);
System.out.print("Nhập tên cán bộ cấan cập nhật: ");
String ten = sc.nextLine();
for(CanBo c : ds) {
if(c.getHoTen().equalsIgnoreCase(ten)) {
ds.remove(c);
}
}
}
}// class
BÀI 2
Một thư viện cần quản lý các tài liệu bao gồm Sách, Tạp chí, Báo. Mỗi tài liệu gồm có các
thuộc tính sau: Mã tài liệu (Mã tài liệu là duy nhất), Tên nhà xuất bản, số bản phát hành.
Các loại sách cần quản lý thêm các thuộc tính: tên tác giả, số trang.
Các tạp chí cần quản lý thêm: Số phát hành, tháng phát hành.
Các báo cần quản lý thêm: Ngày phát hành.
Yêu cầu 1: Xây dựng các lớp để quản lý tài liệu cho thư viện một cách hiệu quả.
Yêu cầu 2: Xây dựng lớp QuanLySachcác chức năng sau
Thêm mới tài liêu: Sách, tạp chí, báo.
Xoá tài liệu theo mã tài liệu.
Hiện thị thông tin về tài liệu.
Tìm kiếm tài liệu theo loại: Sách, tạp chí, báo.
Cập nhật thông tin theo mã tài liệu
Xóa cán bộ theo mã tài liệu Thoát khỏi chương trình.
Cài đặt.
- Tài liệu.
package Bai2; import
java.util.Scanner; public
class TaiLieu {
private String maTL;
private String nhaXB;
private int soBan;
public TaiLieu() {
}
public TaiLieu(String maTL, String nhaXB, int soBan) {
this.maTL = maTL;
this.nhaXB = nhaXB;
this.soBan = soBan;
}
public String getMaTL() {
return maTL;
}
public void setMaTL(String maTL) {
this.maTL = maTL;
}
public String getNhaXB() {
return nhaXB;
}
public void setNhaXB(String nhaXB) {
this.nhaXB = nhaXB;
}
public int getSoBan() {
return soBan;
}
public void setSoBan(int soBan) {
this.soBan = soBan;
}
void nhap() {
Scanner sc = new Scanner(System.in);
System.out.print("Nhập mã tài liệu: ");
this.maTL = sc.nextLine();
System.out.print("Nhập tên nhà xuấAt ba3n: ");
this.nhaXB = sc.nextLine();
System.out.print("Nhập sổA ba3n phát hành: ");
this.soBan = Integer.parseInt(sc.nextLine());
}
void xuat() {
System.out.println("Mã tài liệu: " + this.maTL);
System.out.println("Tên nhà xuấAt ba3n: " + this.nhaXB);
System.out.println("SổA ba3n xuấAt ba3n: " + this.soBan);
}
}
- Sách.
package Bai2; import
java.util.Scanner; public class
Sach extends TaiLieu {
private String tenTG;
private int soTrang;
public Sach() {
}
public Sach(String tenTG, int soTrang, String maTL, String nhaXB, int
soBan) {
super(maTL, nhaXB, soBan);
this.tenTG = tenTG;
this.soTrang = soTrang;
}
public String getTenTG() {
return tenTG;
}
public void setTenTG(String tenTG) {
this.tenTG = tenTG;
}
public int getSoTrang() {
return soTrang;
}
public void setSoTrang(int soTrang) {
this.soTrang = soTrang;
}
@Override
void nhap() {
super.nhap();
Scanner sc = new Scanner(System.in);
System.out.print("Nhập tên tác gia3: ");
this.tenTG = sc.nextLine();
System.out.print("Nhập sổA trang: ");
this.soTrang = Integer.parseInt(sc.nextLine()); }
@Override
void xuat() {
System.out.println("Sách.");
super.xuat();
System.out.println("Tên tác gia3: " + getTenTG());
System.out.println("SổA trang: " + getSoTrang()); }
}
- Tạp chí.
package Bai2; import
java.util.Scanner; public class
TapChi extends TaiLieu {
private int soPH;
private int thangPH;
public TapChi() {
}
public TapChi(int soPH, int thangPH) {
this.soPH = soPH;
this.thangPH = thangPH;
}
public TapChi(int soPH, int thangPH, String maTL, String nhaXB, int
soBan) {
super(maTL, nhaXB, soBan);
this.soPH = soPH;
this.thangPH = thangPH;
}
public int getSoPH() {
return soPH;
}
public void setSoPH(int soPH) {
this.soPH = soPH;
}
public int getThangPH() {
return thangPH;
}
public void setThangPH(int thangPH) {
this.thangPH = thangPH;
}
@Override
void nhap() {
super.nhap();
Scanner sc = new Scanner(System.in);
System.out.print("Nhập sổA phát hành: ");
this.soPH = Integer.parseInt(sc.nextLine());
while (true) {
System.out.print("Nhập tháng phát hành: ");
this.thangPH = Integer.parseInt(sc.nextLine());
if(thangPH < 1 || thangPH > 12) {
System.out.println("Khổng có tháng " + getThangPH());
}
if (thangPH >= 1 && thangPH <= 12) {
break;
}
}
}
@Override
void xuat() {
System.out.println("Tạp chí.");
super.xuat();
System.out.println("SổA phát hành: " + getSoPH());
System.out.println("Tháng phát hành: " + getThangPH());
}
}
- Báo.
package Bai2; import
java.util.Scanner; public class
Bao extends TaiLieu {
private int ngayPH;
public Bao() {
}
public Bao(int ngayPH) {
this.ngayPH = ngayPH;
}
public Bao(int ngayPH, String maTL, String nhaXB, int soBan) {
super(maTL, nhaXB, soBan);
this.ngayPH = ngayPH;
}
public int getNgayPH() {
return ngayPH;
}
public void setNgayPH(int ngayPH) {
this.ngayPH = ngayPH;
}
@Override
void nhap() {
super.nhap();
Scanner sc = new Scanner(System.in);
while (true) {
System.out.print("Nhập ngày phát hành: ");
this.ngayPH = Integer.parseInt(sc.nextLine());
if (ngayPH < 1 || ngayPH > 31) {
System.out.println("Khổng có ngày " + getNgayPH());
}
if (ngayPH >= 1 && ngayPH <= 31) {
break;
}
}
}
@Override
void xuat() {
System.out.println("Báo");
super.xuat();
System.out.println("Ngày phát hành: " + getNgayPH());
}
}
- QuanLySach
package Bai2;
import java.util.ArrayList;
import java.util.Scanner;
public class QuanLySach {
public static ArrayList<TaiLieu> ds = new ArrayList<>();
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("======MENU======");
System.out.println("1.Thêm mới tài liệu (Sách, Tạp chí, Báo).");
System.out.println("2.Xóa tài liệu theo mã tài liệu.");
System.out.println("3.Hiê3n thị thổng tin vêa tài liệu.");
System.out.println("4.Tìm kiêAm tài liệu theo loại.");
System.out.println("5.Cập nhật thổng tin theo mã tài liệu.");
System.out.println("0.Thoát chương trình.");
int choice;
while(true) {
System.out.print("Nhập phím tắAt: ");
try {
choice = Integer.parseInt(sc.nextLine());
switch (choice) {
case 1: themMoiDuLieu();
break;
case 2: xoaTaiLieuTheoMa();
break;
case 3: hienThiThongTinTaiLieu();
break;
case 4: timKiemTaiLieuTheoLoai();
break;
case 5: capNhatThongTinTaiLieuTheoMa();
break;
case 0: System.exit(0);
}
}catch(Exception e) {
continue;
}
} // while
} // end of main
private static void themMoiDuLieu() {
Scanner sc = new Scanner(System.in);
while(true) {
try {
TaiLieu t;
System.out.print("1.Sách; 2.Tạp chí; 3.Báo; 0.Thoát: ");
int traLoi = Integer.parseInt(sc.nextLine());
if(traLoi == 1) {
t = new Sach();
}else if(traLoi == 2) {
t = new TapChi();
}else {
t = new Bao();
}
if(traLoi >= 1 && traLoi <= 3) {
t.nhap();
ds.add(t);
}
if(traLoi == 0) {
break;
}
}catch(Exception e) {
continue;
}
} // while
} // end of themMoiDuLieu.
private static void xoaTaiLieuTheoMa() {
Scanner sc = new Scanner(System.in);
System.out.print("Nhập mã tài liệu cấan xóa: ");
String ma = sc.nextLine();
for(TaiLieu t : ds) {
if(t.getMaTL().equalsIgnoreCase(ma)) {
ds.remove(t);
break;
}
}
} // end of xoaTaiLieuTheoTen;
private static void hienThiThongTinTaiLieu() {
for(TaiLieu t : ds) {
t.xuat();
}
} // end of hienThiThongTinTaiLieu
private static void timKiemTaiLieuTheoLoai() {
Scanner sc = new Scanner(System.in);
System.out.print("Nhập mã tài liệu cấan tìm: ");
String ma = sc.nextLine();
for(TaiLieu t : ds) {
if(t.getMaTL().equalsIgnoreCase(ma)) {
t.xuat();
}
}
} // end of timKiemThongThongTheoLoai private static
void capNhatThongTinTaiLieuTheoMa() {
Scanner sc = new Scanner(System.in);
System.out.print("Nhập mã tài liệu cấan sư3a: ");
String ma = sc.nextLine();
for(TaiLieu t : ds) {
if(t.getMaTL().equalsIgnoreCase(ma)) {
ds.remove(t);
t.nhap();
ds.add(t);
}
}
}
} // end of Class
Bài 3
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.
Cập nhật thông tin số báo danh
Xóa cán bộ theo số báo danh
Thoát chương trình
Cài đặt
- Thí sinh.

Preview text:

TRƯỜNG ĐẠI HỌC DUY TÂN
KHOA CÔNG NGHỆ THÔNG TIN ---o0o--- ĐỒ ÁN CÁ NHÂN
Môn học: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Mã môn học: CS311 Số tín chỉ: 4 Lý thuyết: 3 Thực hành: 1 Lớp: CS311 SE1
Khoa: CÔNG NGHỆ PHẦN MỀM Năm học: 2022-2023
Họ và tên sinh viên: Nguyễn Duy Khoa Mã sinh viên: 28214525712
Giảng viên: Nguyễn Đình Thà
Đà Nẵng, tháng 8 năm 2023 BÀI 1
Một đơn vị sản xuất gồm có các cán bộ là công nhân, kỹ sư, nhân viên. Mỗi cán bộ cần
quản lý các dữ liệu: Họ tên, tuổi, giới tính(name, nữ, khác), địa chỉ.
Cấp công nhân sẽ có thêm các thuộc tính riêng: Bậc (1 đến 10).
Cấp kỹ sư có thuộc tính riêng: Nghành đào tạo.
Các nhân viên có thuộc tính riêng: công việc.
Yêu cầu 1: Xây dựng các lớp CongNhan, KySu, NhanVien kế thừa từ lớp CanBo. Yêu
cầu 2: Xây dựng lớp QLCB(quản lý cán bộ) cài đặt các phương thức thực hiện các chức năng sau: Thêm mới cán bộ. Tìm kiếm theo họ tên.
Hiện thị thông tin về danh sách các cán bộ.
Thoát khỏi chương trình. Cài đặt - Cán bộ. package Bai1; import java.util.Scanner; public class CanBo { private String hoTen; private int tuoi; private boolean gioiTinh; private String diaChi; public CanBo() { }
public CanBo(String hoTen, int tuoi, boolean gioiTinh, String diaChi) { this.hoTen = hoTen; this.tuoi = tuoi; this.gioiTinh = gioiTinh; this.diaChi = diaChi; } public String getHoTen() { return hoTen; }
public void setHoTen(String hoTen) { this.hoTen = hoTen; } public int getTuoi() { return tuoi; }
public void setTuoi(int tuoi) { this.tuoi = tuoi; }
public boolean isGioiTinh() { return gioiTinh; }
public void setGioiTinh(boolean gioiTinh) { this.gioiTinh = gioiTinh; } public String getDiaChi() { return diaChi; }
public void setDiaChi(String diaChi) { this.diaChi = diaChi; } void nhap() {
Scanner sc = new Scanner(System.in);
System.out.print("Nhập họ và tên: "); this.hoTen = sc.nextLine();
System.out.print("Nhập tuổ3i: ");
this.tuoi = Integer.parseInt(sc.nextLine());
System.out.print("Nhập giới tính(T = Nam): "); String sex = sc.nextLine();
this.gioiTinh = sex.equalsIgnoreCase("T") ? true : false;
System.out.print("Nhập địa chỉ3: "); this.diaChi = sc.nextLine(); } void xuat() {
System.out.println("Họ và tên: " + getHoTen());
System.out.println("Tuổ3i: " + getTuoi());
System.out.println("Giới tính: " + isGioiTinh()); } } - Công nhân. package Bai1; import java.util.Scanner;
public class CongNhan extends CanBo{ private int capBac; public CongNhan() { }
public CongNhan(int capBac) { this.capBac = capBac; }
public CongNhan(int capBac, String hoTen, int tuoi, boolean gioiTinh, String diaChi) {
super(hoTen, tuoi, gioiTinh, diaChi); this.capBac = capBac; } public int getCapBac() { return capBac; }
public void setCapBac(int capBac) { this.capBac = capBac; } @Override void nhap() { super.nhap();
Scanner sc = new Scanner(System.in); while(true) {
System.out.print("Nhập cấAp bậc: ");
this.capBac = Integer.parseInt(sc.nextLine());
if(capBac < 1 || capBac > 10) {
System.out.println("CấAp bậc khổng hợp lệ!"); }
if(capBac >= 1 && capBac <= 10) { break; } } } @Override void xuat() {
System.out.println("Cổng nhấn."); super.xuat();
System.out.println("CấAp bậc: " + getCapBac()); } } - Kỹ sư.
package Bai1; import java.util.Scanner; public class KySu extends CanBo { private String nganhDT; public KySu() { }
public KySu(String nganhDT) { this.nganhDT = nganhDT; }
public KySu(String nganhDT, String hoTen, int tuoi, boolean gioiTinh, String diaChi) {
super(hoTen, tuoi, gioiTinh, diaChi); this.nganhDT = nganhDT; } public String getNganhDT() { return nganhDT; }
public void setNganhDT(String nganhDT) { this.nganhDT = nganhDT; } @Override void nhap() { super.nhap();
Scanner sc = new Scanner(System.in);
System.out.print("Nhập ngành đào tạo: ");
this.nganhDT = sc.nextLine(); } @Override void xuat() {
System.out.println("Kỹ su"); super.xuat();
System.out.println("Ngành đào tạo: " + getNganhDT()); } } - Nhân viên. package Bai1; import
java.util.Scanner; public class
NhanVien extends CanBo { private String congViec; public NhanVien() { }
public NhanVien(String congViec) { this.congViec = congViec; }
public NhanVien(String congViec, String hoTen, int tuoi, boolean gioiTinh, String diaChi) {
super(hoTen, tuoi, gioiTinh, diaChi); this.congViec = congViec; }
public String getCongViec() { return congViec; }
public void setCongViec(String congViec) { this.congViec = congViec; } @Override void nhap() { super.nhap();
Scanner sc = new Scanner(System.in);
System.out.print("Nhập cổng việc: ");
this.congViec = sc.nextLine(); } @Override void xuat() {
System.out.println("Nhấn viên."); super.xuat();
System.out.println("Cổng việc: " + getCongViec()); } } - QLCB. package Bai1; import java.util.ArrayList; import java.util.Scanner; public class QLCB {
public static ArrayList ds = new ArrayList<>();
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("======MENU======");
System.out.println("1.Thêm cán bộ.");
System.out.println("2.Tìm kiêAm họ theo tên.");
System.out.println("3.Hiê3n thị thổng tin danh sách cán bộ.");
System.out.println("4.Cập nhật thổng tin cán bộ.");
System.out.println("5.Xóa cán bộ theo tên.");
System.out.println("0.Thoát."); int choice; while (true) { try {
System.out.print("Nhập phím tắAt: ");
choice = Integer.parseInt(sc.nextLine()); switch (choice) { case 1: themMoiCanBo(); break; case 2: timKiemCanBoTheoTen(); break; case 3: hienThiThongTinCanBo(); break; case 4: capNhatThongTinCanBo(); break; case 5: xoaCanBoTheoTen(); break; case 0: System.exit(0); } } catch (Exception e) { continue; } } }// main
private static void themMoiCanBo() {
Scanner sc = new Scanner(System.in); while (true) { try { CanBo c;
System.out.print("1.Cổng nhấn; 2.Kỹ sư; 3.Nhấn viên; 0.Thoát: ");
int traLoi = Integer.parseInt(sc.nextLine()); if (traLoi == 1) { c = new CongNhan(); } else if (traLoi == 2) { c = new KySu(); } else { c = new NhanVien(); }
if (traLoi >= 1 && traLoi <= 3) { c.nhap(); ds.add(c); } if (traLoi == 0) { break; } } catch (Exception e) { continue; } } // while } // end of themMoiDu
private static void timKiemCanBoTheoTen() {
Scanner sc = new Scanner(System.in);
System.out.print("Nhập tên cán bộ cấan tìm: "); String ten = sc.nextLine(); for(CanBo c : ds) {
if(c.getHoTen().equalsIgnoreCase(ten)) { c.xuat(); } } }
private static void hienThiThongTinCanBo() { for(CanBo c : ds) { c.xuat(); } }
private static void capNhatThongTinCanBo() {
Scanner sc = new Scanner(System.in);
System.out.print("Nhập tên cán bộ cấan cập nhật: "); String ten = sc.nextLine(); for(CanBo c : ds) {
if(c.getHoTen().equalsIgnoreCase(ten)) { ds.remove(c); c.nhap(); ds.add(c); } } }
private static void xoaCanBoTheoTen() {
Scanner sc = new Scanner(System.in);
System.out.print("Nhập tên cán bộ cấan cập nhật: "); String ten = sc.nextLine(); for(CanBo c : ds) {
if(c.getHoTen().equalsIgnoreCase(ten)) { ds.remove(c); } } } }// class BÀI 2
Một thư viện cần quản lý các tài liệu bao gồm Sách, Tạp chí, Báo. Mỗi tài liệu gồm có các
thuộc tính sau: Mã tài liệu (Mã tài liệu là duy nhất), Tên nhà xuất bản, số bản phát hành.
Các loại sách cần quản lý thêm các thuộc tính: tên tác giả, số trang.
Các tạp chí cần quản lý thêm: Số phát hành, tháng phát hành.
Các báo cần quản lý thêm: Ngày phát hành.
Yêu cầu 1: Xây dựng các lớp để quản lý tài liệu cho thư viện một cách hiệu quả.
Yêu cầu 2: Xây dựng lớp QuanLySach có các chức năng sau
Thêm mới tài liêu: Sách, tạp chí, báo.
Xoá tài liệu theo mã tài liệu.
Hiện thị thông tin về tài liệu.
Tìm kiếm tài liệu theo loại: Sách, tạp chí, báo.
Cập nhật thông tin theo mã tài liệu
Xóa cán bộ theo mã tài liệu Thoát khỏi chương trình. Cài đặt. - Tài liệu. package Bai2; import java.util.Scanner; public class TaiLieu { private String maTL; private String nhaXB; private int soBan; public TaiLieu() { }
public TaiLieu(String maTL, String nhaXB, int soBan) { this.maTL = maTL; this.nhaXB = nhaXB; this.soBan = soBan; } public String getMaTL() { return maTL; }
public void setMaTL(String maTL) { this.maTL = maTL; } public String getNhaXB() { return nhaXB; }
public void setNhaXB(String nhaXB) { this.nhaXB = nhaXB; } public int getSoBan() { return soBan; }
public void setSoBan(int soBan) { this.soBan = soBan; } void nhap() {
Scanner sc = new Scanner(System.in);
System.out.print("Nhập mã tài liệu: "); this.maTL = sc.nextLine();
System.out.print("Nhập tên nhà xuấAt ba3n: "); this.nhaXB = sc.nextLine();
System.out.print("Nhập sổA ba3n phát hành: ");
this.soBan = Integer.parseInt(sc.nextLine()); } void xuat() {
System.out.println("Mã tài liệu: " + this.maTL);
System.out.println("Tên nhà xuấAt ba3n: " + this.nhaXB);
System.out.println("SổA ba3n xuấAt ba3n: " + this.soBan); } } - Sách. package Bai2; import
java.util.Scanner; public class Sach extends TaiLieu { private String tenTG; private int soTrang; public Sach() { }
public Sach(String tenTG, int soTrang, String maTL, String nhaXB, int soBan) { super(maTL, nhaXB, soBan); this.tenTG = tenTG; this.soTrang = soTrang; } public String getTenTG() { return tenTG; }
public void setTenTG(String tenTG) { this.tenTG = tenTG; } public int getSoTrang() { return soTrang; }
public void setSoTrang(int soTrang) { this.soTrang = soTrang; } @Override void nhap() { super.nhap();
Scanner sc = new Scanner(System.in);
System.out.print("Nhập tên tác gia3: "); this.tenTG = sc.nextLine();
System.out.print("Nhập sổA trang: ");
this.soTrang = Integer.parseInt(sc.nextLine()); } @Override void xuat() {
System.out.println("Sách."); super.xuat();
System.out.println("Tên tác gia3: " + getTenTG());
System.out.println("SổA trang: " + getSoTrang()); } } - Tạp chí. package Bai2; import
java.util.Scanner; public class TapChi extends TaiLieu { private int soPH; private int thangPH; public TapChi() { }
public TapChi(int soPH, int thangPH) { this.soPH = soPH; this.thangPH = thangPH; }
public TapChi(int soPH, int thangPH, String maTL, String nhaXB, int soBan) { super(maTL, nhaXB, soBan); this.soPH = soPH; this.thangPH = thangPH; } public int getSoPH() { return soPH; }
public void setSoPH(int soPH) { this.soPH = soPH; } public int getThangPH() { return thangPH; }
public void setThangPH(int thangPH) { this.thangPH = thangPH; } @Override void nhap() { super.nhap();
Scanner sc = new Scanner(System.in);
System.out.print("Nhập sổA phát hành: ");
this.soPH = Integer.parseInt(sc.nextLine()); while (true) {
System.out.print("Nhập tháng phát hành: ");
this.thangPH = Integer.parseInt(sc.nextLine());
if(thangPH < 1 || thangPH > 12) {
System.out.println("Khổng có tháng " + getThangPH()); }
if (thangPH >= 1 && thangPH <= 12) { break; } } } @Override void xuat() {
System.out.println("Tạp chí."); super.xuat();
System.out.println("SổA phát hành: " + getSoPH());
System.out.println("Tháng phát hành: " + getThangPH()); } } - Báo. package Bai2; import
java.util.Scanner; public class Bao extends TaiLieu { private int ngayPH; public Bao() { } public Bao(int ngayPH) { this.ngayPH = ngayPH; }
public Bao(int ngayPH, String maTL, String nhaXB, int soBan) { super(maTL, nhaXB, soBan); this.ngayPH = ngayPH; } public int getNgayPH() { return ngayPH; }
public void setNgayPH(int ngayPH) { this.ngayPH = ngayPH; } @Override void nhap() { super.nhap();
Scanner sc = new Scanner(System.in); while (true) {
System.out.print("Nhập ngày phát hành: ");
this.ngayPH = Integer.parseInt(sc.nextLine());
if (ngayPH < 1 || ngayPH > 31) {
System.out.println("Khổng có ngày " + getNgayPH()); }
if (ngayPH >= 1 && ngayPH <= 31) { break; } } } @Override void xuat() { System.out.println("Báo"); super.xuat();
System.out.println("Ngày phát hành: " + getNgayPH()); } } - QuanLySach package Bai2; import java.util.ArrayList; import java.util.Scanner; public class QuanLySach {
public static ArrayList ds = new ArrayList<>();
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("======MENU======");
System.out.println("1.Thêm mới tài liệu (Sách, Tạp chí, Báo).");
System.out.println("2.Xóa tài liệu theo mã tài liệu.");
System.out.println("3.Hiê3n thị thổng tin vêa tài liệu.");
System.out.println("4.Tìm kiêAm tài liệu theo loại.");
System.out.println("5.Cập nhật thổng tin theo mã tài liệu.");
System.out.println("0.Thoát chương trình."); int choice; while(true) {
System.out.print("Nhập phím tắAt: "); try {
choice = Integer.parseInt(sc.nextLine()); switch (choice) { case 1: themMoiDuLieu(); break; case 2: xoaTaiLieuTheoMa(); break;
case 3: hienThiThongTinTaiLieu(); break;
case 4: timKiemTaiLieuTheoLoai(); break;
case 5: capNhatThongTinTaiLieuTheoMa(); break; case 0: System.exit(0); } }catch(Exception e) { continue; } } // while } // end of main
private static void themMoiDuLieu() {
Scanner sc = new Scanner(System.in); while(true) { try { TaiLieu t;
System.out.print("1.Sách; 2.Tạp chí; 3.Báo; 0.Thoát: ");
int traLoi = Integer.parseInt(sc.nextLine()); if(traLoi == 1) { t = new Sach(); }else if(traLoi == 2) { t = new TapChi(); }else { t = new Bao(); }
if(traLoi >= 1 && traLoi <= 3) { t.nhap(); ds.add(t); } if(traLoi == 0) { break; } }catch(Exception e) { continue; } } // while } // end of themMoiDuLieu.
private static void xoaTaiLieuTheoMa() {
Scanner sc = new Scanner(System.in);
System.out.print("Nhập mã tài liệu cấan xóa: "); String ma = sc.nextLine(); for(TaiLieu t : ds) {
if(t.getMaTL().equalsIgnoreCase(ma)) { ds.remove(t); break; } }
} // end of xoaTaiLieuTheoTen;
private static void hienThiThongTinTaiLieu() { for(TaiLieu t : ds) { t.xuat(); }
} // end of hienThiThongTinTaiLieu
private static void timKiemTaiLieuTheoLoai() {
Scanner sc = new Scanner(System.in);
System.out.print("Nhập mã tài liệu cấan tìm: "); String ma = sc.nextLine(); for(TaiLieu t : ds) {
if(t.getMaTL().equalsIgnoreCase(ma)) { t.xuat(); } }
} // end of timKiemThongThongTheoLoai private static
void capNhatThongTinTaiLieuTheoMa() {
Scanner sc = new Scanner(System.in);
System.out.print("Nhập mã tài liệu cấan sư3a: "); String ma = sc.nextLine(); for(TaiLieu t : ds) {
if(t.getMaTL().equalsIgnoreCase(ma)) { ds.remove(t); t.nhap(); ds.add(t); } } } } // end of Class Bài 3
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.
Cập nhật thông tin số báo danh
Xóa cán bộ theo số báo danh Thoát chương trình Cài đặt - Thí sinh.