帮着看看怎么回事
程序代码:#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define M 50
struct product/*定义结构体类型*/
{
char name[50];
int num;
char date[10];
int sell;
char time[10];
}pro[M];
/*函数原型说明*/
int menu_select();/*菜单选择select*/
int enter(struct product t[]);/*增加记录*/
int emp();/*清空数据库*/
int disp(struct product t[]);/*显示记录*/
int find(struct product t[]);/*查找记录*/
int del(struct product t[]);/*删除记录*/
int main()
{
for(;;)
{
struct product pro[M];
switch(menu_select())/*菜单选择*/
{
case 0:exit(0);/*正常退出*/
case 1:emp();break;
case 2:enter(pro);break;
case 3:disp(pro);break;
case 4:find(pro);break;
case 5:del(pro);break;
}
}
return(0);/*OK*/
}
/*清空数据库*/
int emp()
{
FILE *fp;
fp=fopen("42.txt","w");
fclose(fp);
return(0);
}
/*显示记录*/
int disp(struct product t[])
{
int i,n=0;
FILE *fp;
fp=fopen("42.txt","rb");
while(fp!=NULL)
{
fread(&t[n],sizeof(struct product),1,fp);
n++;
}
printf("产品名称\t产品总量\t进货日期\t销售数量\t销售时间\n");
for(i=0;i<n-1;i++)
{
printf("%s\t %d\t %s\t %d\t %s\n",pro[i].name,pro[i].num,pro[i].date,pro[i].sell,pro[i].time);
}
fclose(fp);
return(0);
}
/*增加记录*/
int enter(struct product t[])
{
int i,y,n;
FILE *fp;
printf("\n请输入这次要进货的产品数目:");
scanf("%d",&n);
printf("\n请输入此次进货产品的信息:\n");
for(i=0;i<n;i++)
{
printf("产品名称:");scanf("%s",&pro[i].name);
printf("产品总量:");scanf("%d",&pro[i].num);
printf("进货日期:");scanf("%s",&pro[i].date);
printf("销售数量:");scanf("%d",&pro[i].sell);
printf("销售时间:");scanf("%s",&pro[i].time);
printf("产品名称\t产品总量\t进货日期\t销售数量\t销售时间\n");
printf("%s\t %d\t %s\t %d\t %s\n",pro[i].name,pro[i].num,pro[i].date,pro[i].sell,pro[i].time);
}
printf("是否保存这次记录(1/0):");
scanf("%d",&y);
if(y==1)
{
fp=fopen("42,txt","ab+");
fwrite(&t[n],sizeof(struct product),1,fp);
n++;
fclose(fp);
}
return(0);
}
int del(struct product t[])
{
char name[20];/*要删除产品的名称*/
FILE *fp;
int i=0,n=0,j=0;
printf("输入要删除产品的记录:");
scanf("%s",&name);
fp=fopen("42.txt","rb");
while(fp!=NULL)
{
fread(&t[n],sizeof(struct product),1,fp);
n++;
}
fclose(fp);
fp=fopen("42.txt","wb");
while(i<=n)
{
if(strcmp(name,pro[i].name)!=0)/*name 和 pro[i].name不相同*/
fwrite(&t[i],sizeof(struct product),1,fp);/*将不同的pro[i].name放在42.txt文件中*/
else
{printf("\n******删除成功******\n");j=0;}
i++;
}
fclose(fp);
if(j==1)
printf("没有找到要删除的记录\n");
return 0;
}
int find(struct product t[])
{
int i,n=0;
char name[30];
FILE *fp;
printf("请输入要查找的产品名称:");
scanf("%s",&name);
fp=fopen("42.txt","r");
while(fp!=NULL)
{
fread(&t[n],sizeof(struct product),1,fp);
n++;
}
for(i=0;i<n;i++)
if(strcmp(name,t[i].name)==0)
{
printf("产品名称\t产品总量\t进货日期\t销售数量\t销售时间\n");
printf("%s\t %d\t %s\t %d\t %s\n",pro[i].name,pro[i].num,pro[i].date,pro[i].sell,pro[i].time);
break;
}
else
printf("对不起,此数据库没有你要查找到产品记录");
fclose(fp);
return 0;
}
int menu_select()
{
int c;
printf("\n***************产品进销存管理系统***************\n\n");
printf(" 1.清空产品记录\n");
printf(" 2.增加产品记录\n");
printf(" 3.显示产品记录\n");
printf(" 4.查找查找记录\n");
printf(" 5.删除产品记录\n");
printf(" 6.退出程序\n");
printf("***************************************************\n");
do{
printf("\n 请输入您的选项:");
scanf("%d",&c);
}
while(c<0||c>5);
return c;printf("\n您输入的选项错误,请重新输入:");
}
无法完全运行,帮忙看看怎么回事?









