ミニ課題:在庫管理
商品名、価格、在庫数を持つProductクラスを作り、std::vector<Product>から在庫金額を計算してください。
完成条件
- 負の価格や在庫数を受け付けない
- 表示と計算を別の関数にする
-Wall -Wextraで警告がないことを確認する
解答例C++
#include <iostream>
#include <string>
#include <vector>
struct Product {
std::string name;
int price;
int stock;
};
int inventory_value(const std::vector<Product>& products) {
int total{};
for (const auto& product : products) total += product.price * product.stock;
return total;
}
int main() {
const std::vector<Product> products{{"ノート", 180, 3}, {"ペン", 120, 5}};
for (const auto& product : products) std::cout << product.name << ": " << product.stock << "個\n";
std::cout << "在庫金額: " << inventory_value(products) << "円\n";
}実行結果OUTPUT
ノート: 3個
ペン: 5個
在庫金額: 1140円発展してみる
在庫の検索や並べ替えをSTLアルゴリズムで書き換え、Google Testで通常値と境界値を確認してみましょう。
