在庫管理のプログラミング
Posted: 2011年12月04日(日) 17:58
在庫を登録したファイル "zaiko.txt" と当日商品別に入庫を記録したファイル "nyuko.txt" の2つのファイルを入力し、新たな在庫ファイル "zaiko_new.txt" を出力するプログラムを作りたいのですが上手くいきません。調べてみて、同じような質問もありましたが出来ませんでした。よろしくお願いします。
zaiko.txt
0001 19
0023 4
0050 6
0079 66
0221 1
0245 3
%more nyuko.txt
0023 5
0079 2
0221 23
0623 56
zaiko.txt
0001 19
0023 4
0050 6
0079 66
0221 1
0245 3
%more nyuko.txt
0023 5
0079 2
0221 23
0623 56
#include<stdio.h>
#include<stdlib.h>
int main(int argc,char argv[]){
FILE *fp_z;
FILE *fp_n;
FILE *fp_zn;
int kosu1,kosu2,kosu3;
int code1,code2,code3;
if((fp_z = fopen("zaiko.txt","r"))==NULL){
printf("エラー:ファイル%sを読み込めません\n",argv[1]);
exit(1);
}
if((fp_n = fopen("nyuko.txt","r"))==NULL){
printf("エラー:ファイル%sを読み込めません\n",argv[2]);
exit(1);
}
if((fp_zn = fopen("zaiko_new.txt","a"))==NULL){
printf("エラー:ファイル%sを読み込めません\n",fp_zn);
exit(1);
}
while(fscanf(fp_z,"%d %d",&code1,&kosu1) == 2){
while(fscanf(fp_n,"%d %d",&code2,&kosu2) == 2){
if(code1 == code2){
code3 = code1;
kosu3 = kosu1 + kosu2;
fprintf(fp_zn,"%d %d\n",code3,kosu3);
}
else{
code3 = code2;
kosu3 = kosu2;
fprintf(fp_zn,"%d %d\n",code3,kosu3);
}
}
}
fclose(fp_z);
fclose(fp_n);
fclose(fp_zn);
}