Quan li sach

mail@pastecode.io avatarunknown
java
8 days ago
3.8 kB
7
Indexable
Never
import java.util.Scanner;

class SachGiaoKhoa {
	String maSach, boSach, tenSach, nhaXuatBan;
	int donGia, soLuong, thanhTien;

	public SachGiaoKhoa() {
	}

	public SachGiaoKhoa(String maSach, String boSach, String tenSach, String nhaXuatBan, int donGia, int soLuong) {
		this.maSach = maSach;
		this.boSach = boSach;
		this.tenSach = tenSach;
		this.nhaXuatBan = nhaXuatBan;
		this.donGia = donGia;
		this.soLuong = soLuong;
		this.thanhTien = donGia * soLuong;
	}

	public void nhapThongTin() {
		Scanner scanner = new Scanner(System.in);

		System.out.print("Nhập mã sách: ");
		maSach = scanner.nextLine();

		System.out.print("Nhập bộ sách (Cánh diều/Kết nối tri thức/Chân trời sáng tạo): ");
		boSach = scanner.nextLine();
		while (!boSach.equals("Cánh diều") && !boSach.equals("Kết nối tri thức") && !boSach.equals("Chân trời sáng tạo")) {
			System.out.print("Bộ sách không hợp lệ. Vui lòng nhập lại: ");
			boSach = scanner.nextLine();
		}

		System.out.print("Nhập tên sách: ");
		tenSach = scanner.nextLine();

		System.out.print("Nhập nhà xuất bản (Nhà xuất bản giáo dục Việt Nam/Nhà xuất bản đại học sư phạm): ");
		nhaXuatBan = scanner.nextLine();
		while (!nhaXuatBan.equals("Nhà xuất bản giáo dục Việt Nam") && !nhaXuatBan.equals("Nhà xuất bản đại học sư phạm")) {
			System.out.print("Nhà xuất bản không hợp lệ. Vui lòng nhập lại: ");
			nhaXuatBan = scanner.nextLine();
		}

		System.out.print("Nhập đơn giá (phải lớn hơn 15000đ): ");
		donGia = scanner.nextInt();
		while (donGia <= 15000) {
			System.out.print("Đơn giá phải lớn hơn 15000đ. Vui lòng nhập lại: ");
			donGia = scanner.nextInt();
		}

		System.out.print("Nhập số lượng: ");
		soLuong = scanner.nextInt();

		thanhTien = donGia * soLuong;
	}

	public void xuatThongTin() {
		System.out.println("Mã sách: " + maSach);
		System.out.println("Bộ sách: " + boSach);
		System.out.println("Tên sách: " + tenSach);
		System.out.println("Nhà xuất bản: " + nhaXuatBan);
		System.out.println("Đơn giá: " + donGia);
		System.out.println("Số lượng: " + soLuong);
		System.out.println("Thành tiền: " + thanhTien);
	}
}

public class QuanLySachGiaoKhoa {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);

		SachGiaoKhoa[] dsSach = new SachGiaoKhoa[100];
		int n;

		System.out.print("Nhập số lượng sách: ");
		n = scanner.nextInt();

		for (int i = 0; i < n; i++) {
			dsSach[i] = new SachGiaoKhoa();
			System.out.println("Nhập thông tin quyển sách thứ " + (i + 1));
			dsSach[i].nhapThongTin();
		}

		System.out.println("\nDanh sách sách vừa nhập:");
		for (int i = 0; i < n; i++) {
			dsSach[i].xuatThongTin();
			System.out.println();
		}

		System.out.print("\nNhập tên sách cần tìm: ");
		String tenCanTim = scanner.nextLine();
		boolean timThay = false;
		for (int i = 0; i < n; i++) {
			if (dsSach[i].tenSach.equals(tenCanTim)) {
				dsSach[i].xuatThongTin();
				timThay = true;
			}
		}
		if (!timThay) {
			System.out.println("Không tìm thấy sách có tên " + tenCanTim);
		}

		for (int i = 0; i < n - 1; i++) {
			for (int j = i + 1; j < n; j++) {
				if (dsSach[i].donGia < dsSach[j].donGia) {
					SachGiaoKhoa temp = dsSach[i];
					dsSach[i] = dsSach[j];
					dsSach[j] = temp;
				}
			}
		}

		System.out.println("\nDanh sách sách sau khi sắp xếp:");
		for (int i = 0; i < n; i++) {
			dsSach[i].xuatThongTin();
			System.out.println();
		}

		int viTriDGMax = 0;
		for (int i = 1; i < n; i++) {
			if (dsSach[i].donGia > dsSach[viTriDGMax].donGia) {
				viTriDGMax = i;
			}
		}

		System.out.println("\nThông tin sách có đơn giá cao nhất:");
		dsSach[viTriDGMax].xuatThongTin();
	}

}