C++

C++練習問題

コードを自分で書き、入力値を変えながらC++の基礎を定着させましょう。

C++入門の講座一覧

01

ミニ課題:在庫管理

商品名、価格、在庫数を持つ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円
02

発展してみる

在庫の検索や並べ替えをSTLアルゴリズムで書き換え、Google Testで通常値と境界値を確認してみましょう。