#include <stdio.h>
#define MAXID 100
typedef struct sData{
int id1;
char name[32];
int tanka;
int id2;
int zaiko;
}sData;
int main(void){
int no,num,ans,i,j,k;
char str[32];
sData shohin[MAXID]={0,"",0,0,0};
FILE *fp1, *fp2;
/* ファイルオープン */
fp1 = fopen("data1.txt", "r");
fp2 = fopen("data2.txt", "r");
if(fp1 == NULL || fp2 == NULL) {
printf("File Open Error!\n");
return 1;
}
/* data1.txt ファイル読み込み */
while(fscanf(fp1, "%d", &num)!=EOF){ //ID読み込み
no=num;
shohin[no].id1=num;
i=0;
shohin[no].name[i]=fgetc(fp1);
do{
shohin[no].name[i]=fgetc(fp1); //商品名読み込み
if(shohin[no].name[i]=='\n'){ //(一文字ずつ読み込み)
shohin[no].name[i]='\0';
}
i++;
}while(shohin[no].name[i-1]!='\0');
fscanf(fp1, "%d", &num); //単価読み込み
shohin[no].tanka=num;
}
/* data2.txt ファイル読み込み */
while(fscanf(fp2, "%d", &num)!=EOF){ //ID読み込み
no=num;
shohin[no].id2=num;
fscanf(fp2, "%d", &num); //在庫読み込み
shohin[no].zaiko=num;
}
/* ファイルクローズ */
fclose(fp1);
fclose(fp2);
/* 商品名入力 */
printf("商品名 -->");
scanf("%s", str);
/* 検索 */
k=0;
for(j=1;j<MAXID && k!=1;j++){
i=0;
while(1){
if(shohin[j].name[i]!=str[i]){
k=0;
break;
}
if(shohin[j].name[i]=='\0'){
k=1;
break;
}
i++;
}
}
if(k==0) {
printf("見つかりませんでした。");
} else {
no=j-1;
/* 在庫総額 */
ans=shohin[no].tanka * shohin[no].zaiko;
/* 結果表示 */
printf("ID:[%d]\n", shohin[no].id1);
printf("商品名:%s\n", shohin[no].name);
printf("単価:%d円\n", shohin[no].tanka);
printf("在庫数:%d個\n", shohin[no].zaiko);
printf("在庫総額:%d円\n", ans);
}
return 0;
}