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

bài báo cáo cuối kì lập trình hướng đối tượng java đề tài phần mềm quản lý sinh viên

51 0 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

Nội dung

Class ThanhVien Thuộc tính: protected String maSo; hoTen namSinh; diaChi; 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

Trang 1

TRƯỜNG ĐẠI HỌC GIA ĐỊNHKHOA CÔNG NGHỆ THÔNG TIN

BÀI BÁO CÁO CUỐI KÌ

MÔN: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG JAVA Đề tài : Phần Mềm Quản Lý Sinh Viên

Tên giảng viên : Trần Hoài Thuận

Thành Phố Hồ Chí Minh, Tháng , Năm

Trang 2

Phần III: Mô tả thuật toán 9

1 Nhập thông tin cho Sinh Viên hoặc Giáo Viên 9

2 Đọc dữ liệu từ file 9

3 Chỉnh sửa thông tin theo mã 9

4 Xoá thông tin theo mã 9

5 Sắp xếp theo điểm trung bình 9

6 Sắp xếp theo tên 10

7 Tìm sinh viên theo tên 10

8 Xuất thông tin 10

9 Làm rỗng danh sách 10

10 Kiểm tra danh sách có rỗng hay không 11

11 Tính số năm giảng dạy (thâm niên) 11

12 Tìm giáo viên có thâm niên cao nhất 11

Phần IV: Cài đặt bài toán 12

1 Class ThanhVien 12

2 Class SinhVien 13

3 Class GiaoVien 16

Trang 3

Phần V: Thao tác trên màn hình console 44

1 Thao tác nhập thông tin 44

*Sinh Vien 44

*Giao Vien 44

2 Thao tác đọc dữ liệu từ file 45

3 Thao tác chỉnh sửa thông tin theo mã 45

4 Thao tác xoá sinh viên theo mã 46

5 Thao tác sắp xếp sinh viên theo điểm trung bình 46

6 Thao tác sắp xếp sinh viên theo tên 47

7 Thao tác tìm sinh viên theo tên nhập từ bàn phím 47

8 Thao tác xuất thông tin 48

*Giao Vien 48

9 Thao tác làm rỗng danh sách 49

10 Thao tác kiểm tra danh sách 49

11 Thao tác tính thâm niên của giáo viên 50

12 Thao tác xuất danh sách giáo viên có thâm niên cao nhất 50

Phần VI: Kết luận 50

Trang 4

Phần I: LỜI MỞ ĐẦU1 Lí do chọn đề tài

Cùng với sự phát triển mạnh mẽ của công nghệ thông tin và sự xâm nhập nhanh chóng củacông nghệ thông tin vào mọi lĩnh vực của đời sống xã hội, việc sử dụng máy tính trong công tácquản lý ngày càng trở thành nhu cầu cấp thiết, cấp bách, là yếu tố cần thiết để nâng cao chất lượngvà hiệu quả công tác quản lý.

Trong lĩnh vực quản lý sinh viên, việc điều chỉnh và bổ sung thông tin rất khó khăn và khóhiểu, việc tìm kiếm thông tin tốn nhiều thời gian và mức độ chính xác thấp.

Do đó, nhóm chúng em đã thống nhất tìm hiểu nghiên cứu xây dựng phần mềm quản lý sinhviên nhằm hỗ trợ tối đa việc quản lý, thao tác tra cứu, báo cáo thống kê diễn ra nhanh chóng với độchính xác cao, thao tác đơn giản.

2 Đối tượng nghiên cứu

- Phần mềm quản lý sinh viên.

3 Phạm vi nghiên cứu

- Người có nhu cầu dùng phần mềm quản lý sinh viên.

- Quy trình hoạt động của các phần mềm quản lý sinh viên thông thường

Trang 5

Phần II Xác định các lớp của bài toán1 Class ThanhVien

 Thuộc tính: protected String maSo; hoTen namSinh; diaChi; 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 protected Bussiness:

 nhap: nhập thông tin các thuộc tính xuat: Hiện ra các thông tin

 Constructor: 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. Bussiness:

 nhap: Lựa chọn nhâ ̣p cho sinh viên hoă ̣c giáo viên.

 xuatThongTinSinhVien: Hiển th椃⌀ thông tin của các sinh viên có trong danh sách. xuatThongTinGiaoVien: Hiển th椃⌀ thông tin của các giáo viên có trong danh sách. xuatThongTin: hiển th椃⌀ lựa chọn xuất thông tin của giáo viên hoă ̣c sinh viên. taoDuLieu: Đọc dữ liệu từ file txt.

 chinhSuaThongTinSinhVien: Chỉnh sửa thông tin sinh viên theo MSSV. xoaSinhVienTheoMa: Xóa thông tin sinh viên theo MSSV.

 sapXepTheoDiemTB: Sắp xếp ĐTB giảm dần. sapXepTheoTen: Sắp xếp theo tên sinh viên. tinhDiemTrungBinh: Trả về điểm trung bình.

 timSinhVienTheoTen: Tìm sinh viên có tên nhâ ̣p từ bàn phím. lamRongDanhSach: Làm rỗng danh sách sinh viên.

 kiemTraDanhSach: Kiểm tra danh sách sinh viên có rỗng hay không. timDTBCaoNhat: Tìm ra ĐTB cao nhất trong danh sách sinh viên.

 dsHocSinhCoDTBCaoNhat: Tạo danh sách các sinh viên có ĐTB cao nhất. xepLoai: Sếp loại học sinh dựa vào ĐTB.

 tinhThamNien: Tính số năm giảng dạy.

 timGvTheoYeuCau: Tìm giáo viên có thâm niên cao nhất.

Trang 6

 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. Bussiness:

 tinhThamNien: Trả về kết quả số năm.

5 Class DanhSachSinhVien

 Thuộc tính: private ArrayList<SinhVien> listSinhVien; Phương thức:

 Constructor: 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 Bussiness:

 nhap: nhập thông tin các thuộc tính xuat: Hiện ra các thông tin

6 Class DanhSachGiaoVien

 Thuộc tính: private ArrayList<GiaoVien> listGiaoVien; Phương thức:

 Constructor: 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 Bussiness:

 nhap: nhập thông tin các thuộc tính xuat: Hiện ra các thông tin

7 Class NhapXuat

public interface nhapXuat {void nhap(Scanner scan);void xuat();

Trang 7

import java.util.Scanner;public class XuLy {

public static void main(String[] args) {

Scanner scan = new Scanner(System.in);doMenu(scan);

public static void inMenu() {

System.out.println("=========================***======================");System.out.println("[Moi Lua Chon Chuc Nang]>>");

System.out.println("1.Nhap thong tin");System.out.println("2.Doc du lieu tu file");

System.out.println("3.Chinh sua thong tin theo ma");System.out.println("4.Xoa Sinh Vien theo ma");

System.out.println("5.Sap xep Sinh Vien theo diem trung binh");System.out.println("6.Sap xep Sinh Vien theo ten");

System.out.println("7.Tim Sinh Vien theo ten nhap tu ban phim");System.out.println("8.Xuat thong tin");

System.out.println("9.Lam rong danh sach");System.out.println("10.Kiem tra danh sach");

System.out.println("11.Tinh tham nien cua Giao Vien");

System.out.println("12.Xuat danh sach Giao Vien co tham nien cao nhat");System.out.println("0.Thoat");

public static void doMenu(Scanner scan) {TruongHoc truong = new TruongHoc();

DanhSachSinhVien sinhVien = new DanhSachSinhVien();boolean flag = true;

do {

System.out.println("[Moi chon]>>");int chon = scan.nextInt();

Trang 8

switch (chon) {case 1:

case 2:

case 3:

case 4:

case 5:

ArrayList<SinhVien> lisths = truong.sapXepTheoDiemTb();for (SinhVien hs : lisths) {

break;case 6:

case 7:

case 8:

case 9:

case 10:

case 11:

case 12:

truong.tinhThamNien();

Trang 9

ArrayList<GiaoVien> list = truong.timGvTheoYeuCau();for (GiaoVien gv : list) {

break;case 0:

flag = false;break;default:

System.out.println("[Vui long chon dung chuc nang]");}

} while (flag);}

}

Trang 10

Phần III: Mô tả thuật toán

1 Nhập thông tin cho Sinh Viên hoặc Giáo Viên

Thuật toán:

- Khi người dùng chọn chức năng “Nhập thông tin”

- Sẽ gọi đến phương thức “nhap” đã được thiết kế ở Class TruongHoc phương thức sử dụngvòng lặp “do – while” cho phép người dùng chọn một trong ba tùy chọn để nhập thông tincho giáo viên, sinh viên hoặc thoát khỏi chương trình

- Biến flag được sử dụng để kiểm soát vòng lặp Nếu người dùng chọn tùy chọn "0" để thoát,biến flag sẽ được đặt thành giá tr椃⌀ false và vòng lặp sẽ kết thúc.

- Nếu người dùng chọn tùy chọn "1" hoặc "2", phương thức sẽ tạo một đối tượng mới củalớp GiaoVien hoặc SinhVien tuỳ thuộc vào lựa chọn của người dùng

- Sau đó, phương thức gọi phương thức “nhap” của đối tượng “tv” để nhập thông tin cho đốitượng Cuối cùng, đối tượng “tv” được thêm vào danh sách tương ứng của “objGiaoVien”hoặc “objSinhVien”.

- Nếu người dùng nhập một tùy chọn không hợp lệ, phương thức sẽ in ra thông báo yêu cầungười dùng chọn lại đúng tùy chọn.

2 Đọc dữ liệu từ file

3 Chỉnh sửa thông tin theo mã

Thuật toán:

- Cho người dùng nhập vào mã sinh viên cần chỉnh sửa

- Sử dụng vòng lặp “ for “ để duyệt qua danh sách sinh viên và so sánh mã sinh viên cầnchỉnh sửa với mã sinh viên đang duyệt.

- Nếu sinh viên được tìm thấy, phương thức sẽ cho phép người dùng chọn một trong cácthuộc tính để chỉnh sửa

- Sau khi người dùng chọn một thuộc tính, phương thức sẽ yêu cầu người dùng nhậpthông tin mới để cập nhật

- Sau đó, phương thức sẽ cập nhật thông tin của sinh viên và lưu trữ lại vào danh sách.- Nếu người dùng nhập một tùy chọn không hợp lệ, phương thức sẽ yêu cầu người dùng

- Sử dụng thuật toán sắp xếp “bubble sort” để thực hiện mục đích sắp xếp

- Nếu danh sách không rỗng, phương thức sử dụng một vòng lặp duyệt qua tất cả các

Trang 11

phần tử trong danh sách và so sánh chúng với nhau để sắp xếp theo thứ tự giảm dầncủa điểm trung bình.

- Nếu điểm trung bình của phần tử thứ j nhỏ hơn điểm trung bình của phần tử thứ j+1,phương thức sẽ hoán đổi v椃⌀ trí của hai phần tử đó trong danh sách Sau khi vòng lặpkết thúc, danh sách sẽ được sắp xếp theo thứ tự giảm dần của điểm trung bình.

- Cuối cùng, phương thức trả về danh sách đã được sắp xếp Nếu danh sách rỗng,phương thức sẽ trả về danh sách ban đầu mà không thực hiện bất kỳ thay đổi nào.

6 Sắp xếp theo tên

Thuật toán:

- Sử dụng thuật toán sắp xếp “bubble sort” để thực hiện việc sắp xếp.

- Đầu tiên lấy danh sách sinh viên từ đối tượng objSinhVien Nếu danh sách khôngrỗng, phương thức sử dụng một vòng lặp duyệt qua tất cả các phần tử trong danh sáchvà so sánh chúng với nhau để sắp xếp theo thứ tự tăng dần của họ tên.

- Nếu họ tên của phần tử thứ j lớn hơn họ tên của phần tử thứ j+1, phương thức sẽ hoánđổi v椃⌀ trí của hai phần tử đó trong danh sách Sau khi vòng lặp kết thúc, danh sách sẽđược sắp xếp theo thứ tự tăng dần của họ tên.

7 Tìm sinh viên theo tên

rằng không tìm thấy sinh viên có tên được nhập vào.

8 Xuất thông tin

Trang 12

của người dùng.

- Nếu người dùng chọn làm rỗng thông tin giáo viên hoặc sinh viên, phương thức duyệtdanh sách tương ứng và làm rỗng thông tin của từng danh sách giáo viên hoặc sinhviên.

- Dùng câu lệnh điều kiện while với “.isEmpty()” để kiểm tra xem danh sách sinh viêncó dữ liệu hay không

- Nếu có sử dụng “remove” trong ArrayList để xóa phần tử - Tiếp tục lặp lại cho đến khi danh sách không còn dữ liệu

10 Kiểm tra danh sách có rỗng hay không

Thuật toán:

- Sử dụng câu lệnh điều kiện “if ” với “ isEmpty() ” để kiểm tra xem danh sách có dữliệu hay không

- Nếu có xuất ra màn hình thông báo “Co du lieu”

- Nếu không xuất ra màn hình thông báo “Danh sach rong ”

11 Tính số năm giảng dạy (thâm niên)

Thuật toán:

- ở Class TruongHoc viết phương thức tính thâm niên cho toàn bộ danh sách giáo viên: + Kiểm tra xem danh sách giáo viên có rỗng hay không Nếu danh sách không rỗng,thực hiện các bước tiếp theo.

+ Sử dụng vòng lặp for để duyệt toàn bộ danh sách giáo viên đồng thời ở mỗi giáoviên lại gọi đến phương thức tính thâm niên đã thiết kế ở Class GiaoVien

- ở Class GiaoVien phương thức tính thâm niên theo công thức: this.thamNien = NAM_HIEN_TAI – this.namBatDau;

12 Tìm giáo viên có thâm niên cao nhất

Thuật toán:

- Tạo một ArrayList list;

- Khởi tạo một đối tượng GiaoVien mới được gọi là "gvMax" với giá tr椃⌀ là giáo viên đầutiên trong danh sách giáo viên.

- Sử dụng vòng lặp for để duyệt qua từng giáo viên trong danh sách giáo viên.

- Kiểm tra nếu thâm niên của giáo viên hiện tại lớn hơn thâm niên của "gvMax", thì gángiáo viên hiện tại vào "gvMax".

- Sau khi đã xác đ椃⌀nh giáo viên có thâm niên lớn nhất (tức là "gvMax"), sử dụng vònglặp for để duyệt lại danh sách giáo viên.

- Nếu thâm niên của giáo viên hiện tại bằng với thâm niên của "gvMax", thì thêm giáoviên hiện tại vào danh sách "list".

- Trả về danh sách "list" chứa các giáo viên có thâm niên cao nhất.

Trang 13

Phần IV: Cài đặt bài toán1 Class ThanhVien

public String getMaSo() {return maSo;}

public void setMaSo(String maSo) {this.maSo = maSo;

public String getHoTen() {return hoTen;}

public void setHoTen(String hoTen) {this.hoTen = hoTen;

public String getNgaySinh() {return ngaySinh;}

public void setNgaySinh(String namSinh) {this.ngaySinh = namSinh;

public String getDiaChi() {return diaChi;}

public void setDiaChi(String diaChi) {this.diaChi = diaChi;

// 3.Constructionspublic ThanhVien() {

Trang 14

public ThanhVien(String maSo, String hoTen, String namSinh, String diaChi) {this.maSo = maSo;

this.hoTen = hoTen;this.ngaySinh = namSinh;this.diaChi = diaChi;}

// 4.Out in

public void nhap(Scanner scan) {

System.out.println("Nhap ma: ");scan.nextLine();

this.maSo = scan.nextLine();System.out.println("Nhap ten: ");this.hoTen = scan.nextLine();

System.out.println("Nhap ngay sinh: ");this.ngaySinh = scan.nextLine();

System.out.println("Nhap dia chi: ");this.diaChi = scan.nextLine();

2 Class SinhVien

import java.util.InputMismatchException;import java.util.Scanner;

public class SinhVien extends ThanhVien implements nhapXuat {// 1.Attributes

private float diemToan;private float diemTin;private float diemNgoaiNgu;private float diemTB;

private String xepLoai;// 2.Get set

public float getDiemToan() {return diemToan;}

public void setDiemToan(float diemToan) {

Trang 15

this.diemToan = diemToan;}

public float getDiemTin() {return diemTin;}

public void setDiemTin(float diemTin) {this.diemTin = diemTin;

public float getDiemNgoaiNgu() {return diemNgoaiNgu;}

public void setDiemNgoaiNgu(float diemNgoaiNgu) {this.diemNgoaiNgu = diemNgoaiNgu;

public float getDiemTB() {return this.diemTB;}

public String getXepLoai() {return xepLoai;}

public void setXepLoai(String xepLoai) {this.xepLoai = xepLoai;

// 3.Constructionspublic SinhVien() {}

public SinhVien(String maSo, String hoTen, String namSinh, String diaChi, float toan, float van, float anh) {

super(maSo, hoTen, namSinh, diaChi);this.diemToan = toan;

this.diemTin = van;

this.diemNgoaiNgu = anh;}

public SinhVien(float diemToan, float diemTin, float diemNgoaiNgu) {this.diemToan = diemToan;

this.diemTin = diemTin;

this.diemNgoaiNgu = diemNgoaiNgu;}

public void nhap(Scanner scan) {

Trang 16

super.nhap(scan);this.diemToan = -1;this.diemTin = -1;this.diemNgoaiNgu = -1;

// Yêu cầu người dùng nhập điểm Toánwhile (true) {

try {

while (this.diemToan < 0 || this.diemToan > 10) {

System.out.print("Nhap diem Toan (tu 0 den 10): ");this.diemToan = scan.nextFloat();

if (this.diemToan < 0 || this.diemToan > 10) {

System.out.println("Diem khong hop le Vui long nhap lai.");}

} break;

} catch (InputMismatchException e) {

System.out.println("Diem phai la so Vui long nhap lai."); scan.nextLine();

}}

// Yêu cầu người dùng nhập điểm Tinwhile (true) {

try {

while (this.diemTin < 0 || this.diemTin > 10) {

System.out.print("Nhap diem Tin (tu 0 den 10): ");this.diemTin = scan.nextFloat();

if (this.diemTin < 0 || this.diemTin > 10) {

System.out.println("Diem khong hop le Vui long nhap lai.");}

} break;

} catch (InputMismatchException e) {

System.out.println("Diem phai la so Vui long nhap lai."); scan.nextLine();

}}

// Yêu cầu người dùng nhập điểm Ngoại ngữwhile (true) {

Trang 17

} break;

} catch (InputMismatchException e) {

System.out.println("Diem phai la so Vui long nhap lai."); scan.nextLine();

}}

MyFile mFile1 = new MyFile("ds_SinhVien.txt");

String str = String.format("Ma: %-5s Ten: %-10s Ngay sinh: %-5s Dia chi: %-10sToan: %.1f Tin: %.1f Tieng anh: %.1f GPA: %.1f", this.maSo, this.hoTen, this.ngaySinh,

this.diaChi, this.diemToan, this.diemTin, this.diemNgoaiNgu,

this.diemTB = (this.diemToan + this.diemTin + this.diemNgoaiNgu * 2) / 4); mFile1.appendStr2FileSinhVien(str);

}

// 5.Business

// Tính điểm trung bình

public void tinhDiemTrungBinh() {

this.diemTB = (this.diemToan + this.diemTin + this.diemNgoaiNgu * 2) / 4;}

3 Class GiaoVien

import java.io.BufferedWriter;import java.io.File;

import java.io.FileWriter;import java.io.PrintWriter;

import java.util.InputMismatchException;import java.util.Scanner;

public class GiaoVien extends ThanhVien implements nhapXuat {//Constant

final int NAM_HIEN_TAI = 2023;//1.Attributes

private int namBatDau;private String chuyenMon;private int thamNien;

Trang 18

//2.Get set

public int getNamBatDau() {return namBatDau;}

public void setNamBatDau(int namBatDau) {this.namBatDau = namBatDau;}

public int getThamNien() {return thamNien;}

public String getChuyenMon() {return chuyenMon;}

public void setChuyenMon(String chuyenMon) {this.chuyenMon = chuyenMon;

//3.Constructionspublic GiaoVien() {}

public GiaoVien(String maSo, String hoTen, String namSinh, String diaChi, String chuyenMon, int namBatDau) {

super(maSo, hoTen, namSinh, diaChi);this.chuyenMon = chuyenMon;

this.namBatDau = namBatDau;

//4.Out in@Override

public void nhap(Scanner scan) {super.nhap(scan);

System.out.println("Nhap chuyen mon (Tu nhien - Xa hoi): ");this.chuyenMon = scan.nextLine();

while (true) { try {

System.out.println("Nhap nam bat dau day hoc: ");this.namBatDau = scan.nextInt();

MyFile mFile2 = new MyFile("ds_GiaoVien.txt");

Trang 19

String strr = String.format("Ma: %-5s Ten: %-10s Ngay sinh: %-5s Dia chi: %-10s Nam bat dau: %d Chuyen mon: %-10s Tham nien: %d", this.maSo, this.hoTen, this.ngaySinh, this.diaChi, this.namBatDau, this.chuyenMon, this.thamNien);

public void tinhThamNien() {

this.thamNien = NAM_HIEN_TAI - this.namBatDau;}

4 Class DanhSachSinhVien

import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;

import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.PrintWriter;import java.util.ArrayList;import java.util.Scanner;

public class DanhSachSinhVien implements nhapXuat {// 1.Attributes

private ArrayList<SinhVien> listSinhVien;// 2.Get set

public ArrayList<SinhVien> getListSinhVien() {return listSinhVien;

Trang 20

this.listSinhVien = new ArrayList<SinhVien>();}

// 4.Out in@Override

public void nhap(Scanner scan) {

for (SinhVien sv : this.listSinhVien) {sv.nhap(scan);

public void xuat() {

for (SinhVien sv : this.listSinhVien) {sv.xuat();

5 Class DanhSachGiaoVien

import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;

import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.PrintWriter;import java.util.ArrayList;import java.util.Scanner;

public class GiaoVien extends ThanhVien implements nhapXuat {//Constant

final int NAM_HIEN_TAI = 2023;//1.Attributes

private int namBatDau;private String chuyenMon;private int thamNien;//2.Get set

public int getNamBatDau() {return namBatDau;}

public void setNamBatDau(int namBatDau) {this.namBatDau = namBatDau;}

Trang 21

public int getThamNien() {return thamNien;}

public String getChuyenMon() {return chuyenMon;}

public void setChuyenMon(String chuyenMon) {this.chuyenMon = chuyenMon;

public void nhap(Scanner scan) {

this.listGiaoVien = new ArrayList<GiaoVien>();for (GiaoVien gv : this.listGiaoVien) {

public void xuat() {

for (GiaoVien gv : this.listGiaoVien) {gv.xuat();

6 Class TruongHoc

import java.io.BufferedReader;import java.io.File;

import java.nio.charset.StandardCharsets;import java.nio.file.Files;

import java.util.ArrayList;

import java.util.InputMismatchException;

Trang 22

import java.util.Scanner;public class TruongHoc {

// 1.Attributes

private DanhSachGiaoVien objGiaoVien;private DanhSachSinhVien objSinhVien;private float diemTBCaoNhat;

// 3.Constructions

Trang 23

public TruongHoc() {

this.objGiaoVien = new DanhSachGiaoVien();this.objSinhVien = new DanhSachSinhVien();}

// 4.Out in

public void nhap(Scanner scan) {boolean flag = true;ThanhVien tv;do {

System.out.println("1.Nhap thong tin cho Giao Vien");System.out.println("2.Nhap thong tin cho Sinh Vien");System.out.println("0.Thoat");

System.out.println("[Moi Chon]>>");int chon = scan.nextInt();

switch (chon) {case 1:

tv = new GiaoVien();tv.nhap(scan);

this.objGiaoVien.getListGiaoVien().add((GiaoVien) tv);break;

case 2:

tv = new SinhVien();tv.nhap(scan);

Trang 24

this.objSinhVien.getListSinhVien().add((SinhVien) tv);break;

case 0:

flag = false;break;default:

System.out.println("[Vui long chon dung chuc nang]");}

} while (flag);}

public void xuatThongTinSinhVien() {

for (SinhVien sv : this.objSinhVien.getListSinhVien()) {sv.xuat();

public void xuatThongTinGiaoVien() {

for (GiaoVien gv : this.objGiaoVien.getListGiaoVien()) {gv.xuat();

public void xuatThongTin() {

Scanner scan = new Scanner(System.in);boolean flag = true;

Trang 25

do {

System.out.println("1.Xuat thong tin Giao Vien");System.out.println("2.Xuat thong tin Sinh Vien");System.out.println("0.Thoat");

System.out.println("[Moi Chon]>>");int chon = Integer.parseInt(scan.nextLine());switch (chon) {

case 1:

for (GiaoVien gv : this.objGiaoVien.getListGiaoVien()) {gv.xuat();

}break;case 2:

for (SinhVien sv : this.objSinhVien.getListSinhVien()) {sv.xuat();

}break;case 0:

flag = false;break;default:

System.out.println("[Vui long chon dung chuc nang]");}

Ngày đăng: 11/07/2024, 17:04

w