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.
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
nbiểu thị số thao tác với hàng tồn kho cần thực hiện - Sau đó là
ncặ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:
- Bắt đầu với hàng tồn kho ban đầu sau:
inventory["apples"] = 50;
inventory["bananas"] = 30;
inventory["oranges"] = 25; - Đọc số thao tác với hàng tồn kho
- Với mỗi thao tác, đọc tên mặt hàng và số lượng
- 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
- 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
- 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
1Con trỏ và bộ nhớ
Con trỏ là gì?Toán tử lấy địa chỉToán tử giải tham chiếuCon trỏ nullCon trỏ và mảngBộ nhớ động với newGiải phóng bộ nhớ với deleteÔn tập: luyện tập về con trỏ2Vector (mảng động)
Giới thiệu std::vectorTạo vectorThêm phần tửTruy cập phần tửKích thước vectorDuyệt bằng vòng lặp forVòng lặp for dựa trên phạm viXóa phần tửÔn tập: các thao tác với vector5Dự án: Công cụ quản lý hàng tồn kho
Thiết lập dự ánThêm và cập nhật mặt hàng3Dự án: Công cụ danh sách công việc
Tổng quan dự ánThêm công việc6Tập hợp (các phần tử duy nhất)
Giới thiệu std::setTạo tập hợp và thêm phần tửKiểm tra phần tửXóa phần tửDuyệt qua tập hợpÔn tập: các số duy nhấtTự luyện tập: Trình biên dịch C++ online