[Buổi 24][Lớp & đối tượng][HW] Bài 2: Product Discount Class


LÀM BÀI

Points: 100
Time limit: 1.0s
Memory limit: 256M

Author:
Problem types
Allowed languages
C++

Product Discount Class

Bối cảnh

Một Product object giữ price gốc và discount phần trăm, đồng thời cung cấp method finalPrice() để trả giá sau giảm. Bài Easy luyện behavior gắn với state object: main chỉ tạo object và gọi method, không lặp lại công thức ở nhiều nơi. Discount 0 giữ nguyên giá; discount100 làm giá cuối bằng0. Kết quả in hai chữ số thập phân.

Mục tiêu quan trọng của bài là giữ công thức/behavior bên trong class thay vì để main tự tính lại ở nhiều nơi. Mỗi object phải có state riêng và method đọc đúng state đó. Khi behavior được gọi nhiều lần hoặc dùng trong ranking, một nguồn logic duy nhất giúp tránh hai công thức gần giống nhưng cho kết quả khác nhau.

Yêu cầu

  1. Tạo Product với price, discount.
  2. Method finalPrice.
  3. Đọc n product và in mỗi giá sau giảm 2 decimals.

Input

Dòng 1 n; n dòng price discount.

Output

n dòng.

Ràng buộc

1≤n≤1000, 0≤discount≤100.

Ví dụ 1

Input

3
100 10
50 0
80 25

Output

90.00
50.00
60.00

Giải thích

100 giảm10% còn90; 50 giảm0% vẫn50; 80 giảm25% còn60. In lần lượt 90.00, 50.00, 60.00.

Trường hợp mẫu cũng cho thấy kết quả được lấy thông qua behavior của object, không phải do main tự thay đổi field rồi tính tạm. Mỗi object giữ state độc lập, nên các phép tính ở object này không làm thay đổi object khác và output phản ánh đúng state đã nhập.

Ví dụ 2

Input

1
100 100

Output

0.00

Giải thích

Giá100 giảm100% nên phần còn lại 0%, finalPrice=0. Output 0.00.

Trường hợp mẫu cũng cho thấy kết quả được lấy thông qua behavior của object, không phải do main tự thay đổi field rồi tính tạm. Mỗi object giữ state độc lập, nên các phép tính ở object này không làm thay đổi object khác và output phản ánh đúng state đã nhập.

Thông tin học tập

  • Module: M07
  • Buổi: B24
  • Loại bài: HOMEWORK
  • Độ khó: Easy
  • Concepts: class, methods, state, arithmetic
  • Giới hạn kiến thức: B01-B24
  • Time limit: 1 second(s)
  • Memory limit: 256 MB
  • Point: 100

Comments

There are no comments at the moment.

Zalo