帮着看看怎么回事
程序代码:
#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您输入的选项错误,请重新输入:"); }无法完全运行,帮忙看看怎么回事?