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

Bài tập lớn môn lập trình hướng đối tượng đề số 26 quản lý thu học phí của trung tâm tin học ngoại ngữ

38 10 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ý thu học phí của trung tâm tin học ngoại ngữ
Tác giả Mai Tuyết Anh, Hà Thị Anh Thư, Phạm Thanh Tùng, Trần Minh Hiếu
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 Lập trình hướng đối tượng
Thể loại báo cáo bài tập lớn
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 38
Dung lượng 2,3 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

TRƯỜNG ĐẠI HỌC MỞ HÀ NỘIKHOA CÔNG NGHỆ THÔNG TIN ---BÁO CÁO BÀI TẬP LỚN MÔN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Đề số 26: Quản lý thu học phí của Trung tâm tin học ngoại ngữ Giảng viên hướng dẫ

Trang 1

TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI

KHOA CÔNG NGHỆ THÔNG TIN

-BÁO CÁO BÀI TẬP LỚN MÔN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG

Đề số 26:

Quản lý thu học phí của Trung tâm tin học ngoại ngữ

Giảng viên hướng dẫn : ThS Nguyễn Thành Huy

Sinh viên thực hiện : Mai Tuyết Anh - 2210A01

Hà Thị Anh Thư - 2210A04

Phạm Thanh Tùng - 2210A04

Trần Minh Hiếu - 2210A06

Trang 2

PHÂN CÔNG VÀ KẾ HOẠCH THỰC HIỆN

HỌ VÀ TÊN CÔNG VIỆC ĐÁNH GIÁ

KẾT QUẢ

GHI CHÚ

Mai Tuyết Anh 1 Phân tích, đưa ra hướng giải quyết đề

2 Kiểm tra, bổ sung chức năng cho các lớp

3 Kiểm thử bộ dữ liệu test, test các chức năng

Hoàn thành

Hà Thị Anh Thư 1 Bổ sung chức năng cho các lớp

2 Hoàn thiện bản word báo cáo BTL

Hoàn thành

Phạm Thanh Tùng 1 Xác định, mô tả và cài đặt các lớp trong

chương trình

2 Test các chức năng

Hoàn thành

Trần Minh Hiếu 1 Xác định, mô tả và cài đặt các lớp trong

chương trình

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

Hoàn thành

Trang 3

I PHÁT BIỂU BÀI TOÁN:

1.Phát biểu bài toán:

Trung tâm tin học ngoại ngữ ABC có các môn học như Excel, PowerPoint,Word, IELTS,… mỗi môn học lại được chia thành các lớp được tổ chức theolịch học cụ thể trong tuần Mỗi lớp học theo lịch đều có một mức học phí khácnhau, muốn tham gia khóa học tại trung tâm cần chọn lớp để đăng kí và thanhtoán trước học phí để trở thành học viên Xây dựng hệ thống để quản lý việcthu học phí của trung tâm ABC gồm những đối tượng quản lý sau:

- Người thu tiền: Thực hiện thu học phí

- Học viên: Đăng kí lớp, nộp học phí và tham gia khóa học

- Hóa đơn: Chứa thông tin thanh toán của học viên

- Lịch học: Theo các ngày trong tuần

- Lớp: Mỗi lớp theo lịch lại có mức học phí khác nhau

+Constructor: hàm khởi tạo không tham số, có tham số

+Setter, getter: phương thức set, get cho các thuộc tính

+toString(): Override phương thức toString

Trang 7

IV. MÔ TẢ THUẬT TOÁN VÀ CÁC BƯỚC THỰC HIỆN:

1 Khởi tạo đối tượng:

- Viết hàm khởi tạo không có tham số

- Viết hàm khởi tạo có tham số với các biến đầu vào tương ứng với các

thuộc tính được khai báo trong đối tượng

2.Nhập danh sách đối tượng:

- Nhập số lượng phần tử cần thêm

- Thực hiện gọi hàm thêm một phần tử vào danh sách

3.Hiện danh sách đối tượng:

- Sử dụng vòng lặp for lặp từ phần tử đầu tới phần tử cuối trong danh sách,

gọi phương thức hiện của đối tượng tương ứng

4.Ghi danh sách vào file:

- Implements giao diện Serializable trong đối tượng cần đọc

- Ghi danh sách vào file đối tượng tương ứng

Nếu ghi thành công in ra thông báo “Ghi file thành công”

5.Đọc danh sách từ file:

- Đọc file và lưu file vào danh sách đối tượng tương ứng

- In ra màn hình danh sách đối tượng tương ứng

6.Tìm kiếm theo mã:

- Nhập mã đối tượng cần tìm

- Dùng vòng lặp foreach và câu lệnh so sánh equals, nếu mã nhập vào trùng

với dữ liệu đã có thì hiện đối tượng ra màn hình

Trang 8

7.Sửa thông tin:

- Nhập mã đối tượng cần sửa thông tin

- Dùng vòng lặp for( duyệt theo chỉ số ) và câu lệnh so sánh equals, nếu mã

nhập vào trùng với dữ liệu đã có thì nhập lại các thông tin cần sửa của đối tượng ra

- Hiện lại danh sách đối tượng vừa sửa

8.Xóa theo mã:

- Nhập mã đối tượng cần xóa

- Dùng vòng lặp foreach và câu lệnh so sánh equals, nếu mã nhập vào trùng

với dữ liệu đã có thì gọi câu lệnh xóa remove

- Hiện lại danh sách đối tượng sau khi xóa

V. CÀI ĐẶT BÀI TOÁN:

1.Class LichHoc

package BaiTapLon;

import java.io.Serializable;

public class LichHoc implements Serializable{

private String thuHoc;

private String buoiHoc;

public LichHoc(String thuHoc, String buoiHoc) {

public String toString() {

return this.buoiHoc+" th "+ứ this.thuHoc;

Trang 9

private String monHoc;

private double hocPhi;

private LichHoc lich;

public void nhapLop() {

Scanner sc = new Scanner(System.in);

Trang 10

System.out.print("Mã l p: "); this.maLop =ớsc.nextLine();

System.out.print("Môn h c: "); this.monHoc =ọsc.nextLine();

System.out.print("H c phí: "); this.hocPhi =ọsc.nextDouble();

public String xemLichHoc() {

return this.lich.toString();

}

public String toString() {

return "\nMã l p: "+this.maLop+", Môn h c:ớ ọ

Trang 11

public class DsLop {

private ArrayList<Lop> dsLop = new ArrayList<Lop>();

public ArrayList<Lop> getDsLop() {

public void nhapDsLop(){

Lop l = new Lop();

public void hienDsLop() {

for (Lop lop : dsLop) {

public void xoaLop() {

Scanner sc = new Scanner(System.in);

System.out.print("Nh p mã l p mu n xóa : ");ậ ớ ố String ml=sc.nextLine();

for (Lop lop:dsLop) {

Trang 12

public void luuFile() throws FileNotFoundException,IOException {

File fname = new File("33.dat");

FileOutputStream fout = new FileOutputStream(fname);ObjectOutputStream out = new ObjectOutputStream(fout);out.writeObject(dsLop);

File fname = new File("33.dat");

FileInputStream fin = new FileInputStream(fname);ObjectInputStream in = new ObjectInputStream(fin);dsLop = new ArrayList<Lop>();

dsLop = (ArrayList) in.readObject();

public interface ILuong {

final double luongCB = 1450;

public abstract double tienluong();

public class Nguoi implements Serializable{

protected String hoTen;

protected String ngaySinh;

protected String gioiTinh;

protected String queQuan;

Trang 13

public String getHoTen() {

public void nhap() {

Scanner sc = new Scanner(System.in);

System.out.print("Họ và tên: "); this.hoTen =sc.nextLine();

System.out.print("Ngày sinh: "); this.ngaySinh =sc.nextLine();

System.out.print("Gi i tính: "); this.gioiTinh =ớsc.nextLine();

System.out.print("Quê quán: "); this.queQuan =sc.nextLine();

}

public void hien() {

Trang 14

private String maNTT;

private double heSoLuong;

public void nhap() {

Scanner sc = new Scanner(System.in);

System.out.println("Mã người thu ti n: "); this.maNTT =ềsc.nextLine();

super.nhap();

System.out.println("H s lệ ố ương: "); this.heSoLuong =sc.nextInt();

}

public void hien() {

Scanner sc = new Scanner(System.in);

Trang 15

public class DsNguoiThuTien {

private ArrayList<NguoiThuTien> dsNTT = new

System.out.println("Không th thêm nhân viên ểnày do trùng mã!");

Trang 16

public void hienDsNTT() {

System.out.println("\nDANH SÁCH NGƯỜI THU TI N");Ề

System.out.printf("%15s","MãNTT");

System.out.printf("%15s","TênNTT");

System.out.printf("%15s","Ngày sinh");

System.out.printf("%15s","Gi i tính");ớ

System.out.printf("%15s","Quê quán");

System.out.printf("%15s","H sl");ệ

System.out.printf("%15s","Ti n lề ương");

for (NguoiThuTien nguoiThuTien : this.dsNTT) {

System.out.print('\n');

nguoiThuTien.hien();

}

}

public void timkiemnguoitttheomntt(){

Scanner sc = new Scanner(System.in);

System.out.printf("%15s","Ngày sinh");

System.out.printf("%15s","Gi i tính");ớ

System.out.printf("%15s","Quê quán");

System.out.printf("%15s","H sl");ệ

System.out.printf("%15s","Ti n lề ương\n");

for(NguoiThuTien nguoiThuTien : dsNTT){

if(nguoiThuTien.getMaNTT().equals(n)==true){ nguoiThuTien.hien();

}

}

}

public void suaThongTinNguoithutien() {

Scanner sc = new Scanner(System.in);

System.out.print("Nh p vào mã ngậ ười thu ti n mu n s a ề ố ửthông tin"); String mntt = sc.nextLine();

Trang 17

System.out.println("H s lệ ố ương: "); double

public void XoaNTT() {

Scanner sc = new Scanner(System.in);

System.out.print("Nh p mã ngậ ười thu ti n mu n xóa : ề ố

");

String mntt = sc.nextLine();

for(int j=0;j<dsNTT.size();j++) {

if(dsNTT.get(j).getMaNTT().equals(mntt)) { dsNTT.remove(j);

System.out.println("Xóa nhân viên thành công!!!");

File fname = new File("11.dat");

FileOutputStream fout = new FileOutputStream(fname); ObjectOutputStream out = new ObjectOutputStream(fout); out.writeObject(dsNTT);

File fname = new File("11.dat");

FileInputStream fin = new FileInputStream(fname); ObjectInputStream in = new ObjectInputStream(fin); dsNTT = new ArrayList<NguoiThuTien>();

Trang 18

private String maHv;

private ArrayList<Lop> DsLopDaDangKy;

private ArrayList<NguoiThuTien> DsNguoiThuTien; private HoaDon hoaDonHocPhi = new HoaDon();

private int maHD=0;

private String maThu;

Trang 19

public void setHoaDonHocPhi(HoaDon hoaDonHocPhi) {

this.hoaDonHocPhi = hoaDonHocPhi;

}

public void nhap() {

Scanner sc = new Scanner(System.in);

System.out.print("\nMã h c viên: "); ọ this.maHv = sc.nextLine();

public void DKLopHoc(ArrayList<Lop> dsl) {

Scanner sc = new Scanner(System.in);

for (Lop lop2 : DsLopDaDangKy) {

//làm thêm ch cứ năng đăng ký l pớ không b trùngị

l chị h cọ

if(lop.xemLichHoc().equals(lop2.xemLichHoc()))dem++;

Trang 20

hoaDonHocPhi.congTienHoaDon(lop.getHocPhi());

hoaDonHocPhi.themVaoThongTinHoaDon(lop.toString());

}

}

}

public void hienLopDaDangKy() {

System.out.println(" -DANH SÁCH CÁC

public void xuatHoaDon() {

System.out.println(" -THÔNG TIN HÓA

public void LuuHoaDonVaoFile() {

try {

Trang 21

PrintWriter pw = new PrintWriter("C:\\Bai tap lon\\Hoadon"+maHv +".txt", StandardCharsets.UTF_8);//có th tể ự

đ ngộ t oạ ra file n uế file không có s nẵ

pw.println("Mã h c viên: "+ọ this.maHv);

pw.println("H và tên: "+ọ this.hoTen);

pw.println("Ngày sinh: "+this.ngaySinh);

pw.println("Gi i tính: "+ớ this.gioiTinh);

pw.flush();//đ yẩ thông tin vào file

pw.close();//làm xong ph iả đóng file

public class DsHocVien {

ArrayList<HocVien> dsHocVien = new ArrayList<HocVien>(); private int demMaHoaDon = 1000000;

Trang 22

public void nhapHocVien(){

HocVien hv = new HocVien();

hv.nhap();

for (HocVien hocVien : dsHocVien) {

if(hv.getMaHv().equals(hocVien.getMaHv())) { System.out.println("Không th thêm h c viên ể ọnày do b trùng mã h c viên!");ị ọ

public void hienDSHocVien() {

System.out.println("\nHI N DANH SÁCH H C VIÊN");Ệ Ọ

System.out.printf("%15s","MãHV");

System.out.printf("%15s","TênHV");

System.out.printf("%15s","Ngày sinh");

System.out.printf("%15s","Gi i tính");ớ

System.out.printf("%15s","Quê quán");

for (HocVien hocVien : dsHocVien) {

System.out.print('\n');

hocVien.hien();

}

}

public void dangKyLopHoc(ArrayList<Lop> dslop) {

Scanner sc = new Scanner(System.in);

System.out.print("Nh p mã h c viên mu n đăng ký l p ậ ọ ố ớ

public void hienLopDaDangKy() {

Scanner sc = new Scanner(System.in);

System.out.print("Nh p vào mã h c viên mu n ki m tra ậ ọ ố ểcác l p đã đăng ký: ");ớ

String mhv = sc.nextLine();

for (HocVien hocVien : dsHocVien) {

Trang 23

if (mhv.equals(hocVien.getMaHv()))

hocVien.hienLopDaDangKy();

}

}

public void xuatHoaDon() {

Scanner sc = new Scanner(System.in);

System.out.print("Nh p mã h c viên mu n xu t hóa đ n: ậ ọ ố ấ ơ

public void timkiemhocvientheomhv(){

Scanner sc = new Scanner(System.in);

public void suaThongTinHocVien() {

Scanner sc = new Scanner(System.in);

System.out.print("Nh p vào mã h c viên mu n s a thông ậ ọ ố ửtin"); String mhv = sc.nextLine();

for (HocVien hocVien : dsHocVien) {

Trang 24

System.out.print("Quê quán: "); String queQuan

public void XoaHocVien() {

Scanner sc = new Scanner(System.in);

System.out.print("Nh p mã h c viên mu n xóa : ");ậ ọ ố String mhv = sc.nextLine();

for (int j = 0; j < dsHocVien.size(); j++) {

if (dsHocVien.get(j).getMaHv().equals(mhv)) { dsHocVien.remove(j);

System.out.println("Xóa h c viên thành ọcông!!!");

File fname = new File("22.dat");

FileOutputStream fout = new FileOutputStream(fname); ObjectOutputStream out = new ObjectOutputStream(fout); out.writeObject(dsHocVien);

File fname = new File("22.dat");

FileInputStream fin = new FileInputStream(fname); ObjectInputStream in = new ObjectInputStream(fin); dsHocVien = new ArrayList<HocVien>();

dsHocVien = (ArrayList) in.readObject();

in.close();

fin.close();

}

}

Trang 25

10.Class HoaDon

package BaiTapLon;

import java.io.Serializable;

public class HoaDon implements Serializable{

private int maHoaDon;

private String thongTinHoaDon="";

private double tongTien;

public int getMaHoaDon() {

Trang 26

import java.io.IOException;

import java.util.Scanner;

public class ClassChinh {

public static void main(String[] args) throwsFileNotFoundException, IOException, ClassNotFoundException {MenuTongQuat m = new MenuTongQuat();

public class MenuTongQuat {

DsLop dsl = new DsLop();

DsHocVien dshv = new DsHocVien();

DsNguoiThuTien dsntt = new DsNguoiThuTien();

Trang 27

System.out.println("| 0 Quay v trang trề ước

Trang 28

if (n2 < -1)

System.out.println("L a ch n sai, vui lòngự ọ

l a ch n l i!!!");ự ọ ạ

else {

Trang 29

switch (n2) {case 1:

Trang 31

Mã nv Họ tên Ngày sinh Giới tính Quê quán HSL

Nhân viên

Học viên

Mã hv Họ tên Ngày sinh Giới tính Quê quán

1 Quản lý danh sách học viên:

-Nhập và hiện danh sách học viên:

Trang 32

-Thêm học viên vào danh sách học viên:

Trang 33

-Xóa học viên theo mã học viên:

-Đăng kí lớp học:

-Hiển thị hóa đơn:

Trang 34

2 Quản lý danh sách người thu tiền:

Trang 35

-Nhập và hiện danh sách thu tiền:

-Sửa thông tin người thu tiền theo mã người thu tiền:

Trang 36

-Tìm kiếm người thu tiền theo mã người thu tiền:

-Xóa người thu tiền dựa theo mã người thu tiền:

3 Quản lý lớp học:

-Nhập và hiện danh sách lớp học:

-Thêm lớp vào danh sách lớp học:

Trang 38

-Xóa lớp theo mã lớp:

Ngày đăng: 20/09/2023, 15:38

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w