printf("请输入您需要领取物资的名称或编号:"); scanf("%s",&h); printf("请输入您需要领取的次数:"); scanf("%d",&k); printf("请输入您领取的物资进行保存需要的文件名:"); scanf("%s",&filename_m); if((fp=fopen(filename_m,"w+"))==NULL){ printf("无法打开此文件\n"); exit(0); } for(o=0;o<k;o++){ printf("请输入您需要领取物资的名称或编号:"); scanf("%s",&h); for(i=0;i<6;i++){ if(strcmp(h,s[i].num)==0||strcmp(h,s[i].goods)==0){ printf("请输入领取的数量:"); scanf("%d",&j); if(j<=s[i].count){ s[i].count=s[i].count-j; printf("领取成功\n"); } else{ printf("很抱歉,库存不足,领取失败。\n");} for(i=0;i<6;i++){ fprintf(fp,"%10s%10s%10.2lf%20lf%10s\n",s[i].num,s[i].goods,s[i].price,s[i].count,s[i].cosumer); } } } strcpy(h,"0"); } fclose(fp); for(i=0;i<6;i++){ if(s[i].count==0){ strcpy(s[i].num,"s[i+1].num"); strcpy(s[i].goods,"s[i+1].goods"); strcpy(s[i].cosumer,"s[i+1].cosumer"); s[i].price=s[i+1].price; s[i].count=s[i+1].count; } } printf("请输入您需要购买的物资名称:"); scanf("%s",&v); printf("请输入您的姓名:"); scanf("%s",&x); for(i=0;i<6;i++) { if(strcmp(v,s[i].goods)==0){ if(strcmp(x,s[i].cosumer)==0){ printf("请输入您需要购买入库物资的数量:"); scanf("%d",&b); s[i].count=s[i].count+b; } else { printf("请输入您需要购买入库物资的数量:"); scanf("%d",&b); s[6].count=b; strcpy(s[6].goods,s[i].goods); s[6].price=s[i].price; strcpy(s[6].num,"007"); strcpy(s[6].cosumer,x); } } }
时间: 2024-04-27 11:22:27 浏览: 270
这段代码是关于物资管理系统领取和购买物资的实现。用户输入领取或购买的物资名称或编号,并输入相应的数量和保存文件名。然后程序会判断库存是否足够进行领取操作,如果库存足够,就进行领取,更新库存,并将更新后的库存数据写入文件中。如果库存不够,就提示领取失败。如果用户需要购买物资,程序会要求输入购买入库物资的数量,并且如果该用户之前已经购买过该物资,那么将会直接修改库存数量,否则将会新建一条记录,并将购买入库的物资信息写入文件中。此外,该程序还实现了一个功能,即当某一物资的库存数量为零时,该物资信息将被删除,以便于管理。
阅读全文
相关推荐















