Menu
CoddyTech

Thêm và cập nhật mặt hàng

Thuộc phần Logic và luồng chương trình trong hành trình C++ của Coddy. Bài học 31 trên 56.

challenge icon

Thử thách

Dễ

Mở rộng hệ thống theo dõi hàng tồn kho bằng cách triển khai chức năng thêm mặt hàng mới hoặc cập nhật số lượng của mặt hàng hiện có. Bài học này minh họa cách map tự động xử lý cả mục mới lẫn việc cập nhật mục hiện có.

Chương trình sẽ nhận các đầu vào sau:

  • Một số nguyên n biểu thị số thao tác với hàng tồn kho cần thực hiện
  • Sau đó là n cặp đầu vào:
    • Một chuỗi biểu thị tên mặt hàng
    • Một số nguyên biểu thị số lượng cần thêm

Chương trình của bạn cần:

  1. Bắt đầu với hàng tồn kho ban đầu sau:
    inventory["apples"] = 50;
    inventory["bananas"] = 30;
    inventory["oranges"] = 25;
  2. Đọc số thao tác với hàng tồn kho
  3. Với mỗi thao tác, đọc tên mặt hàng và số lượng
  4. Dùng toán tử ngoặc vuông để cộng số lượng vào lượng hàng hiện có của mặt hàng trong map
  5. In thông báo xác nhận cho mỗi thao tác, hiển thị tên mặt hàng và tổng số lượng mới
  6. Sau khi hoàn tất mọi thao tác, in hàng tồn kho cuối cùng, hiển thị tất cả mặt hàng và số lượng đã cập nhật

Dùng định dạng đầu ra chính xác sau:

Với mỗi thao tác với hàng tồn kho:

Added [quantity] [item_name]. New total: [new_total]

Hàng tồn kho cuối cùng:

Final Inventory:
[item1]: [quantity1]
[item2]: [quantity2]
[item3]: [quantity3]
...

In hàng tồn kho cuối cùng theo thứ tự bảng chữ cái của tên mặt hàng. Dùng toán tử ngoặc vuông để thêm số lượng. Nếu mặt hàng đã tồn tại, số lượng sẽ được cộng vào số lượng hiện tại; nếu là mặt hàng mới, mặt hàng đó sẽ được tạo với số lượng đã chỉ định. Hãy nhớ rằng inventory[itemName] += quantity hoạt động với cả mặt hàng mới lẫn mặt hàng hiện có vì map tự động khởi tạo mục mới với giá trị 0.

Tự làm thử

#include <iostream>
#include <map>
#include <string>
using namespace std;

int main() {
    // TODO: Write your code below
    map<string, int> inventory;
    inventory["Laptops"] = 15;
    inventory["Mice"] = 42;
    inventory["Keyboards"] = 28;
    inventory["Monitors"] = 12;
    
    cout << "Initial Inventory Setup:" << endl;
    for (const auto& pair : inventory) {
        cout << pair.first << ": " << pair.second << endl;
    }
    cout << "Inventory system is ready!" << endl;
    
    return 0;
}

Tất cả bài học trong Logic và luồng chương trình

Tự luyện tập: Trình biên dịch C++ online