【授業☆しょ~かい】構造体で“回転ずし”を設計してみた!電子技術科(都留キャンパス)

電子技術科(都留キャンパス)No.513

📅 令和8年2月19日(木)
📍 電子技術科(都留キャンパス)1年生
『C言語プログラミングⅡ及び実習』の授業より

このシリーズでは、電子技術科の授業の様子を、高校生のみなさんにわかりやすく紹介しています。
写真とともに、授業の流れや学びのポイントをリアルにお届けします。

2年生が卒業研究でがんばっていますが、1年生も負けてはいられません。
今日は「構造体型の配列」と「構造体型の変数」を使った演習問題に取り組みました。
今回の問題2では、「回転ずしでの外食」を題材に、注文からお会計までを行うプログラムを設計します。

今回の授業では、

この2つをしっかり理解することが目標です。

まずは構造体を定義します。
メニューを管理する MENU構造体 と、会計を管理する CHUMON構造体 を作成しました。

構造体を定義したら、次は main() 関数で初期化します。

  • MENU構造体:構造体型配列として、4種類のメニューを初期化
  • CHUMON構造体:構造体型変数として、税抜・税・税込・注文点数を 0 で初期化
  • 👉 どんなデータを渡すか
    (=構造体型配列の先頭アドレス / 構造体型変数のアドレス)
  • 👉 メンバへどうアクセスするか
    (= pa[i].kosu / pb->zei など)

この違いが今回の演習のキーワードです。
構造体型配列を関数に渡すことで、複数のメニューをまとめて扱えるようになります。

  • メニューを表示する関数
  • 注文番号を受け取り、該当商品の個数を増やす関数
  • 注文点数と小計を計算する関数
  • 注文点数と小計を表示する関数
  • 消費税と合計(税込)を計算する関数
  • お会計を表示する関数

まるで本物の回転ずしのように、
「注文 → 注文履歴の表示 → おあいそ → 支払金額の表示」
の流れをプログラムで再現します。

こちらは「注文点数と小計を表示する関数」の設計図です。

先生のチェックを受けたら、次の関数の設計へ進みます。
6つの関数がそろうと、プログラム全体の流れがきれいにつながります。

このあとも設計は続き、プログラムの全体像が少しずつ形になっていきました。

1問目の「SGT48選抜総選挙」と、2問目の「回転ずしでの外食」で設計したPADを、
いよいよ C言語でコーディングしていきます。

構造体型配列と構造体型変数では、
関数間でのアドレスの受け渡し方法や、メンバへのアクセス方法が異なります。
これらを理解すると、C言語の山場をひとつ越えたことになります。
次回の【授業☆しょ~かい】もお楽しみに!

お問い合わせは
山梨県立産業技術短期大学校 都留キャンパス
〒402-0053 山梨県都留市上谷5-7-35
TEL : 0554-43-8911(代)
FAX : 0554-43-8913
E-Mail : tsuru@comm.yitjc.ac.jp