Bài 31.1. Quản lý Đơn hàng Cơ bản - [Độ khó: Dễ]
Bài 31.1. Quản lý Đơn hàng Cơ bản - [Độ khó: Dễ]
Trong thế giới nhộn nhịp của một cửa hàng tạp hóa trực tuyến mới nổi, việc quản lý các đơn hàng là chìa khóa để giữ chân khách hàng. Bạn được giao nhiệm vụ phát triển một hệ thống đơn giản để theo dõi các đơn hàng đang chờ xử lý. Hệ thống cần cho phép thêm đơn hàng mới vào cuối danh sách khi chúng được đặt, và xử lý (hoàn thành) đơn hàng theo thứ tự đầu tiên đến đầu tiên phục vụ (FIFO), tức là xóa đơn hàng ở đầu danh sách.
Cấu trúc dữ liệu
Sử dụng một cấu trúc Node
cơ bản cho danh sách liên kết đơn (Singly Linked List) để lưu trữ thông tin về mỗi đơn hàng. Mỗi Node
sẽ có:
ma_don_hang
: Một số nguyên duy nhất (ID) của đơn hàng.tong_gia_tri
: Một số nguyên thể hiện tổng giá trị của đơn hàng.next
: Con trỏ tớiNode
tiếp theo trong danh sách.
INPUT FORMAT
Dòng đầu tiên chứa số nguyên N
(1 <= N <= 100), số lượng thao tác cần thực hiện.
Tiếp theo là N
dòng, mỗi dòng mô tả một thao tác:
ADD <ma_don_hang> <tong_gia_tri>
: Thêm một đơn hàng mới vào cuối danh sách.PROCESS
: Xử lý đơn hàng đầu tiên (xóa đơn hàng ở đầu danh sách). Nếu danh sách trống, không làm gì cả.DISPLAY
: Hiển thị tất cả các đơn hàng hiện có trong danh sách.
OUTPUT FORMAT
Đối với mỗi thao tác DISPLAY
:
- Nếu danh sách trống, in ra "Danh sach don hang trong."
- Ngược lại, in ra mỗi đơn hàng trên một dòng theo định dạng:
Ma: <ma_don_hang>, Gia tri: <tong_gia_tri>
. - Các đơn hàng được in theo thứ tự từ đầu đến cuối danh sách.
- Sau khi hiển thị tất cả các đơn hàng, in ra một dòng trống nếu có thêm thao tác khác.
Ví dụ:
Input:
5
ADD 101 250
ADD 102 120
DISPLAY
PROCESS
DISPLAY
Output:
Ma: 101, Gia tri: 250
Ma: 102, Gia tri: 120
Ma: 102, Gia tri: 120
Giải thích:
ADD 101 250
: Thêm đơn hàng 101 (giá trị 250) vào cuối danh sách. Danh sách:101
.ADD 102 120
: Thêm đơn hàng 102 (giá trị 120) vào cuối danh sách. Danh sách:101 -> 102
.DISPLAY
: Hiển thị các đơn hàng hiện có. Đầu ra là101
rồi102
trên dòng riêng.PROCESS
: Xử lý đơn hàng đầu tiên. Đơn hàng 101 bị xóa. Danh sách:102
.DISPLAY
: Hiển thị các đơn hàng còn lại. Đầu ra là102
.
Comments