追加問題

課題 23 二つのファイルの照合 マッチング
問題 2
追加問題
変更が必要な部分を考えます
追加1
売り上げファイルに無い在庫マスターファイルのデータに関して、問題 1
では次々と読むだけでしたが、問題 2 では
新しい在庫マスターにそのまま書き出す(複写する)
必要があります。これは、P.5 の流れの中で在庫マスターを読んでいる⑦の
部分で、
fprintf(ファイルポインタ、”書式“、
・・・)
として書き出します。ファイルポインタ部分についてはファイルオープンで
説明します。
追加2
売り上げデータファイルにある在庫マスターのデータは,在庫マスターの
在庫数を変更して書き出します。これは、P.5 の流れの中で正誤判定をして
いる⑨の部分で
mnum = mnum-unum;
//
fprintf(ファイルポインタ、”書式“、
・・・)
として、書き出します。
追加3
在庫マスターの残りのデータを繰り返し書き出す処理が必要です。プリント
P.3 の上部分の図を見て下さい。仮に、売り上げデータが
103 20
の 1 件だけだと考えましょう。在庫マスターは 103 のデータ部分で読み込み
が終わりますから、残りの 104,111 のデータは読み込まれません。従って、
while( 在庫マスターが空ではない合田){
在庫マスターを読む
新しい在庫マスターファイルに書き出す
}
という処理を最後に加えて下さい。
追加4
新しい在庫マスターに対するファイルオープン
新しい在庫マスターをファイルとして作る必要がありますからファイル
ポインタが更にもう一つ必要になります。
新しいファイルの名前は,コマンドラインから
kadai23
↑
master.dat
↑
実行プログラム
argv[0]
第1引数
argv[1]
uriage.dat
↑
newmaster.dat↓
↑
第2引数
argv[2]
第3引数
argv[3]
として指定ますから、argv[3]を使ってファイルを w モードでオープンして下
さい。
FILE *fpn;
if( (fpn=fopen(argv[3],”w”))==NULL)