Bài 36.1. Quản Lý Đồ Ăn Thức Uống - [Độ khó: Dễ]
Bài 36.1. Quản Lý Đồ Ăn Thức Uống - [Độ khó: Dễ]
Một cửa hàng tiện lợi nhỏ muốn nâng cấp hệ thống quản lý sản phẩm của mình. Hiện tại, họ chỉ có một danh sách chung chung, nhưng họ nhận thấy rằng việc phân loại sản phẩm thành "Đồ Ăn" và "Đồ Uống" sẽ giúp họ quản lý hạn sử dụng và quy trình bảo quản tốt hơn. Bạn hãy giúp họ xây dựng một hệ thống quản lý sản phẩm sử dụng khái niệm kế thừa.
Mô tả bài tập
Bạn cần tạo một lớp cơ sở SanPham
(Product) với các thuộc tính chung như mã sản phẩm, tên, và giá. Sau đó, hãy kế thừa từ lớp này để tạo ra hai lớp dẫn xuất: DoAn
(Food) và DoUong
(Drink). Lớp DoAn
sẽ có thêm thuộc tính ngayHetHan
(expiration date), và lớp DoUong
sẽ có thêm thuộc tính theTich
(volume). Mỗi lớp cần có một phương thức hienThiThongTin()
để hiển thị đầy đủ thông tin của sản phẩm đó.
INPUT FORMAT
Dòng đầu tiên chứa số nguyên N
(1 <= N <= 100), là số lượng sản phẩm.
N
dòng tiếp theo, mỗi dòng mô tả một sản phẩm:
- Nếu là đồ ăn:
DO_AN <ma_sp> <ten_sp> <gia> <ngay_het_han>
- Nếu là đồ uống:
DO_UONG <ma_sp> <ten_sp> <gia> <the_tich>
Trong đó:
<ma_sp>
: Chuỗi (không chứa khoảng trắng).<ten_sp>
: Chuỗi (có thể chứa khoảng trắng, đọc cả dòng).<gia>
: Số thực dương.<ngay_het_han>
: Chuỗi định dạngDD/MM/YYYY
.<the_tich>
: Số thực dương (đơn vị lít).
Ràng buộc:
- Giá sản phẩm và thể tích/ngày hết hạn luôn hợp lệ.
- Tên sản phẩm có thể dài đến 50 ký tự.
OUTPUT FORMAT
Với mỗi sản phẩm đã nhập, hiển thị thông tin của nó theo thứ tự nhập. Mỗi sản phẩm được in trên một dòng riêng biệt. Định dạng đầu ra:
- Đồ ăn:
[Mã SP] - [Tên SP] - [Giá] - HSD: [Ngày hết hạn]
- Đồ uống:
[Mã SP] - [Tên SP] - [Giá] - Thể tích: [Thể tích]L
Giá và thể tích in với 2 chữ số thập phân.
Ví dụ:
Input:
3
DO_AN A001 Banh My Sandwich 15.50 20/12/2023
DO_UONG B002 Nuoc Loc Aquafina 7.25 0.50
DO_AN A003 Sua Chua Vinamilk 10.00 05/01/2024
Output:
A001 - Banh My Sandwich - 15.50 - HSD: 20/12/2023
B002 - Nuoc Loc Aquafina - 7.25 - Thể tích: 0.50L
A003 - Sua Chua Vinamilk - 10.00 - HSD: 05/01/2024
Giải thích:
- Sản phẩm đầu tiên là "Bánh Mì Sandwich", là đồ ăn nên hiển thị thêm hạn sử dụng.
- Sản phẩm thứ hai là "Nước Lọc Aquafina", là đồ uống nên hiển thị thêm thể tích.
- Sản phẩm thứ ba là "Sữa Chua Vinamilk", là đồ ăn nên hiển thị thêm hạn sử dụng.
- Tất cả giá và thể tích được in với 2 chữ số thập phân.
Comments