/*查找信息函数*/
void search(struct goods t[])
{
FILE *fp; int x,i,q=0,y1,y2,j=0;
int b[100],k,c1[100],b1,d[100];
char n[30],*c2[100]; if((fp=fopen("pro.dat","rb"))==NULL)
printf("error!");
else {
for(i=0;i<m;i++)
{
fread(&t[i],sizeof(struct goods),1,fp); }
printf("按名称查询请输入1;按进货日期查询请输入2;按名称和规模查询请输入3:\n"); scanf("%d",&x); if(x==1) {
printf("请输入产品名:\n");
gets(n);
for(i=0;i<m;i++)
{ if(strcmp(t[i].name,n)==0)
printf("名称:%s,日期:%d,%d,%d,数量:%d\n",t[i].name,t[i].year,t[i].month,t[i].day,t[i].count);
else
q++;
}
if(q==m) printf("Not found!");
else if(x==2)/*输入进货日期,输出该产品的进货总量*/
{ printf("请输入年月日:\n");
scanf("%d,%d",&y1,&y2);
for(i=0;i<m;i++) if(t[i].year==y1&&t[i].month==y2)
{
b[j]=i; j++;
}
if(j==0)
printf("Not found!");
i=0; for(k=0;k<j-1;k++)
while(b[i]!=-1)
{
printf("%s",t[b[k]].name);
c1[k]=t[b[k]].count;
for(i=k+1;i<j-1;i++)
if(strcmp(t[b[k]].name,t[b[i]].name)==0)
{
c1[k]+=t[b[i]].count;
b[i]=-1;
}
printf("%d",c1[k]); printf("\n");
}
}
else /*输入数量在b1以上产品名及对应数量*/
printf("商品规模数量底线:\n");
scanf("%d",&b1);
j=0;
for(i=0;i<m;i++)
if(t[i].count>=b1)
{
c1[j]=t[i].count;
strcpy(c2[j],t[i].name);
j++;
}
if(j==0)
printf("Not found!\n");
i=0;
for(k=0;k<j-1;k++)
while(c1[i]!=-1)
{
printf("%s",c2[k]);
d[k]=c1[k];
for(i=k+1;i<j-1;i++)
if((strcmp(t[c1[k]].name,t[c1[i]].name))==0)
{
d[k]+=c1[i];
c1[i]=-1;
}
printf("%d",d[k]);
}
void search(struct goods t[])
{
FILE *fp; int x,i,q=0,y1,y2,j=0;
int b[100],k,c1[100],b1,d[100];
char n[30],*c2[100]; if((fp=fopen("pro.dat","rb"))==NULL)
printf("error!");
else {
for(i=0;i<m;i++)
{
fread(&t[i],sizeof(struct goods),1,fp); }
printf("按名称查询请输入1;按进货日期查询请输入2;按名称和规模查询请输入3:\n"); scanf("%d",&x); if(x==1) {
printf("请输入产品名:\n");
gets(n);
for(i=0;i<m;i++)
{ if(strcmp(t[i].name,n)==0)
printf("名称:%s,日期:%d,%d,%d,数量:%d\n",t[i].name,t[i].year,t[i].month,t[i].day,t[i].count);
else
q++;
}
if(q==m) printf("Not found!");
else if(x==2)/*输入进货日期,输出该产品的进货总量*/
{ printf("请输入年月日:\n");
scanf("%d,%d",&y1,&y2);
for(i=0;i<m;i++) if(t[i].year==y1&&t[i].month==y2)
{
b[j]=i; j++;
}
if(j==0)
printf("Not found!");
i=0; for(k=0;k<j-1;k++)
while(b[i]!=-1)
{
printf("%s",t[b[k]].name);
c1[k]=t[b[k]].count;
for(i=k+1;i<j-1;i++)
if(strcmp(t[b[k]].name,t[b[i]].name)==0)
{
c1[k]+=t[b[i]].count;
b[i]=-1;
}
printf("%d",c1[k]); printf("\n");
}
}
else /*输入数量在b1以上产品名及对应数量*/
printf("商品规模数量底线:\n");
scanf("%d",&b1);
j=0;
for(i=0;i<m;i++)
if(t[i].count>=b1)
{
c1[j]=t[i].count;
strcpy(c2[j],t[i].name);
j++;
}
if(j==0)
printf("Not found!\n");
i=0;
for(k=0;k<j-1;k++)
while(c1[i]!=-1)
{
printf("%s",c2[k]);
d[k]=c1[k];
for(i=k+1;i<j-1;i++)
if((strcmp(t[c1[k]].name,t[c1[i]].name))==0)
{
d[k]+=c1[i];
c1[i]=-1;
}
printf("%d",d[k]);
}