关于根据库房成品出入库账目明细(excel作的),如何作出每天每个品种出库合计,要根据明细表自动填充才行
发布网友
发布时间:2022-04-30 20:10
我来回答
共1个回答
热心网友
时间:2023-10-10 05:18
#include"stdio.h"
struct thing{
int n0;
char mode[10];
char kind[10];
int innum;
char intime[20];
char outtime[20];
int outnum;
char name[10];
int num;
}th[100];
main()
{
int z,a1,a2,c; /*定义变量*/
int t=-1,i,j;
int n1;
for(i=0;i<100;i++) /*初始赋值*/
{
th[i].outnum=0;
}
printf("\t* *|| 货物入库---请按1 ||* *\n\t* *|| 货物出库---请按2 ||* *\n\t* *|| 查看货物---请按3 ||* *\n\t* *|| 退----出---请按4 ||* *\n");
for(z=0;z<=365535;z++)
{ printf("请选择要执行的操作(1-7): ");
scanf("%d",&a1);
if(a1==1) /*货物入库*/
{
t=t+1;th[t].n0=t+1;
printf("已选择:货物入库\n");
printf("请输入货物型号:"); scanf("%s",&th[t].mode);
printf("请输入货物种类:"); scanf("%s",&th[t].kind);
printf("请输入入库数目:"); scanf("%d",&th[t].innum);
printf("请输入入库日期:"); scanf("%s",&th[t].intime);
th[t].num=th[t].innum-th[t].outnum;
printf("编号\t型号\t种类\t入库数\t入库日期\n");
for(j=0;j<=t;j++)
printf("%2d\t%s\t%s\t%d\t%s\n",th[j].n0,th[j].mode,th[j].kind,th[j].innum,th[j].intime);
}
else if(a1==2) /*货物出库*/
{
printf("已选择:货物出库\n");
if(t<0) printf("仓库里无货可出!!!\n");
else
{
printf("编号\t型号\t种类\t在库数\n");
for(j=0;j<=t;j++)
printf("%2d\t%s\t%s\t%d\n",th[j].n0,th[j].mode,th[j].kind,th[j].num);
printf("请选择要出库的货物编号:"); scanf("%d",&c);
for(j=0;c>t+1;j++)
for(j=0;j<=t;j++)
{
if(th[j].n0==c)
{
printf("请输入出库日期:"); scanf("%s",th[j].outtime);
printf("请输入出库数目:"); scanf("%d",&n1);
for(i=0;n1>th[j].innum;i++)
{
printf("出库数大于在库数!!!请输入出库数目:"); scanf("%d",&n1);
}
th[j].outnum=th[j].outnum+n1;
th[j].num=th[j].innum-th[j].outnum;
printf("请输入经办人名:"); scanf("%s",th[j].name);break;
}
}
}
}
else if(a1==3) /*货物盘点*/
{
printf("已选择:货物盘点\n");
printf("编号\t型号\t种类\t在库数\n");
for(j=0;j<=t;j++)
printf("%2d\t%s\t%s\t%d\n",th[j].n0,th[j].mode,th[j].kind,th[j].num);
}
else if(a1==4) /*退出*/
{
printf("确定要退出?确定退出(1)\t不退出(任意除1的数字): ");
scanf("%d",&a2);
if(a2==1) break;
}
else printf("输入指令无效!!请输入1-7选择要执行的命令!!\n");
}
printf("\t_____感谢使用!!!_____\n");
}