Đề bài
Viết một chương trình quản lý thư viện sách bao gồm các lớp sau:
Lớp Book:
Thuộc tính:
title: tên sách.
author: tên tác giả.
isbn: mã ISBN của sách.
price: giá sách.
Phương thức:
displayInfo(): hiển thị thông tin của sách.
Lớp Library:
Thuộc tính:
books: mảng hoặc vector chứa danh sách các sách trong thư viện.
Phương thức:
addBook(Book book): thêm một cuốn sách vào thư viện.
removeBookByISBN(string isbn): xóa một cuốn sách khỏi thư viện dựa trên mã ISBN.
searchBookByTitle(string title): tìm kiếm sách theo tên và trả về danh sách các cuốn sách có tên tương tự.
displayAllBooks(): hiển thị thông tin tất cả các sách trong thư viện.
Yêu cầu:
Viết chương trình chính để thử nghiệm các phương thức trên.
Hiển thị menu cho người dùng lựa chọn các chức năng: thêm sách, xóa sách, tìm kiếm sách, và hiển thị tất cả các sách.
Cách làm
using System;
using System.Collections.Generic;
// Lop Book
public class Sach
{
public string ten { get; set; }
public string tacGia { get; set; }
public string maISBN { get; set; }
public double gia { get; set; }
// Hien thi thong tin sach
public void hienThiThongTin()
{
Console.WriteLine($"Ten: {ten}");
Console.WriteLine($"Tac Gia: {tacGia}");
Console.WriteLine($"ISBN: {maISBN}");
Console.WriteLine($"Gia: {gia}");
}
}
// Lop Library
public class ThuVien
{
private List<Sach> danhSachSach = new List<Sach>();
// Them sach vao thu vien
public void themSach(Sach sach)
{
danhSachSach.Add(sach);
}
// Xoa sach theo ISBN
public void xoaSachTheoISBN(string maISBN)
{
sach sachCanXoa = danhSachSach.Find(s => s.maISBN == maISBN);
if (sachCanXoa != null)
{
danhSachSach.Remove(sachCanXoa);
}
}
// Tim sach theo ten
public List<Sach> timSachTheoTen(string ten)
{
return danhSachSach.FindAll(s => s.ten.Contains(ten));
}
// Hien thi thong tin tat ca sach
public void hienThiTatCaSach()
{
foreach (Sach sach in danhSachSach)
{
sach.hienThiThongTin();
Console.WriteLine();
}
}
}
class Program
{
static void Main()
{
ThuVien thuVien = new ThuVien();
// Them sach vao thu vien
thuVien.themSach(new Sach { ten = "Sach A", tacGia = "Tac Gia A", maISBN = "123456", gia = 100 });
thuVien.themSach(new Sach { ten = "Sach B", tacGia = "Tac Gia B", maISBN = "654321", gia = 150 });
// Hien thi tat ca sach
Console.WriteLine("Danh sach sach trong thu vien:");
thuVien.hienThiTatCaSach();
// Tim sach theo ten
Console.WriteLine("Tim sach theo ten 'Sach A':");
List<Sach> sachTimDuoc = thuVien.timSachTheoTen("Sach A");
foreach (Sach sach in sachTimDuoc)
{
sach.hienThiThongTin();
Console.WriteLine();
}
// Xoa sach theo ISBN
thuVien.xoaSachTheoISBN("123456");
// Hien thi tat ca sach sau khi xoa
Console.WriteLine("Danh sach sach sau khi xoa:");
thuVien.hienThiTatCaSach();
}
}