「C で作る軽食スタンドのレシート」は、C の基礎を学び、便利なターミナルプログラムを作りたい方のための実践プロジェクトです。軽食スタンドのために、承認された購入をすべて保持し、単価・行ごとの小計・合計を整数のセント単位で計算した完全なテキストレシートを作成します。
2 つのガイド付きラボでは、動作する 1 商品のサンプルから、個別の購入記録、長さを制限した入力の検証、容量チェックへと進みます。独立したチャレンジでは、同名の別商品、無料商品、繰り返しの購入を含む Evening Bites の新しいカタログに同じ方法を適用します。各単元には独立したファイルが用意され、以前のラボのファイルや実行中のプログラムは必要ありません。
学習内容
- 小さな C 構造体と配列を使い、商品を識別して個別の購入を順番どおりに保持する。
- 価格・小計・合計を整数のセント単位で計算し、小数点以下 2 桁で表示する。
- strtol で十進数のテキスト全体を検証し、変換時のオーバーフロー、末尾の不正文字、業務上の範囲を扱う。
- 買い物かごを変更する前に数量と容量を確認し、拒否後も承認済みの行を保持する。
- 完全なレシートを保存して読み、会計の完了と入力終了によるキャンセルを区別する。
このコースの対象者
C の入門知識を組み合わせ、小さなアプリケーションを作りたい学習者を対象としています。C Programming for Beginners が基礎固めに適しています。
前提知識: C の変数、条件分岐、ループ、配列、関数と、基本的なターミナルコマンド、ディレクトリ移動。構造体、終端文字を持つ文字列、必要なアドレスと出力パラメーター、strtol は使用前にラボで説明します。ポインターに習熟している必要はありません。
学習環境: LabEx がブラウザー内に C コンパイラー、準備済みのソースファイル、Workspace ターミナルを用意します。手元の環境にソフトウェアをインストールする必要はありません。プログラムのプロンプト、ソースコード、レシート出力は英語のままです。
よくある質問
何を作成しますか?
コンパイル可能な C ソース、動作する実行ファイル、実際のレシートファイルを保持します。レシートには繰り返しの購入も含め、承認された各購入を順番どおりに記載し、商品 ID、名前、数量、単価、小計、最後に全体の合計を表示します。
動的メモリーやファイル解析の経験は必要ですか?
必要ありません。固定サイズの記録と長さを制限したテキスト入力を使います。カタログ定義と入力処理のドライバーは用意されています。記録処理、検証、レシート出力を実装し、汎用 CSV 解析や動的メモリー確保は扱いません。
実際の決済システムですか?
いいえ。架空の軽食スタンドを使う演習で、購入は最大 6 行、数量は 1 から 20 に制限されています。決済や税金は処理しません。コマンド done で会計を完了し、ファイル終端ではキャンセルして、完全なレシートも未完了の取引の保存も行いません。

