當前位置:成語大全網 - 書法字典 - 數據結構:產品進銷存管理系統源代碼(C語言或c++)。

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

& amp(p->;銷售數量)。(p->;銷售時間)。年份),以及。((p->;銷售時間)。月份)。((p->;銷售時間)。天));p->;next product = q-& gt;nextproduct

q->;next product = p;

q=p

}

}

退貨ok;

}//ProductInsert

void ProQuantity _ add(sqmountlink & amp;l,char pkindname 1[],char pname 1[],int n)

{//在序列表中添加壹個鏈接到鏈表的產品的總量,要添加的產品總量為n。

int i,k;

plink list p;

for(I = 0;我& lt長度;i++)

{

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

繼續;

其他

打破;

}

如果(我& lt長度)

{

for(p=L .金德萊姆[i])。第壹產品;p!= NULLp = p-& gt;下壹產品)

{

k = strcnp(p-& gt;pname . pname);

如果(k==0)

{

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

Printf("查看添加產品的輸出:% s% d% d,% d% d,% d % d \ n ",p-pname,p-> totalquantity,(p-& gt;goodsdate)。年,(p->;goodsdate)。月,(p->;商品)。天,

p->;銷售質量。銷售時間)。年,(p->;銷售時間)。月,(p->;銷售時間)。天);

}

}

}

}//ProQuantity_add

無效訪問(sqmountlink & ampl,char pkindname3[],char pname3[])

{//查詢序列表的鏈表L中屬於某個產品類別的產品信息。

int i,k;

plink list p;

for(I = 0;我& lt長度;i++)

{

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

繼續

其他

打破;

}

如果(我& lt長度)

{

for(p=L .金德萊姆[i])。第壹產品;p!= NULLp = p-& gt;nextproducy)

{

k = strcmp(p-& gt;pname . pname 3);

如果(k==0)

打破;

}

如果(k!=0)

Printf("該產品不存在:\n ")

其他

{

Printf("用查詢輸出產品的各種信息:\ n ");

printf(" % s % s %d %d % d,% d,%d %d %d,% d,%d\n ",(L.kindelem[i])。pkindname,p-& gt;pname,p->總量,(p->;goodsdate)。年,(p->;goodsdate)。月,(p->;goodsdate)。天,

p->;銷售數量。銷售時間)。年,(p->;銷售時間)。月,(p->;銷售時間)。天);

}

}

}//訪問

void顯示列表(sqmountlink & ampl)

{//顯示每個產品的產品類別、產品名稱、產品總數量、購買日期、銷售數量、銷售時間。

int I;

plink list p;

Printf("產品購買日期、銷售數量和銷售時間\n ")

for(I = 0;我& lt長度;i++)

{

如果(!(金德萊姆[i],第壹產品)

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

for(p=L .金德萊姆[i])。第壹產品;p;p = p-& gt;下壹產品)

printf(" % s % s %d %d % d,% d,%d %d %d,% d,%d \n ",(L.kindelem[i])。pkindname,p-& gt;pname,p->總量,(p->;goodsdate)。年,(P->;goodsdate)。月,(p->;goodsdate)。天,p-& gt;銷售數量,(p->銷售時間)。年,(p->;銷售時間)。月,(p->;銷售時間)。天);

}

}//顯示列表

void DestoryMountList(sqmountlink & amp;l)

{//銷毀已有的序列表鏈表l。

int I;

kindl node * p;

for(I = l . length;我& gt=0;

{

p = & amp(l .金德萊姆[I]);

if(*p)。firstproduct==NULL)

免費(p);

其他

{

while((*p)。第壹產品;q->;nextproductq = q-& gt;next product);

免費(q);

}

免費(q);

}

}

}//DestroyMountList

void menu_operation()

{//操作菜單

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

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

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

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

Printf(" -查詢每個產品的產品類別、產品總數量、購買日期、銷售數量、銷售時間:4 - \ n ")。

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

}//菜單_操作

/* -主程序*/

無效總管(無效)

{

int順序,

int i,n;

char a[30];

char b[30];

sqmount link L;

InitMountList(L);

Printf(" -創建初始產品類和產品序列表鏈表L);

CreatMuntList(L);

顯示列表(L);

Printf(" -初始產品類和產品序列表鏈表L已創建);

menu _ operation();

循環:

printf(" Enter command:");

scanf("%d ",& amp訂單);

開關(順序)

{

案例1:

Printf("要添加的產品類別數:");

scanf("%d ",& ampI);

kindinsert(L,I);

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

顯示列表(L);

轉到循環;

案例二:

Printf("產品所屬的產品類別名稱:")

scanf("%s ",& ampa);

Printf("要添加到該產品類別的產品數量:");

scanf("%d ",& ampI);

ProductInsert(L,a,I);

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

顯示列表(L);

轉到循環;

案例三:

Printf("輸入要添加的數量所屬的產品類別名稱:");

scanf("%s ",& ampa);

Printf("輸入要添加的產品名稱:");

scanf("%d ",& ampn);

ProQuantity_add(L,a,b,n);

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

顯示列表(L);

轉到循環;

案例4:

Printf("輸入要查詢的產品所屬的產品類別名稱:");

scanf("%s ",& ampb);

Printf("輸入要查詢的產品名稱:");

scanf(%s ",& ampb);

訪問(L & lta,b);

轉到循環;

案例():

DestroyMountList(L);

退出(0);

}

}