Kiểm tra hàng tồn kho
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 32 trên 56.
Thử thách
DễTiếp tục xây dựng hệ thống theo dõi hàng tồn kho bằng cách triển khai chức năng kiểm tra mức tồn kho hiện tại của từng mặt hàng. Bài học này hướng dẫn cách truy vấn an toàn thông tin mặt hàng trong map và xử lý trường hợp mặt hàng không có trong kho.
Chương trình sẽ nhận các đầu vào sau:
- Một số nguyên
nbiểu thị số truy vấn tồn kho cần thực hiện - Sau đó là
nchuỗi biểu thị tên các mặt hàng cần kiểm tra
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;
inventory["grapes"] = 40; - Đọc số lượng truy vấn tồn kho
- Đọc tên một mặt hàng cho mỗi truy vấn
- Dùng phương thức
.count()để kiểm tra mặt hàng có tồn tại trong map hàng tồn kho hay không - Nếu mặt hàng tồn tại, in ra số lượng hàng hiện có
- Nếu mặt hàng không tồn tại, in ra thông báo cho biết không tìm thấy mặt hàng đó
- Sau khi xử lý tất cả truy vấn, in ra tổng số mặt hàng khác nhau hiện có trong kho
Dùng định dạng đầu ra chính xác sau:
Với mỗi truy vấn tồn kho:
[item_name]: [quantity] in stockVới mặt hàng không tìm thấy:
[item_name]: Item not foundBản tóm tắt ở cuối:
Total items in inventory: [number_of_items]Dùng phương thức .count() để kiểm tra an toàn xem từng mặt hàng có tồn tại hay không trước khi truy cập giá trị của nó. Nếu inventory.count(itemName) trả về 1, mặt hàng tồn tại và bạn có thể truy cập an toàn inventory[itemName] để lấy số lượng. Nếu phương thức trả về 0, mặt hàng không tồn tại. Dùng phương thức .size() trên map để lấy tổng số mặt hàng khác nhau trong kho cho phần tóm tắt cuối cùng.
Tự làm thử
#include <iostream>
#include <map>
#include <string>
using namespace std;
int main() {
// Initialize the inventory with existing items
map<string, int> inventory;
inventory["apples"] = 50;
inventory["bananas"] = 30;
inventory["oranges"] = 25;
int n;
cin >> n;
for (int i = 0; i < n; i++) {
string itemName;
int quantity;
cin >> itemName >> quantity;
inventory[itemName] += quantity;
cout << "Added " << quantity << " " << itemName << ". New total: " << inventory[itemName] << endl;
}
cout << "Final Inventory:" << endl;
for (const auto& item : inventory) {
cout << item.first << ": " << item.second << 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