C言語 練習問題 R093

(1)処理概要
   旧商品マスタを読み込み、商品修正データにより修正を行い、新商品マ
  スタを出力する。

(2)画面


                   <<< 商品マスタ修正 >>>

         コード 商品名         単価 数量 区分
         999    XXXXXXXXXXXXXXX 999  999        現マスタ
         999    XXXXXXXXXXXXXXX 999  999    9   追加エラー
         999    XXXXXXXXXXXXXXX 999  999        削除
         999    XXXXXXXXXXXXXXX 999  999        修正前
         999    XXXXXXXXXXXXXXX 999  999        修正後(商品名)
         999    XXXXXXXXXXXXXXX 999  999        修正前
         999    XXXXXXXXXXXXXXX 999  999        修正後(単価)
         999    XXXXXXXXXXXXXXX 999  999    9   区分エラー
         999    XXXXXXXXXXXXXXX 999  999        追加
 
         旧マスタ件数=999 : トラン件数=999 : 新マスタ件数=999   
         追加件数    =999 :   削除件数=999 : 商品修正件数=999
         単価修正件数=999 : エラー件数=999
         確認したら何かキーを押してください。


タイトル (緑)

項目名  (緑)
現マスタ (白)
追加エラー(黄)
削除   (白)
修正前  (白)
商品修正後(白)
修正前  (白)
単価修正後(白)
区分エラー(黄)
追加   (白)

ファイル件数 (水)
修正件数 (水)
     (赤)


(3)変数名(すべて整数型)
    旧マスタ入力件数 .......:om_cnt
    変更データ(トラン)件数:tr_cnt
    新マスタ出力件数 .......:nm_cnt
    追加件数 ...............:ad_cnt
    削除件数 ...............:dl_cnt
    商品名修正件数 .........:sh_cnt
    単価修正件数 ...........:tn_cnt
    エラー件数 .............:er_cnt
    表示行 .................:lno

(4)ファイル
  @旧商品マスタ
   ・ファイルポインタ: *om_fp
   ・ファイル名   : shohin_om.txt
   ・項目
      ┌──────┬──────────┬─────┬────┐
      │ 商品コード │    商品名    │ 単価   │ 数量 │
      ├──────┼──────────┼─────┼────┤
      │ om_code  │   om_hinmei[15]   │ om_tanka │om_suryo│
      ├──────┼──────────┼─────┼────┤
      │ 整 数 型 │文字列(15バイト)│ 整数型 │ 整数型 │
      └──────┴──────────┴─────┴────┘

   A商品修正データ
   ・ファイルポインタ: *tr_fp
   ・ファイル名   : shohin_tr2.txt
   ・項目
      ┌──────┬──────────┬─────┬────┬────┐
      │ 商品コード │    商品名    │ 単価   │ 数量 │ 区分 │
      ├──────┼──────────┼─────┼────┼────┤
      │ tr_code  │   tr_hinmei[15]   │ tr_tanka │tr_suryo│tr_kubun│
      ├──────┼──────────┼─────┼────┼────┤
      │ 整 数 型 │文字列(15バイト)│ 整数型 │ 整数型 │ 整数型 │
      └──────┴──────────┴─────┴────┴────┘

  B新商品マスタ
   ・ファイルポインタ: *nm_fp
   ・ファイル名   : shohin_nm2.txt
   ・項目
      ┌──────┬──────────┬─────┬────┐
      │ 商品コード │    商品名    │ 単価   │ 数量 │
      ├──────┼──────────┼─────┼────┤
      │ nm_code  │   nm_hinmei[15]   │ no_tanka │nm_suryo│
      ├──────┼──────────┼─────┼────┤
      │ 整 数 型 │文字列(15バイト)│ 整数型 │ 整数型 │
      └──────┴──────────┴─────┴────┘

(5)処理内容
  @旧商品マスタ(以下旧マスタ)と商品修正データ(以下トラン)を入力する。
   1:1のマッチングを行う。
   ※メモ帳でテストデータが入力、確認が出来るように、ファイルの入出力には
    fscanf,fprintfを使用すること。
  Am_code < t_codeのときは、旧マスタの内容を新マスタにコピーし出力する。
  Bm_code = t_codeのとき
    ・区分が1のとき追加エラーとし現マスタの内容とトランの内容を表示する。
    ・区分が2のときマスタの削除を行う。
    ・区分が3のとき商品名の修正を行い、マスタ修正前後の内容を表示する。
    ・区分が4のとき単価の修正を行い、マスタ修正前後の内容を表示する。
    ・区分がそれ以外のとき区分エラーとし、トランの内容を表示する。
  Cm_code > t_codeのとき
    ・区分が1のときマスタの追加を行い、追加内容を表示する。
    ・区分がそれ以外のとき区分エラーとし、トランの内容を表示する。
  D処理終了時に表示装置に各件数を表示する。

(6)テストデータ
   次のデータをメモ帳で作成し、実行すること。

  @旧商品マスタ(shohin_om.txt)

104 マヨネーズ      160 025
132 ソース          180 003
161 ケチャップ      230 014
198 コショウ        090 030
200 ゴマ油          210 040
210 サラダ油        190 011
309 ドレッシングA  120 008
385 ドレッシングB  150 023

  A修正データ(shohin_tr.txt)

104 マヨドレ        160 000 3
105 醤油            000 000 3
109 タルタルソース  205 025 1
132 ソース          185 000 4
161 クリーム        180 002 1
210 サラダ油        000 000 2
210 コーン油        175 030 1
309 ドレッシングA  000 000 2

(6)処理結果
   上記テストデータにて処理結果が次のようになるとOKとする。

  @表示画面

                   <<< 商品マスタ修正 >>>

         コード 商品名         単価 数量 区分
         104    マヨネーズ      160  025     修正前
         104    マヨドレ        160  025     修正後(商品名)
         105    醤油            000  000 3   区分エラー
         109    タルタルソース  205  025     追加
         132    ソース          180  003     修正前
         132    ソース          185  003     修正後(単価)
         161    ケチャップ      230  014     現マスタ
         161    クリーム        180  002 1   追加エラー
         210    サラダ油        190  011     削除
         210    コーン油        175  030     追加
         309    ドレッシングA  120  008     削除

         旧マスタ件数=8 : トラン件数=8 : 新マスタ件数=8
         追加件数    =2 :   削除件数=2 : 商品修正件数=1
         単価修正件数=1 : エラー件数=2
         確認したら何かキーを押してください。

  A新マスタ 104 マヨドレ 160 025 109 タルタルソース 205 025 132 ソース 185 003 161 ケチャップ 230 014 198 コショウ 090 030 200 ゴマ油 210 040 210 コーン油 175 030 385 ドレッシングB 150 023