計(jì)算機(jī)課程設(shè)計(jì)----銷售管理系統(tǒng)_第1頁
已閱讀1頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論