版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 目 錄</b></p><p> 需求分析說明…………………………………………………………1</p><p> 概要設(shè)計(jì)說明…………………………………………………………2</p><p> 詳細(xì)設(shè)計(jì)說明…………………………………………………………3</p><p> 調(diào)試分析……
2、……………………………………………………4</p><p> 用戶使用說明………………………………………………………5</p><p> 測試結(jié)果………………………………………………………5</p><p> 主程序………………………………………………………12</p><p><b> 需求分析說明</b>&
3、lt;/p><p> 產(chǎn)品進(jìn)銷存管理系統(tǒng)總體功能要求:</p><p> 產(chǎn)品進(jìn)銷存管理系統(tǒng)總體目標(biāo):在TURBO C2.0 的開發(fā)環(huán)境下,利用所學(xué)C語言和數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識,開發(fā)一個(gè)小程序,實(shí)現(xiàn)商店日常基本操作,通過其顯示結(jié)果對本系統(tǒng)的性能有一個(gè)直觀的了解。</p><p><b> 基本功能如下:</b></p><p
4、> (1)界面友好,易與操作。采用菜單進(jìn)行選擇。</p><p> ?。?)實(shí)現(xiàn)各種基本操作。包括商品產(chǎn)品的存儲,銷售,查詢,更改,已達(dá)到為商家減少日常不必要的麻煩。</p><p> 以下是各功能模塊的功能描述:</p><p><b> 1.主函數(shù)模塊</b></p><p> 本模塊的主要功能是初始化
5、圖形界面,調(diào)用各模塊,實(shí)現(xiàn)系統(tǒng)功能。</p><p><b> 2.初始化模塊</b></p><p> 本模塊的主要功能是初始化本系統(tǒng),進(jìn)行系統(tǒng)基本操作的演示。</p><p><b> 3.添加模塊</b></p><p> 本模塊的主要功能是可進(jìn)行商品類的添加,產(chǎn)品的添加。</p
6、><p><b> 4.查詢模塊</b></p><p> 本模塊的主要功能是能夠查詢庫房每種產(chǎn)品的總量,進(jìn)貨日期,銷售數(shù)量,產(chǎn)品單價(jià),銷售日期,銷售收益 ,產(chǎn)品剩余庫存量。 </p><p><b> 5.刪除模塊</b></p><p> 本模塊的主要功能是能夠進(jìn)行商品類的刪除,產(chǎn)品的刪除。
7、</p><p><b> 6.庫存模塊</b></p><p> 本模塊的主要功能是使商家隨時(shí)隨地的查看商店的整體運(yùn)作情況。例如每一種商品的銷售數(shù)量,銷售收益等。</p><p><b> 7.更改模塊</b></p><p> 本模塊的主要功能是能夠更改庫房每種產(chǎn)品的總量,進(jìn)貨日期,銷售
8、數(shù)量,產(chǎn)品單價(jià),銷售日期,銷售收益 ,產(chǎn)品剩余庫存量。 </p><p><b> 8.密碼模塊</b></p><p> 本模塊的主要功能是使本系統(tǒng)更趨于安全。</p><p><b> 概要設(shè)計(jì)說明</b></p><p> #define ok 1</p><p&g
9、t; #define error 0</p><p> #define overflow 0</p><p> #define SQMOUTLINK_INIT_SIZE 100</p><p> #define SQMOUTLINKINCREMENT 10</p><p> /***********************日期**
10、*****************/</p><p> typedef struct date</p><p> { int year; int month; int day;</p><p><b> }date;</b></p><p> /***********************產(chǎn)品****
11、**************/</p><p> typedef struct productnode</p><p><b> {</b></p><p> char product_name[40]; //產(chǎn)品名稱</p><p> int product_quantity; //產(chǎn)品總
12、量</p><p> int sales_quantity; //銷售數(shù)量</p><p> double product_price; //產(chǎn)品單價(jià)</p><p> double product_income; //銷售收益</p><p> int product_stock; //產(chǎn)品庫存<
13、/p><p> date buy_time; //進(jìn)貨日期</p><p> date sales_time; //銷售日期</p><p> struct productnode *next;</p><p> }productnode,*plinklist;</p><p> /*****
14、****************貨物種類**************/</p><p> typedef struct kindnode</p><p><b> {</b></p><p> productnode * first_product; //頭指針</p><p> char pkin
15、dname[40]; //商品名稱</p><p> int kind_number; //產(chǎn)品種類個(gè)數(shù)</p><p> }kindnode;</p><p> /*****************銷售鏈表****************/</p><p> typedef struc
16、t </p><p><b> {</b></p><p> kindnode* kindelem; int length; int listsize;</p><p><b> }sqlist;</b></p><p> int Init(sqlist &L)/*初始化L
17、*/ int Add(sqlist &L) /*添加*/</p><p> void Alter(sqlist &L)/*更改*/ int Create(sqlist &L)/*創(chuàng)建*/</p><p> void Delete(sqlist &L)/*刪除*/ void Display(sqlist &L)/*輸
18、出*/</p><p> void View(sqlist &L)/*查詢*/ void password()/*設(shè)置密碼*/</p><p> void check_password()/*驗(yàn)證密碼*/ void menu_operation()/*菜單欄*/</p><p> void main(void)/*功能調(diào)用*/<
19、/p><p><b> 詳細(xì)設(shè)計(jì)說明</b></p><p><b> 1主函數(shù)模塊</b></p><p> 首先是調(diào)用password()和check_password()函數(shù)進(jìn)行安全設(shè)置,設(shè)置密碼,當(dāng)再次登錄系統(tǒng)時(shí)需輸入密碼進(jìn)行身份確認(rèn)。再次調(diào)用Init(L)函數(shù)進(jìn)行初始化。然后是功能選擇性操作菜單,進(jìn)行需要的添加
20、,刪除,更改,查詢等操作,需調(diào)用Create(L),Add(L),Alter(L),View(L),Delete(L),Display(L)函數(shù)。</p><p><b> 2.初始化模塊</b></p><p> 對系統(tǒng)的容量,長度,首地址進(jìn)行初次預(yù)設(shè)。</p><p><b> 添加模塊</b></p>
21、;<p> 輸入你所要添加的商品,之后需要從第一個(gè)商品偏歷。如果有該商品則進(jìn)行插入操作,插入一 個(gè)產(chǎn)品。如果沒有,則插入一個(gè)商品。</p><p><b> 查詢模塊</b></p><p> 首先從眾多商品中選出你所要進(jìn)行操作的商品類。從第一個(gè)商品進(jìn)行遍歷,直到找到該商品。如果沒找到則返回相應(yīng)未找到信息。如果找到,有兩種情況:第一種是該商品下已有
22、產(chǎn)品,另一種情況是該商品下沒有產(chǎn)品。有產(chǎn)品時(shí)需要進(jìn)行產(chǎn)品的遍歷,找到要操作的產(chǎn)品。找到產(chǎn)品,switch()選擇,選擇查詢選項(xiàng),產(chǎn)品的總量,進(jìn)貨日期,銷售數(shù)量,產(chǎn)品單價(jià),銷售日期,銷售收益 ,產(chǎn)品剩余庫存量</p><p><b> 5.刪除模塊</b></p><p> 首先從眾多商品中選出你所要進(jìn)行操作的商品類。從第一個(gè)商品進(jìn)行遍歷,直到找到該商品。如果沒找到
23、則返回相應(yīng)未找到信息。如果找到,需要進(jìn)行產(chǎn)品的遍歷,找到要操作的產(chǎn)品,刪除該產(chǎn)品。。</p><p><b> 6.庫存模塊</b></p><p> 從第一個(gè)商品進(jìn)行遍歷,輸出所有產(chǎn)品的信息。</p><p><b> 7.更改模塊</b></p><p> 首先從眾多商品中選出你所要進(jìn)行
24、操作的商品類。從第一個(gè)商品進(jìn)行遍歷,直到找到該商品。如果沒找到則返回相應(yīng)未找到信息。如果找到,需要進(jìn)行產(chǎn)品的遍歷,找到要操作的產(chǎn)品,更改產(chǎn)品的屬性。</p><p><b> 8.密碼模塊</b></p><p> 如果沒有設(shè)置密碼,則通過文件讀入的方式進(jìn)行密碼設(shè)置。設(shè)置完成后如登錄系統(tǒng)需輸入密碼,進(jìn)行身份驗(yàn)證。輸入的密碼字符串與文件讀出的密碼通過strcmp()
25、比較。利用getch的性質(zhì)進(jìn)行輸入隱藏用*遮蔽。</p><p><b> 調(diào)試分析</b></p><p><b> 我遇到的問題:</b></p><p> 1:混淆C++中的&引用與C語言中的*指針。</p><p><b> 2:指針指向問題。</b>&
26、lt;/p><p><b> 用戶使用說明</b></p><p> 這時(shí)你可以創(chuàng)建你的密碼。登錄界面:</p><p> 測試結(jié)果 </p><p> 首先進(jìn)行初始化操作1;</p><p><b> 操作2:</b>
27、</p><p><b> 操作6:</b></p><p><b> 操作3:</b></p><p> 選擇0反回的主界面;</p><p> 操作6查看更改情況:</p><p><b> 操作4: </b></p>&l
28、t;p><b> 操作5:</b></p><p> 操作6查看刪除情況: </p><p><b> 操作0退出。</b></p><p><b> 主程序 </b></p><p> #include<stdio.h>#include<st
29、dlib.h>#include<string.h>#include<malloc.h></p><p> #include<conio.h>#define ok 1#define error 0#define overflow 0</p><p> #define SQMOUTLINK_INIT_SIZE 100</p><
30、;p> #define SQMOUTLINKINCREMENT 10</p><p> /***********************日期*******************/</p><p> typedef struct date</p><p><b> {</b></p><p><b&g
31、t; int year;</b></p><p> int month;</p><p><b> int day;</b></p><p><b> }date;</b></p><p> /***********************產(chǎn)品*****************
32、*/</p><p> typedef struct productnode</p><p><b> {</b></p><p> char product_name[40]; //產(chǎn)品名稱</p><p> int product_quantity; //產(chǎn)品總量</p>&
33、lt;p> int sales_quantity; //銷售數(shù)量</p><p> double product_price; //產(chǎn)品單價(jià)</p><p> double product_income; //銷售收益</p><p> int product_stock; //產(chǎn)品庫存</p><p&g
34、t; date buy_time; //進(jìn)貨日期</p><p> date sales_time; //銷售日期</p><p> struct productnode *next;</p><p> }productnode,*plinklist;</p><p> /*******************
35、**貨物種類**************/</p><p> typedef struct kindnode</p><p><b> {</b></p><p> productnode * first_product; //頭指針</p><p> char pkindname[40];
36、 //商品名稱</p><p> int kind_number; //產(chǎn)品種類個(gè)數(shù)</p><p> }kindnode;</p><p> /*****************銷售鏈表****************/</p><p> typedef struct </p>&l
37、t;p><b> {</b></p><p> kindnode* kindelem;</p><p> int length;</p><p> int listsize;</p><p><b> }sqlist;</b></p><p> /*****
38、**************初始化L************/</p><p> int Init(sqlist &L)</p><p><b> {int i;</b></p><p> L.kindelem=(kindnode*)malloc(SQMOUTLINK_INIT_SIZE*sizeof(kindnode));<
39、;/p><p> if(!L.kindelem) exit(overflow);</p><p> L.length=0;</p><p> L.listsize=SQMOUTLINK_INIT_SIZE;</p><p> for(i=0;i<L.listsize;i++)</p><p> {(L.ki
40、ndelem[i]).first_product=NULL;</p><p> (L.kindelem[i]).kind_number=0;</p><p><b> }</b></p><p> return ok;</p><p><b> }</b></p><p&
41、gt; /********************創(chuàng)建商品和產(chǎn)品**************************/</p><p> int Create(sqlist &L)</p><p> {plinklist p,q;</p><p> int i,j,k,n;</p><p> printf("請輸
42、入商品類數(shù)量:\n");</p><p><b> do</b></p><p> {scanf("%d",&n);</p><p><b> if(n<0)</b></p><p> {printf("對不起,你輸入有誤!請重新選擇(n
43、>=0)\n");}</p><p> }while(n<0);</p><p> for(i=0;i<n;i++)</p><p> {printf("請輸入第%d個(gè)商品類的名稱:\n",(i+1));</p><p> scanf("%s",&(L.kin
44、delem[i].pkindname));</p><p> printf("請輸入這類商品含有的產(chǎn)品種類數(shù)量:\n");</p><p><b> do</b></p><p> {scanf("%d",&k);</p><p><b> if(k<
45、;0)</b></p><p> {printf("對不起,你輸入有誤!請重新選擇(k>=0)\n");}</p><p> }while(k<0);</p><p> L.kindelem[i].kind_number=k;</p><p><b> if(k>=1)<
46、;/b></p><p> {p=(plinklist)malloc(sizeof(productnode));</p><p> printf("請輸入第%d個(gè)產(chǎn)品名稱:\n",1);</p><p> scanf("%s",&(p->product_name));</p><p
47、> printf("請輸入產(chǎn)品總量:\n");</p><p> scanf("%d",&(p->product_quantity));</p><p> printf("請輸入產(chǎn)品進(jìn)貨日期(年-月-日):\n");</p><p> scanf("%d-%d-%d&q
48、uot;,&((p->buy_time).year),&((p->buy_time).month),&((p->buy_time).day));</p><p> printf("請輸入產(chǎn)品單價(jià):\n");</p><p> scanf("%lf",&(p->product_price));
49、</p><p> printf("請輸入產(chǎn)品銷售數(shù)量:\n");</p><p> scanf("%d",&(p->sales_quantity));</p><p> printf("請輸入產(chǎn)品銷售時(shí)間(年-月-日):\n"); scanf("%d-%d-%d",
50、&((p->sales_time).year),&((p->sales_time).month),&((p->sales_time).day));</p><p> p->product_income=(p->product_price)*(p->sales_quantity);</p><p> p->product_
51、stock=(p->product_quantity)-(p->sales_quantity);</p><p> L.kindelem[i].first_product=p;</p><p> p->next=NULL;</p><p><b> }</b></p><p> for(j=1;
52、j<k;j++)</p><p> {q=(plinklist)malloc(sizeof(productnode));</p><p> printf("請輸入第%d個(gè)產(chǎn)品名稱:\n",(j+1));</p><p> scanf("%s",&(q->product_name));</p>
53、;<p> printf("請輸入產(chǎn)品總量:\n");</p><p> scanf("%d",&(q->product_quantity));</p><p> printf("請輸入產(chǎn)品進(jìn)貨日期(年-月-日):\n"); scanf("%d-%d-%d",&((q-
54、>buy_time).year),&((q->buy_time).month),&((q->buy_time).day));</p><p> printf("請輸入產(chǎn)品單價(jià):\n");</p><p> scanf("%lf",&(q->product_price));</p>&l
55、t;p> printf("請輸入產(chǎn)品銷售數(shù)量:\n");</p><p> scanf("%d",&(q->sales_quantity));</p><p> printf("請輸入產(chǎn)品銷售時(shí)間(年-月-日):\n");</p><p> scanf("%d-%d-%
56、d",&((q->sales_time).year),&((q->sales_time).month),&((q->sales_time).day));</p><p> q->product_income=(q->product_price)*(q->sales_quantity);</p><p> q->
57、product_stock=(q->product_quantity)-(q->sales_quantity);</p><p> q->next=p->next;</p><p> p->next=q;</p><p><b> p=q;</b></p><p> }L.lengt
58、h++;</p><p> }return ok;</p><p><b> }</b></p><p> /***********************添加***********************************/</p><p> int Add(sqlist &L)</p>
59、;<p> {plinklist p,q;</p><p> int k,j,n;</p><p> char pkindname[20];</p><p> printf("請輸入添加產(chǎn)品所屬的商品類:\n");</p><p> scanf("%s",&pkindna
60、me);</p><p> for(k=0;k<L.length;k++)//查找該商品</p><p><b> {</b></p><p> if(strcmp((L.kindelem[k]).pkindname,pkindname)==0)</p><p><b> {</b>&
61、lt;/p><p> printf("請輸入所要添加的產(chǎn)品類數(shù)量(個(gè)):\n");</p><p> scanf("%d",&n);</p><p> L.kindelem[k].kind_number=L.kindelem[k].kind_number+n;</p><p> if(L.k
62、indelem[k].first_product==NULL)//商品下沒產(chǎn)品</p><p> {q=(plinklist)malloc(sizeof(productnode));</p><p> printf("請輸入需添加產(chǎn)品的名稱:\n");</p><p> scanf("%s",&(q->pr
63、oduct_name));</p><p> printf("請輸入產(chǎn)品總量:\n");</p><p> scanf("%d",&(q->product_quantity));</p><p> printf("請輸入進(jìn)貨日期(年-月-日):\n");</p><p
64、> scanf("%d-%d-%d",&((q->buy_time).year),&((q->buy_time).month),&((q->buy_time).day));</p><p> printf("請輸入產(chǎn)品單價(jià):\n");</p><p> scanf("%lf",
65、&(q->product_price));</p><p> printf("請輸入銷售數(shù)量:\n");</p><p> scanf("%d",&(q->sales_quantity));</p><p> printf("請輸入銷售時(shí)間(年-月-日):\n");<
66、/p><p> scanf("%d-%d-%d",&((q->sales_time).year),&((q->sales_time).month),&((q->sales_time).day));</p><p> q->product_income=(q->product_price)*(q->sales_q
67、uantity);</p><p> q->product_stock=(q->product_quantity)-(q->sales_quantity);</p><p> q->next=NULL;</p><p> L.kindelem[k].first_product=q;</p><p> p=L.k
68、indelem[k].first_product;</p><p> for(j=1;j<n;j++)</p><p><b> {</b></p><p> /*******************輸入******************************/</p><p> q=(plinkli
69、st)malloc(sizeof(productnode));</p><p> printf("請輸入需添加產(chǎn)品的名稱:\n");</p><p> scanf("%s",&(q->product_name));</p><p> printf("請輸入產(chǎn)品總量:\n");</p
70、><p> scanf("%d",&(q->product_quantity));</p><p> printf("請輸入進(jìn)貨日期(年-月-日):\n");</p><p> scanf("%d-%d-%d",&((q->buy_time).year),&((q-&g
71、t;buy_time).month),&((q->buy_time).day));</p><p> printf("請輸入產(chǎn)品單價(jià):\n");</p><p> scanf("%lf",&(q->product_price));</p><p> printf("請輸入銷售數(shù)量:\
72、n");</p><p> scanf("%d",&(q->sales_quantity));</p><p> printf("請輸入銷售時(shí)間(年-月-日):\n");</p><p> scanf("%d-%d-%d",&((q->sales_time).ye
73、ar),&((q->sales_time).month),&((q->sales_time).day));</p><p> q->product_income=(q->product_price)*(q->sales_quantity);</p><p> q->product_stock=(q->product_quanti
74、ty)-(q->sales_quantity);</p><p> /************************添加***********************************/</p><p> q->next=p->next;p->next=q;p=q;</p><p><b> }</b>&l
75、t;/p><p><b> }</b></p><p> else//商品下有產(chǎn)品</p><p> {p=L.kindelem[k].first_product;</p><p> for(j=0;j<n;j++)</p><p><b> {</b><
76、/p><p> /*******************輸入******************************/</p><p> q=(plinklist)malloc(sizeof(productnode));</p><p> printf("請輸入需添加產(chǎn)品的名稱:\n");</p><p> sca
77、nf("%s",&(q->product_name));</p><p> printf("請輸入產(chǎn)品總量:\n");</p><p> scanf("%d",&(q->product_quantity));</p><p> printf("請輸入進(jìn)貨日期(年-
78、月-日):\n");</p><p> scanf("%d-%d-%d",&((q->buy_time).year),&((q->buy_time).month),&((q->buy_time).day));</p><p> printf("請輸入產(chǎn)品單價(jià):\n");</p>&
79、lt;p> scanf("%lf",&(q->product_price));</p><p> printf("請輸入銷售數(shù)量:\n");</p><p> scanf("%d",&(q->sales_quantity));</p><p> printf(&qu
80、ot;請輸入銷售時(shí)間(年-月-日):\n");</p><p> scanf("%d-%d-%d",&((q->sales_time).year),&((q->sales_time).month),&((q->sales_time).day));</p><p> q->product_income=(q-&
81、gt;product_price)*(q->sales_quantity);</p><p> q->product_stock=(q->product_quantity)-(q->sales_quantity);</p><p> /************************添加***********************************/&l
82、t;/p><p> for(p=L.kindelem[k].first_product;(p->next)!=NULL;p=p->next);</p><p> q->next=p->next;</p><p> p->next=q;</p><p><b> p=q;</b></
83、p><p><b> }//for</b></p><p><b> }//else</b></p><p><b> break;</b></p><p><b> }//if</b></p><p><b> }
84、//for</b></p><p> if(k>=L.length)//沒有該商品類</p><p><b> {</b></p><p> strcpy(L.kindelem[k].pkindname,pkindname);</p><p> L.length++;</p>&l
85、t;p> printf("請輸入所要添加的產(chǎn)品類數(shù)量(個(gè)):\n");</p><p> scanf("%d",&n);</p><p> L.kindelem[k].kind_number=n;</p><p> for(j=0;j<n;j++)</p><p><b
86、> {</b></p><p> p=(plinklist)malloc(sizeof(productnode));</p><p> printf("請輸入此產(chǎn)品類所含產(chǎn)品的產(chǎn)品名稱:\n");</p><p> scanf("%s",&(p->product_name));</
87、p><p> printf("請輸入產(chǎn)品總量:\n");</p><p> scanf("%d",&(p->product_quantity));</p><p> printf("請輸入產(chǎn)品的進(jìn)貨日期(年-月-日):\n");</p><p> scanf(&qu
88、ot;%d-%d-%d",&((p->buy_time).year),&((p->buy_time).month),&((p->buy_time).day));</p><p> printf("請輸入產(chǎn)品的產(chǎn)品單價(jià):\n");</p><p> scanf("%lf",&(p->
89、product_price));</p><p> printf("請輸入產(chǎn)品的銷售數(shù)量:\n");</p><p> scanf("%d",&(p->sales_quantity));</p><p> printf("請輸入產(chǎn)品的銷售時(shí)間(年-月-日):\n");</p>
90、<p> scanf("%d-%d-%d",&((p->sales_time).year),&((p->sales_time).month),&((p->sales_time).day));</p><p> p->product_income=(p->product_price)*(p->sales_quantit
91、y);</p><p> p->product_stock=(p->product_quantity)-(p->sales_quantity);</p><p> L.kindelem[k].first_product=p;</p><p> p->next=NULL;</p><p><b> }/
92、/for</b></p><p><b> }//if</b></p><p> return ok;</p><p><b> }</b></p><p> /*************************更改***************************/<
93、/p><p> void Alter(sqlist &L) </p><p><b> {</b></p><p> int i,buy_number,order,sales_number,flag=0;</p><p> double price;</p><p> char pk
94、indname[10],product_name[10];</p><p> plinklist p;</p><p> printf("請輸入你所要修改的商品類:\n");</p><p> scanf("%s",&pkindname);</p><p> for(i=0;i<L
95、.length;i++)</p><p><b> {</b></p><p> if(strcmp((L.kindelem[i]).pkindname,pkindname)==0)//找到商品</p><p><b> {</b></p><p><b> int m=0;<
96、;/b></p><p> printf("請輸入你所要修改的產(chǎn)品名稱:\n");</p><p> scanf("%s",&product_name);</p><p> for(p=L.kindelem[i].first_product;p!=NULL;p=p->next)//產(chǎn)品匹配</p
97、><p><b> {</b></p><p><b> m++;</b></p><p> if(strcmp(p->product_name,product_name)==0)//找到產(chǎn)品</p><p><b> {</b></p><p&g
98、t; printf("……………………………………………\n");</p><p> printf("修改選項(xiàng):\n");</p><p> printf("\t1--->進(jìn)貨日期\n");</p><p> printf("\t2--->進(jìn)貨\n");</p&
99、gt;<p> printf("\t3--->銷售\n");</p><p> printf("\t4--->單價(jià)變動(dòng)\n");</p><p> printf("\t0--->返回\n");</p><p> printf("………………………………………
100、……\n");</p><p><b> loop:</b></p><p> printf("請進(jìn)行選擇:(0-7)\n");</p><p> scanf("%d",&order);</p><p> switch(order)</p>
101、<p><b> {</b></p><p><b> case 1:</b></p><p> printf("新的進(jìn)貨日期(年-月-日):\n");</p><p> scanf("%d-%d-%d",&((p->buy_time).year),&
102、amp;((p->buy_time).month),&((p->buy_time).day));</p><p> goto loop;</p><p><b> case 2:</b></p><p> printf("進(jìn)貨(個(gè)):\n");</p><p> scanf
103、("%d",&buy_number);</p><p> p->product_quantity=p->product_quantity+buy_number;</p><p> p->product_stock=(p->product_stock+buy_number);</p><p> goto loo
104、p;</p><p><b> case 3:</b></p><p> printf("銷售(個(gè)):\t");</p><p> scanf("%d",&sales_number);</p><p> p->sales_quantity=p->sale
105、s_quantity+sales_number;</p><p> p->product_stock=(p->product_stock)-sales_number;</p><p> goto loop;</p><p><b> case 4:</b></p><p> printf("
106、新單價(jià)(元):\t");</p><p> scanf("%lf",&price);</p><p> p->product_price=price;</p><p> p->product_income=(p->sales_quantity)*(p->product_price);</p&g
107、t;<p> goto loop;</p><p><b> case 0:</b></p><p> system("cls");</p><p><b> flag=1;</b></p><p><b> break;</b>&l
108、t;/p><p><b> default:</b></p><p> printf("對不起,你輸入有誤!");</p><p> goto loop;</p><p><b> }//switch</b></p><p> break;//找到就
109、跳出</p><p><b> }//if</b></p><p><b> }//for</b></p><p> if(m>=L.kindelem[i].kind_number&&flag==0)</p><p><b> {</b><
110、/p><p> printf("對不起,你要修改的產(chǎn)品沒有找到!\n");</p><p><b> }</b></p><p> break;//找到就跳出</p><p><b> }//if</b></p><p><b> }//f
111、or</b></p><p> if(i>=L.length)</p><p><b> {</b></p><p> printf("對不起,你所要修改的商品沒找到!\n");</p><p><b> }</b></p><p&g
112、t;<b> }</b></p><p> /***************************查詢************************************/</p><p> void View(sqlist &L)</p><p><b> {</b></p><
113、p> int i,k,order,flag=0;</p><p> char pkindname[20],product_name[20];</p><p> plinklist p;</p><p> printf("請輸入待查詢產(chǎn)品所商品類:\n");</p><p> scanf("%s&q
114、uot;,&pkindname);</p><p> for(i=0;i<L.length;i++) //進(jìn)行商品匹配</p><p> { if(strcmp((L.kindelem[i]).pkindname,pkindname)==0)//找到商品</p><p> { int m=0;<
115、;/p><p> printf("輸入待查詢的產(chǎn)品:\n");</p><p> scanf("%s",&product_name);</p><p> for(p=L.kindelem[i].first_product;p!=NULL;p=p->next)//進(jìn)行產(chǎn)品的匹配</p><p&
116、gt;<b> { m++;</b></p><p> if(strcmp(p->product_name,product_name)==0)//找到產(chǎn)品</p><p><b> {</b></p><p> printf("查詢選項(xiàng):\n");</p><p&g
117、t; printf("\t1---進(jìn)貨日期\n");</p><p> printf("\t2---產(chǎn)品總量\n");</p><p> printf("\t3---銷售數(shù)量\n");</p><p> printf("\t4---產(chǎn)品單價(jià)\n");</p><
118、;p> printf("\t5---產(chǎn)品庫存\n");</p><p> printf("\t6---產(chǎn)品銷售收益\n");</p><p> printf("\t7---全部信息\n");</p><p> printf("\t0---返回\n");</p>
119、<p><b> loop:</b></p><p> printf("請進(jìn)行選擇:(0-7)\n");</p><p> scanf("%d",&order);</p><p> switch(order)</p><p><b> {&l
120、t;/b></p><p><b> case 1:</b></p><p> printf("*進(jìn)貨日期\t");</p><p> printf("%d-%d-%d\n",(p->buy_time).year,(p->buy_time).month,(p->buy_tim
121、e).day);</p><p> printf("………………………………………\n");</p><p> goto loop;</p><p><b> case 2:</b></p><p> printf("*產(chǎn)品總量\t");</p><p&
122、gt; printf("%d\n",p->product_quantity);</p><p> printf("………………………………………\n");</p><p> goto loop;</p><p><b> case 3:</b></p><p> p
123、rintf("*銷售數(shù)量\t");</p><p> printf("%d\n",p->sales_quantity);</p><p> printf("………………………………………\n");</p><p> goto loop;</p><p><b>
124、 case 4:</b></p><p> printf("*產(chǎn)品單價(jià)\t");</p><p> printf("%.2lf\n",p->product_price);</p><p> printf("………………………………………\n");</p><p&
125、gt; goto loop;</p><p><b> case 5:</b></p><p> printf("*產(chǎn)品庫存\t");</p><p> printf("%d\n",p->product_stock);</p><p> goto loop;<
126、/p><p><b> case 6:</b></p><p> printf("*銷售收益\t");</p><p> printf("%.2lf\n",p->product_income);</p><p> printf("………………………………………\
127、n");</p><p> goto loop;</p><p><b> case 7:</b></p><p> printf("*查詢信息如下:\n");</p><p> printf("\t");</p><p> printf
128、("產(chǎn)品的名稱\t");</p><p> printf("%s\t",p->product_name);</p><p> printf("進(jìn)貨日期\t");</p><p> printf("%d-%d-%d\n",(p->buy_time).year,(p->
129、;buy_time).month,(p->buy_time).day);</p><p> printf("\t");</p><p> printf("產(chǎn)品總量\t");</p><p> printf("%d\t",p->product_quantity);</p>&
130、lt;p> printf("銷售數(shù)量\t");</p><p> printf("%d\n",p->sales_quantity);</p><p> printf("\t");</p><p> printf("產(chǎn)品單價(jià)\t");</p><p&
131、gt; printf("%.2lf\t",p->product_price);</p><p> printf("銷售日期\t");</p><p> printf("%d-%d-%d\n",(p->sales_time).year,(p->sales_time).month,(p->sales_ti
132、me).day);</p><p> printf("\t");</p><p> printf("產(chǎn)品庫存\t");</p><p> printf("%d\t",p->product_stock);</p><p> printf("產(chǎn)品銷售收益\t&qu
133、ot;);</p><p> printf("%.2lf\n",p->product_income);</p><p> printf("………………………………………………………………………\n");</p><p> goto loop;</p><p><b> case
134、0:</b></p><p> system("cls");</p><p><b> flag=1;</b></p><p><b> break;</b></p><p><b> default:</b></p>&l
135、t;p> printf("對不起,你輸入有誤!");</p><p> goto loop;</p><p><b> }//switch</b></p><p><b> break;</b></p><p><b> }//if</b>
136、</p><p><b> }//for</b></p><p> if(m>=L.kindelem[i].kind_number&&flag==0)</p><p> { printf("對不起,你所查詢的產(chǎn)品不存在!\n"); }</p><p> break;
137、//找到就跳出</p><p><b> }//if</b></p><p><b> }//for</b></p><p> if(i>=L.length)//沒找到商品</p><p> { printf("對不起,你所查詢的商品不存在\n");}</p
138、><p><b> }</b></p><p> /**************************輸出********************************/</p><p> void Display(sqlist &L)</p><p><b> {</b></
139、p><p> int i; plinklist p;</p><p> if(L.length<=0)//沒商品</p><p> { printf("\t全部拋售!\n…………………………………………\n"); }</p><p><b> else//有商品</b></p&g
140、t;<p> { printf("\t本店共有%d種商品\t",L.length);</p><p> for(i=0;i<L.length;i++)</p><p> { printf("\t%s\t",L.kindelem[i].pkindname); }printf("\n");</p
141、><p><b> }</b></p><p> for(i=0;i<L.length;i++)</p><p> { if(L.kindelem[i].first_product)</p><p> { int number=1; printf("商品%d:\t",i+1);&l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 計(jì)算機(jī)課程設(shè)計(jì)
- 計(jì)算機(jī)課程設(shè)計(jì)--人事管理系統(tǒng)
- vf計(jì)算機(jī)課程設(shè)計(jì)
- 計(jì)算機(jī)課程設(shè)計(jì)報(bào)告
- 計(jì)算機(jī)課程設(shè)計(jì)---冒泡排序
- 計(jì)算機(jī)課程設(shè)計(jì)----實(shí)用網(wǎng)絡(luò)考試系統(tǒng)
- 微型計(jì)算機(jī)課程設(shè)計(jì)報(bào)告
- 微型計(jì)算機(jī)課程設(shè)計(jì)--數(shù)據(jù)采集系統(tǒng)
- 計(jì)算機(jī)課程設(shè)計(jì)——水箱水位控制系統(tǒng)設(shè)計(jì)
- 電加熱爐計(jì)算機(jī)溫度測控系統(tǒng)設(shè)計(jì)-計(jì)算機(jī)課程設(shè)計(jì)
- 計(jì)算機(jī)課程設(shè)計(jì)報(bào)告---網(wǎng)上書店訂單管理子系統(tǒng)
- 計(jì)算機(jī)課程分析
- 計(jì)算機(jī)課程設(shè)計(jì)--交通燈模擬控制
- 計(jì)算機(jī)課程設(shè)計(jì)---二相步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)
- 計(jì)算機(jī)課程設(shè)計(jì)---大功率電機(jī)運(yùn)行狀態(tài)計(jì)算機(jī)監(jiān)測系統(tǒng)
- 中學(xué)計(jì)算機(jī)課程的教學(xué)設(shè)計(jì)
- 微型計(jì)算機(jī)課程設(shè)計(jì)---數(shù)字錄音機(jī)
- 計(jì)算機(jī)課程設(shè)計(jì)-----電子政務(wù)網(wǎng)站的設(shè)計(jì)
- 計(jì)算機(jī)課程設(shè)計(jì)----電阻電感電容測試儀
- 計(jì)算機(jī)課程設(shè)計(jì)---直流電機(jī)速度控制
評論
0/150
提交評論