當前位置:偏方大全网 - 藥品查詢 - 數據結構:產品進銷存管理系統的源代碼(c語言或c++的)

數據結構:產品進銷存管理系統的源代碼(c語言或c++的)

&(p->salesquantity),&(p->salestime).year),&((p->salestime).month),&((p->salestime).day)); p->nextproduct=q->nextproduct;

q->nextproduct=p;

q=p

}

}

return ok;

}//ProductInsert

void ProQuantity_add(sqmountlink&L,char pkindname 1[],char pname 1[],int n)

{//添加順序表掛接鏈表的某產品的總量,且需添加的產品總量為n

int i,k;

plinklist p;

for(i=0;i<L.length;i++)

{

if(strcmp(L.kindelem[i]).pkindname,pkindname 1)!=0)

continue;

else

break;

}

if(i<L.length)

{

for(p=L.kindelem[i].firstproduct;p!=NULL;p=p->nextproduct)

{

k=strcnp(p->pname.pname);

if(k==0)

{

p->totalquantity=p->totalquantity+n;

printf("查看添加後產品的各項輸出:%s %d%d,%d %d %d,%d,%d\n",p-pname,p->totalquantity,(p->goodsdate).year,(p->goodsdate).month,(p->goods).day,

p->salequanlity,(p->salestime).year,(p->salestime).month,(p->salestime).day);

}

}

}

}//ProQuantity_add

void Visit(sqmountlink&L,char pkindname3[],char pname3[])

{//在順序表掛接鏈表L中,查詢屬於某產品類的某產品的各項信息

int i,k;

plinklist p;

for(i=0;i<L.length;i++)

{

if(strcmp((L.kindelem[i]),pkindname.pkindname3)!=0)

continue

else

break;

}

if(i<L.length)

{

for(p=L.kindelem[i].firstprodicy;p!=NULL;p=p->nextproducy)

{

k=strcmp(p->pname.pname3);

if(k==0)

break;

}

if(k!=0)

printf("此產品不存在:\n")

else

{

printf("輸出帶查詢產品的各項信息:\n");

printf("%s %s %d %d,%d,%d %d %d,%d,%d\n",(L.kindelem[i]).pkindname,p->pname,p->totalquantity,(p->goodsdate).year,(p->goodsdate).month,(p->goodsdate).day,

p->salequantity,(p->salestime).year,(p->salestime).month,(p->salestime).day);

}

}

}//Visit

void DisplayList(sqmountlink&L)

{//顯示各產品所屬產品類,產品名稱、產品總量,進貨日期,銷出數量,銷售時間

int i;

plinklist p;

printf("產品類 產品 進貨日期 銷出數量 銷售時間\n")

for(i=0;i<L.length;i++)

{

if(!(L.kindelem[i],firstproduct))

printf("%s\n",(L.kindelem[i]).pkindname);

for(p=L.kindelem[i].firstproduct;p;p=p->nextproduct)

printf("%s %s %d %d,%d,%d %d %d,%d,%d \n",(L.kindelem[i]).pkindname,p->pname,p->totalquantity,(p->goodsdate).year,(P->goodsdate).month,(p->goodsdate).day,p->salesquantity,(p->salestime).year,(p->salestime).month,(p->salestime).day);

}

}//DisplayList

void DestoryMountList(sqmountlink&L)

{//銷毀已存在的順序表掛接鏈表L

int i;

kindlnode *p;

for(i=L.length;i>=0;

{

p=&(L.kindelem[i]);

if(*p).firstproduct==NULL)

free(p);

else

{

while((*p).firstproduct;q->nextproduct;q=q->nextproduct);

free(q);

}

free(q);

}

}

}//DestroyMountList

void menu_operation()

{//操作菜單

printf("----輸入所要執行操作:-------\n")

printf("----產品類的添加:1------\n");

printf("----產品的添加:2-----\n");

printf("----產品數量的添加:3-----\n");

printf("----查詢每種產品所屬產品類,產品總量,進貨日期,銷出數量,銷售時間:4-----------\n")

printf("----釋放L所占內存空間,退出程序:0-----\n");

}//menu_operation

/*--------------主程序-------------*/

void main(void)

{

int order,

int i,n;

char a[30];

char b[30];

sqmountlink L;

InitMountList(L);

printf("-----創建初始的產品類、產品順序表掛接鏈表L-----\n");

CreatMuntList(L);

DisplayList(L);

printf("-----初始的產品類、產品順序表掛接鏈表L創建完成-----\n");

menu_operation();

loop:

printf("輸入命令:");

scanf("%d",&order);

switch(order)

{

case 1:

printf("需添加產品類的個數:");

scanf("%d",&i);

kindinsert(L,i);

printf("輸出修改後的產品庫存管理表:\n");

DisplayList(L);

goto loop;

case 2:

printf("需添加產品所屬產品類的名稱:")

scanf("%s",&a);

printf("需向此產品類添加產品的個數:");

scanf("%d",&i);

ProductInsert(L,a,i);

printf("輸出修改後的產品庫存管理表:\n");

DisplayList(L);

goto loop;

case 3:

printf("輸入需添加數量的產品所屬產品類的名稱:");

scanf("%s",&a);

printf("輸入需添加數量的產品的名稱:");

scanf("%d",&n);

ProQuantity_add(L,a,b,n);

printf("輸出修改後的產品庫存管理表:\n");

DisplayList(L);

goto loop ;

case 4:

printf("輸入待查詢產品所屬產品類的名稱:");

scanf("%s",&b);

printf("輸入待查詢產品的名稱:");

scanf(%s",&b);

Visit(L<a,b);

goto loop;

case ():

DestroyMountList(L);

exit(0);

}

}

  • 上一篇:歐盟膳食補充劑管理法規
  • 下一篇:怎麽撕掉標簽
  • copyright 2024偏方大全网