服裝銷售管理系統(tǒng)—c語言課程設(shè)計(jì)_第1頁
已閱讀1頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、<p>  C語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告</p><p>  目的(本次課程設(shè)計(jì)所涉及并要求掌握的知識(shí)點(diǎn)。)</p><p>  用戶與商品信息要采用文件存儲(chǔ),因而要提供文件的輸入輸出操作;實(shí)現(xiàn)用戶的添加、修改、刪除;商品信息的添加、修改、刪除、查找等功能;實(shí)現(xiàn)商品瀏覽功能的實(shí)現(xiàn),需要實(shí)現(xiàn)顯示操作;另外還要提供鍵盤式選擇菜單以實(shí)現(xiàn)功能選擇。</p><p>  

2、二、使用環(huán)境 (本次上機(jī)實(shí)踐所使用的平臺(tái)和相關(guān)軟件。 )</p><p>  Microsoft Visual C++</p><p>  三、內(nèi)容與設(shè)計(jì)思想 </p><p> ?。? .設(shè)計(jì)思路 2 .主要數(shù)據(jù)結(jié)構(gòu) 3 .主要代碼結(jié)構(gòu) 4 .主要代碼段分析 。 )</p><p><b>  1、設(shè)計(jì)思路</b>&l

3、t;/p><p><b>  2、主要數(shù)據(jù)結(jié)構(gòu)</b></p><p>  /** 系統(tǒng)用戶結(jié)構(gòu) **/</p><p>  typedef struct SystemUser {</p><p>  char userName[20]; //用戶名,主鍵</p>

4、<p>  char password[20]; //用戶密碼</p><p>  int userType; //用戶類型(1:管理員;2:店長;3:銷售員)</p><p>  struct SystemUser *next; //指向下一個(gè)用戶的指針</p><p>  }

5、SystemUser;</p><p>  /** 服裝商品信息 **/</p><p>  typedef struct Products {</p><p>  int productId; //商品編號(hào),主鍵</p><p>  char productName[20];

6、 //商品名稱</p><p>  char productType[20]; //商品型號(hào)</p><p>  char productCompany[20]; //商品廠家</p><p>  float productPrice;

7、 //商品價(jià)格</p><p>  int productCount; //商品數(shù)量</p><p>  char memo[50]; //商品附加信息</p><p>  struct Products *next;

8、 //指向下一個(gè)商品的指針</p><p>  } Products;</p><p>  /** 銷售記錄信息結(jié)構(gòu) **/</p><p>  typedef struct SellInfoRecord {</p><p>  int saleId;

9、 //銷售編號(hào),主鍵</p><p>  char userName[20]; //銷售商品的用戶名</p><p>  int productId; //銷售的商品編號(hào)</p><p>  int sellCount;

10、 //銷售數(shù)量</p><p>  int year; //銷售商品年份</p><p>  int month; //銷售商品月份</p><p>  int day;

11、 //銷售商品日期</p><p>  char memo[50]; //銷售的附加信息</p><p>  struct SellInfoRecord *next; //下一條銷售記錄</p><p>  } SellInfoR

12、ecord;</p><p><b>  3、主要代碼結(jié)構(gòu)</b></p><p><b> ?。ㄒ唬┨砑?lt;/b></p><p>  打開文件,從鍵盤輸入要添加的信息,若添加的信息與文件里的信息重復(fù),則調(diào)用系統(tǒng)暫停函數(shù),返回界面;若添加的信息在文件里沒有找到,則將添加的信息輸入到文件,調(diào)用系統(tǒng)暫停函數(shù),返回界面。<

13、;/p><p><b>  查詢</b></p><p>  打開文件,從鍵盤輸入要查詢的信息,若在文件里找到要查詢的信息,則在界面輸入信息,并調(diào)用系統(tǒng)暫停函數(shù),返回界面;若沒有找到查詢的信息,調(diào)用系統(tǒng)暫停函數(shù),返回界面。</p><p><b>  刪除</b></p><p>  打開文件,從鍵盤輸

14、入要?jiǎng)h除的信息,若在文件里找到要?jiǎng)h除的信息存在,則把文件里要?jiǎng)h除的那條信息刪除掉,并調(diào)用系統(tǒng)暫停函數(shù),返回界面;若沒有找到刪除的信息,調(diào)用系統(tǒng)暫停函數(shù),返回界面。</p><p><b>  修改</b></p><p>  打開文件,從鍵盤輸入要修改的信息,若在文件里找到要修改的信息存在,則按照提示信息依次輸入要修改的信息,寫入文件,并調(diào)用系統(tǒng)暫停函數(shù),返回界面;若

15、沒有找到修改的信息,調(diào)用系統(tǒng)暫停函數(shù),返回界面。</p><p><b>  主要代碼段分析</b></p><p>  /** 對(duì)系統(tǒng)進(jìn)行初始化,建立用戶記錄和商品記錄 **/</p><p>  void InitSystem() {</p><p><b>  FILE *fp;</b><

16、;/p><p>  SystemUser adminUser,bossUser,sellUser; //管理員,店長,銷售員三個(gè)角色信息</p><p>  Products products[2]; //初始化兩件服裝商品信息</p><p>  SellInfoRecord sellInfo[2]; //初始化兩條銷售記錄</p>

17、<p>  //初始化管理員用戶名、密碼與類型</p><p>  strcpy(adminUser.userName,"admin");</p><p>  strcpy(adminUser.password,"admin");</p><p>  adminUser.userType = ADMIN_USER_

18、TYPE;</p><p>  adminUser.next = NULL;</p><p>  //打開管理員用戶信息文件Admin.txt,寫入信息,并關(guān)閉文件</p><p>  fp = fopen("Admin.txt", "w");</p><p>  fprintf(fp, "%

19、s\t%s", adminUser.userName, adminUser.password);</p><p>  fclose(fp);</p><p>  AddUser(&adminUser);</p><p>  AddUser(&bossUser);</p><p>  AddUser(&sell

20、User);</p><p>  //添加第一條商品信息</p><p>  strcpy(products[0].productName,"精品男裝");</p><p>  strcpy(products[0].productType,"m001");</p><p>  strcpy(produc

21、ts[0].productCompany,"精品服裝制造廠");</p><p>  products[0].productPrice = 23.5;</p><p>  products[0].productCount = 100;</p><p>  strcpy(products[0].memo,"精品男裝,您的第一選擇"

22、;);</p><p>  products[0].next = NULL;</p><p>  //添加第二條商品信息</p><p>  strcpy(products[1].productName,"時(shí)尚女裝");</p><p>  strcpy(products[1].productType,"w002

23、");</p><p>  strcpy(products[1].productCompany,"時(shí)尚服裝制造廠");</p><p>  products[1].productPrice = 25.5;</p><p>  products[1].productCount = 150;</p><p>  st

24、rcpy(products[1].memo,"時(shí)尚女裝,您的第一選擇");</p><p>  products[1].next = NULL;</p><p>  AddProduct(&products[0]);</p><p>  AddProduct(&products[1]);</p><p> 

25、 //添加第一條銷售報(bào)表記錄</p><p>  sellInfo[0].day = 16;</p><p>  strcpy(sellInfo[0].memo,"測(cè)試數(shù)據(jù)1");</p><p>  sellInfo[0].month = 7;</p><p>  sellInfo[0].next = NULL;<

26、/p><p>  sellInfo[0].productId = 1;</p><p>  sellInfo[0].sellCount = 8;</p><p>  strcpy(sellInfo[0].userName,"sell");</p><p>  sellInfo[0].year = 2008;</p>

27、<p>  //添加第二條銷售報(bào)表記錄</p><p>  sellInfo[1].day = 17;</p><p>  strcpy(sellInfo[1].memo,"測(cè)試數(shù)據(jù)2");</p><p>  sellInfo[1].month = 7;</p><p>  sellInfo[1].next

28、 = NULL;</p><p>  sellInfo[1].productId = 2;</p><p>  sellInfo[1].sellCount = 5;</p><p>  strcpy(sellInfo[1].userName,"sell");</p><p>  sellInfo[1].year = 200

29、8;</p><p>  AddSellInfo(&sellInfo[0]);</p><p>  AddSellInfo(&sellInfo[1]);</p><p><b>  };</b></p><p><b>  //添加商品信息</b></p><p&

30、gt;  void InputAndAddProduct() {</p><p>  Products product; </p><p>  printf("親愛的%s朋友,你好,請(qǐng)依次輸入新商品的信息:\n",currentUser);</p><p>  //輸入商品名稱、型號(hào)、制作商、價(jià)格、數(shù)量、附加信息,并把從鍵盤輸入的值賦值給結(jié)構(gòu)體變

31、量的商品名稱型號(hào)、制作商、價(jià)格、數(shù)量、附加信息</p><p>  printf("商品名稱:");</p><p>  scanf("%s",product.productName);</p><p>  printf("商品型號(hào):");</p><p>  scanf("

32、;%s",product.productType);</p><p>  printf("商品制造商:");</p><p>  scanf("%s",product.productCompany);</p><p>  printf("商品價(jià)格:");</p><p> 

33、 scanf("%f",&product.productPrice);</p><p>  printf("商品數(shù)量:");</p><p>  scanf("%d",&product.productCount);</p><p>  printf("商品附加信息:");

34、</p><p>  scanf("%s",product.memo);</p><p>  product.next = NULL;</p><p>  //若成功信息添加到結(jié)構(gòu)體變量product里則提示添加成功</p><p>  if(FUNCTION_SUCCESS == AddProduct(&prod

35、uct))</p><p>  printf("商品信息添加成功!\n");</p><p>  system("pause");</p><p><b>  };</b></p><p><b>  //修改商品信息</b></p><p

36、>  void ModifyProduct() {</p><p>  int productId; //待修改的商品編號(hào)</p><p>  Products *tmpProduct; </p><p>  printf("親愛的%s朋友,你好,你現(xiàn)在進(jìn)入的商品信息修改功能:\n&qu

37、ot;,currentUser);</p><p>  printf("請(qǐng)輸入要修改的商品編號(hào):");</p><p>  scanf("%d",&productId); //將從鍵盤接收到的商品編號(hào)賦值給變量productId</p><p>  tmpProduct = pProductHead;</p>

38、;<p>  if(NULL == tmpProduct) return ;</p><p>  while(NULL != tmpProduct) {</p><p>  if(productId == tmpProduct->productId){ </p><p>  //若從鍵盤輸入的商品編號(hào)與文件中的一致,則修改商品信息</p&g

39、t;<p>  printf("商品編號(hào)%d的商品信息如下:\n",productId);</p><p>  printf(" 商品名稱: %s\n",tmpProduct->productName);</p><p>  printf(" 商品型號(hào): %s\n",tmpProduct->produ

40、ctType);</p><p>  printf(" 商品廠家: %s\n",tmpProduct->productCompany);</p><p>  printf(" 商品價(jià)格: %f\n",tmpProduct->productPrice);</p><p>  printf(" 商品數(shù)量

41、: %d\n",tmpProduct->productCount);</p><p>  printf(" 商品附加信息: %s\n",tmpProduct->memo);</p><p>  printf("下面請(qǐng)對(duì)照修改該商品的相應(yīng)信息:\n");</p><p>  printf("新的

42、商品名稱: ");</p><p>  scanf("%s",tmpProduct->productName);</p><p>  printf("新的商品型號(hào): ");</p><p>  scanf("%s",tmpProduct->productType);</p>

43、<p>  printf("新的商品廠家: ");</p><p>  scanf("%s",tmpProduct->productCompany);</p><p>  printf("新的商品價(jià)格: ");</p><p>  scanf("%f",&tm

44、pProduct->productPrice);</p><p>  printf("新的商品數(shù)量: ");</p><p>  scanf("%d",&tmpProduct->productCount);</p><p>  printf("新的商品附加信息: ");</p>

45、;<p>  scanf("%s",tmpProduct->memo);</p><p>  printf("商品信息修改成功!\n");</p><p>  system("pause");</p><p>  break; }</p><p> 

46、 tmpProduct = tmpProduct->next; } };</p><p><b>  //商品刪除</b></p><p>  void DeleteProduct() {</p><p>  int productId = 0;</p><p>  Products *tmpProduct

47、A,*tmpProductB;</p><p>  printf("親愛的%s朋友,你好,你現(xiàn)在進(jìn)入的商品刪除功能:\n",currentUser);</p><p>  printf("請(qǐng)輸入你要?jiǎng)h除的商品編號(hào):");</p><p>  scanf("%d",&productId);</p

48、><p>  tmpProductA = tmpProductB = pProductHead; //tmpProductB指向要?jiǎng)h除的記錄,tmpProductA指向前一條記錄</p><p>  if(NULL == tmpProductB) return ;</p><p>  while(NULL != tmpProductB){</p>&

49、lt;p>  if(tmpProductB->productId == productId) {</p><p>  if(tmpProductB == pProductHead && tmpProductB->next == NULL){ //如果系統(tǒng)只有一條商品信息</p><p>  free(pProductHead);</p>

50、<p>  pProductHead = NULL;</p><p>  printf("商品信息刪除成功!\n");</p><p>  system("pause");</p><p>  return ; }</p><p>  tmpProductA->n

51、ext = tmpProductB->next;</p><p>  if(pProductHead == tmpProductB)</p><p>  pProductHead = tmpProductB->next;</p><p>  free(tmpProductB);</p><p>  printf("商品信

52、息刪除成功!\n");</p><p>  system("pause");</p><p>  return ; }</p><p><b>  else {</b></p><p>  tmpProductA = tmpProductB;</p><p&

53、gt;  tmpProductB = tmpProductB->next; } }</p><p>  printf("對(duì)不起,不存在該商品編號(hào)的信息!");};</p><p><b>  //商品查詢</b></p><p>  void ProductFind() {</p>&

54、lt;p>  Products *tmpProduct; </p><p>  int findWay,productId;</p><p>  char productName[20];</p><p>  printf("親愛的%s朋友,你好,你現(xiàn)在進(jìn)入的商品查詢功能:\n",currentUser);</p>&l

55、t;p>  printf("請(qǐng)選擇查詢方式: 1--按商品編號(hào)查詢 2--按商品名稱查詢:");</p><p>  scanf("%d",&findWay);</p><p>  tmpProduct = pProductHead;</p><p>  switch(findWay) {</p>

56、<p><b>  case 1:</b></p><p>  printf("請(qǐng)輸入查詢的商品編號(hào):");</p><p>  scanf("%d",&productId); //輸入要查詢的商品編號(hào)</p><p>  while(NULL != tmpProduct) {<

57、;/p><p>  if(productId == tmpProduct->productId) {</p><p>  //若輸入查詢的商品編號(hào)與文件中的一致,則輸出商品信息</p><p>  printf("你查詢的商品編號(hào)為%d的商品信息如下:\n",productId);</p><p>  printf(&q

58、uot; 商品名稱: %s\n",tmpProduct->productName);</p><p>  printf(" 商品型號(hào): %s\n",tmpProduct->productType);</p><p>  printf(" 商品廠家: %s\n",tmpProduct->productCompany);

59、</p><p>  printf(" 商品價(jià)格: %f\n",tmpProduct->productPrice);</p><p>  printf(" 商品數(shù)量: %d\n",tmpProduct->productCount);</p><p>  printf(" 商品附加信息: %s\n&q

60、uot;,tmpProduct->memo);</p><p>  system("pause");</p><p>  return ; }</p><p>  tmpProduct = tmpProduct->next; }</p><p>  print

61、f("對(duì)不起,不存在該商品編號(hào)的商品!\n");</p><p>  system("pause");</p><p><b>  case 2:</b></p><p>  printf("請(qǐng)輸入查詢的商品名稱:");</p><p>  scanf(&quo

62、t;%s",productName); //輸入要查詢的商品名稱</p><p>  while(NULL != tmpProduct) {</p><p>  if(0 == strcmp(tmpProduct->productName,productName)) {</p><p>  //若輸入查詢的商品名稱與文件中的一致,則輸出商品信息<

63、;/p><p>  printf("你要查詢的商品名稱為%s的商品信息如下:\n",productName);</p><p>  printf(" 商品名稱: %s\n",tmpProduct->productName);</p><p>  printf(" 商品型號(hào): %s\n",tmpProd

64、uct->productType);</p><p>  printf(" 商品廠家: %s\n",tmpProduct->productCompany);</p><p>  printf(" 商品價(jià)格: %f\n",tmpProduct->productPrice);</p><p>  printf

65、(" 商品數(shù)量: %d\n",tmpProduct->productCount);</p><p>  printf(" 商品附加信息: %s\n",tmpProduct->memo);</p><p>  system("pause");</p><p>  return ;

66、 }</p><p>  tmpProduct = tmpProduct->next; }</p><p>  printf("對(duì)不起,不存在該商品編號(hào)的商品!\n");</p><p>  system("pause");</p><p><b>

67、  default:</b></p><p>  break; }}</p><p>  四、調(diào)試過程 (1 .測(cè)試數(shù)據(jù)設(shè)計(jì) 2 .測(cè)試結(jié)果分析 )</p><p><b>  初始化用戶名與密碼</b></p><p>  管理員:admin admin 店 長:boss boss

68、 銷售員:sell sell</p><p><b> ?。ㄒ唬┲鹘缑?lt;/b></p><p> ?。ǘ┮怨芾韱T方式登陸系統(tǒng),輸入正確的用戶賬號(hào)admin和密碼admin</p><p>  若登陸名或密碼錯(cuò)誤,則提示用戶不存在</p><p>  登陸成功,進(jìn)入管理員界面</p><p&g

69、t;  選擇“(1)自身密碼修改”,修改管理員密碼</p><p>  選擇“(2)用戶信息管理”,進(jìn)行用戶的增、刪、改、查功能</p><p>  選擇“用戶信息查看”,查看當(dāng)前用戶信息</p><p>  選擇“用戶信息添加”,添加用戶信息</p><p>  選擇“用戶信息刪除”,刪除用戶</p><p>  返

70、回管理員界面,選擇“(3)商品信息管理”,進(jìn)行商品的增、刪、改、查功能。</p><p>  選擇“用戶信息查看”,查看當(dāng)前商品信息。</p><p>  選擇“商品信息查找”,根據(jù)商品編號(hào)及商品名稱進(jìn)行查找。首先,選擇“按商品編號(hào)查詢”,若查詢的編號(hào)存在,則顯示查詢的信息</p><p>  若查詢的商品編號(hào)不存在,則提示信息“對(duì)不起,不存在該商品編號(hào)的商品”&l

71、t;/p><p>  選擇“按商品名稱查詢”,輸入正確的商品名稱,顯示查詢信息</p><p>  若查詢的商品名稱不存在,則提示信息“對(duì)不起,不存在該商品編號(hào)的商品”</p><p>  選擇“商品信息添加”,添加商品信息</p><p>  選擇“商品信息修改”,修改商品信息</p><p>  選擇“商品信息刪除”,

72、刪除商品</p><p>  返回管理員界面,選擇“商品報(bào)表顯示”,進(jìn)行銷售報(bào)表功能</p><p>  選擇“所有商品銷售情況”,顯示商品信息</p><p>  選擇“商品日銷售報(bào)表”,查看符合條件的銷售商品</p><p>  若查詢的信息不符合條件,則顯示沒有符合條件的記錄</p><p>  選擇“商品月銷售

73、報(bào)表”,查看符合條件的銷售商品</p><p>  選擇“銷售員銷售報(bào)表”,查看符合條件的銷售商品</p><p> ?。ㄈ┮缘觊L方式登錄系統(tǒng)</p><p>  選擇“自身密碼修改”,修改店長密碼</p><p>  店長其他功能(商品信息管理,銷售報(bào)表顯示)與管理員類似。</p><p>  (四)以銷售員登陸系

74、統(tǒng)</p><p>  選擇“商品銷售”功能,進(jìn)行產(chǎn)品銷售</p><p>  若銷售產(chǎn)品大于庫存,則提示銷售失敗。</p><p>  銷售員商品瀏覽、查詢、及報(bào)表查看功能與管理員功能類似</p><p><b>  五、總結(jié) </b></p><p>  1 .設(shè)計(jì)中遇到的問題及解決過程 &l

75、t;/p><p>  2 .設(shè)計(jì)中產(chǎn)生的錯(cuò)誤及原因分析 </p><p>  3 .設(shè)計(jì)體會(huì)和收獲。</p><p><b>  六、附錄 </b></p><p><b>  1、原代碼 </b></p><p>  #include <stdio.h> //

76、標(biāo)準(zhǔn)輸入輸出函數(shù)</p><p>  #include <windows.h> //Windows頭文件</p><p>  #include <time.h> //日期和時(shí)間頭文件</p><p>  #define ADMIN_USER_TYPE 1</p><p>  #define BOSS_USER_T

77、YPE 2</p><p>  #define SELL_USER_TYPE 3</p><p>  #define FUNCTION_FAILED -1</p><p>  #define FUNCTION_SUCCESS 0 //如果函數(shù)成功執(zhí)行,將返回0</p><p>  /** 系統(tǒng)用戶結(jié)構(gòu) **/</p><p

78、>  typedef struct SystemUser {</p><p>  char userName[20]; //用戶名,主鍵</p><p>  char password[20]; //用戶密碼</p><p>  int userType;

79、 //用戶類型(1:管理員;2:店長;3:銷售員)</p><p>  struct SystemUser *next; //指向下一個(gè)用戶的指針</p><p>  } SystemUser;</p><p>  /** 服裝商品信息 **/</p><p>  typedef struct Produ

80、cts {</p><p>  int productId; //商品編號(hào),主鍵</p><p>  char productName[20]; //商品名稱</p><p>  char productType[20];

81、 //商品型號(hào)</p><p>  char productCompany[20]; //商品廠家</p><p>  float productPrice; //商品價(jià)格</p><p>  int productCount;

82、//商品數(shù)量</p><p>  char memo[50]; //商品附加信息</p><p>  struct Products *next; //指向下一個(gè)商品的指針</p><p>  } Products;</p><p>  /**

83、 銷售記錄信息結(jié)構(gòu) **/</p><p>  typedef struct SellInfoRecord {</p><p>  int saleId; //銷售編號(hào),主鍵</p><p>  char userName[20]; //銷售商品的用

84、戶名</p><p>  int productId; //銷售的商品編號(hào)</p><p>  int sellCount; //銷售數(shù)量</p><p>  int year;

85、 //銷售商品年份</p><p>  int month; //銷售商品月份</p><p>  int day; //銷售商品日期</p><p>  char memo[50];

86、 //銷售的附加信息</p><p>  struct SellInfoRecord *next; //下一條銷售記錄</p><p>  } SellInfoRecord;</p><p>  static char currentUser[20]; //系統(tǒng)全局變量,保存當(dāng)前登陸用戶名;</p>&l

87、t;p>  static int currentUserType; //系統(tǒng)全局變量,保存當(dāng)前登陸用戶的用戶類型</p><p>  static SystemUser *pSystemUserHead = NULL; //保存系統(tǒng)用戶信息記錄的頭指針</p><p>  static Products *pProductHead = NULL; //保存系統(tǒng)商品信息記錄的頭指針&

88、lt;/p><p>  static SellInfoRecord *pSellInfoHead = NULL;//保存系統(tǒng)銷售記錄的頭指針</p><p>  void InitSystem(); //對(duì)系統(tǒng)用戶信息和商品信息進(jìn)行初始化</p><p>  int AddUser(SystemUser *); //向用戶信息鏈表中加入用戶信息&l

89、t;/p><p>  int AddProduct(Products *pPro); //向商品信息鏈表中加入商品信息</p><p>  int AddSellInfo(SellInfoRecord *);</p><p>  void UserExit();</p><p>  void WelcomeMenu();

90、 //系統(tǒng)歡迎菜單</p><p>  void SystemLogin(); //系統(tǒng)登陸</p><p>  void AdminOperationMenu(); //系統(tǒng)管理員操作菜單</p><p>  void BossO

91、perationMenu(); //店長操作菜單</p><p>  void SellOperationMenu(); //銷售員操作菜單</p><p>  void ChangePassword(); //修改密碼</p&g

92、t;<p>  void UserManage(); //用戶信息管理</p><p>  void UserInfoView(); //用戶信息查看</p><p>  void UserInfoAdd();

93、 //用戶信息添加</p><p>  void UserInfoModify(); //用戶信息修改</p><p>  void UserInfoDelete(); //用戶信息刪除</p><p>  void ProductsManage();

94、 //產(chǎn)品信息管理</p><p>  void ProductsView(); //商品查看</p><p>  void ProductFind();</p><p>  void InputAndAddProduct(); //輸入商品信息并

95、添加</p><p>  void ModifyProduct(); //修改商品信息</p><p>  void DeleteProduct(); //刪除商品信息</p><p>  void ProductsSell();

96、 //商品銷售</p><p>  void ReportPrint(); //報(bào)表顯示</p><p>  void ShowAllSellReport(); //顯示所有商品銷售情況</p><p>  void ShowDaySellReport();

97、 //顯示某日的銷售情況</p><p>  void ShowMonthSellReport(); //顯示某月的銷售情況</p><p>  void ShowEmployeeSellReport(); //顯示某個(gè)銷售員的銷售情況</p><p>  void ExitSystem();

98、 // 退出登陸系統(tǒng)</p><p>  float getPriceById(int ); //通過商品編號(hào)查詢商品價(jià)格</p><p>  int getProductNameById(int,char *); //通過商品編號(hào)查詢商品名稱</

99、p><p>  int getCountById(int); //通過商品編號(hào)查詢商品庫存數(shù)量</p><p>  void ReduceProductCount(int,int); //通過商品編號(hào)減少商品數(shù)量</p><p>  /** 對(duì)系統(tǒng)進(jìn)行初始化,建立用戶記錄和商品記錄

100、 **/</p><p>  void InitSystem() {</p><p><b>  FILE *fp;</b></p><p>  SystemUser adminUser,bossUser,sellUser; //管理員,店長,銷售員三個(gè)角色信息</p><p>  Products products[

101、2]; //初始化兩件服裝商品信息</p><p>  SellInfoRecord sellInfo[2]; //初始化兩條銷售記錄</p><p><b>  //管理員</b></p><p>  strcpy(adminUser.userName,"admin"

102、);</p><p>  strcpy(adminUser.password,"admin");</p><p>  adminUser.userType = ADMIN_USER_TYPE;</p><p>  adminUser.next = NULL;</p><p>  fp = fopen("Admin

103、.txt", "w");</p><p>  fprintf(fp, "%s\t%s", adminUser.userName, adminUser.password);</p><p>  fclose(fp);</p><p><b>  //店長</b></p><p&

104、gt;  strcpy(bossUser.userName,"boss");</p><p>  strcpy(bossUser.password,"boss");</p><p>  bossUser.userType = BOSS_USER_TYPE;</p><p>  bossUser.next = NULL;<

105、/p><p>  fp = fopen("Shopkeeper.txt", "w");</p><p>  fprintf(fp, "%s\t%s", bossUser.userName, bossUser.password);</p><p>  fclose(fp);</p><p>

106、;<b>  //銷售員</b></p><p>  strcpy(sellUser.userName,"sell");</p><p>  strcpy(sellUser.password,"sell");</p><p>  sellUser.userType = SELL_USER_TYPE;<

107、;/p><p>  sellUser.next = NULL;</p><p>  fp = fopen("Seller.txt", "w");</p><p>  fprintf(fp, "%s\t%s", sellUser.userName, sellUser.password);</p>&

108、lt;p>  fclose(fp);</p><p>  AddUser(&adminUser);</p><p>  AddUser(&bossUser);</p><p>  AddUser(&sellUser);</p><p>  //products[0].productId = 1;</p>

109、;<p>  strcpy(products[0].productName,"精品男裝");</p><p>  strcpy(products[0].productType,"m001");</p><p>  strcpy(products[0].productCompany,"精品服裝制造廠");</p&

110、gt;<p>  products[0].productPrice = 23.5;</p><p>  products[0].productCount = 100;</p><p>  strcpy(products[0].memo,"精品男裝,您的第一選擇");</p><p>  products[0].next = NULL

111、;</p><p>  //products[1].productId = 2;</p><p>  strcpy(products[1].productName,"時(shí)尚女裝");</p><p>  strcpy(products[1].productType,"w002");</p><p>  s

112、trcpy(products[1].productCompany,"時(shí)尚服裝制造廠");</p><p>  products[1].productPrice = 25.5;</p><p>  products[1].productCount = 150;</p><p>  strcpy(products[1].memo,"時(shí)尚女裝

113、,您的第一選擇");</p><p>  products[1].next = NULL;</p><p>  AddProduct(&products[0]);</p><p>  AddProduct(&products[1]);</p><p>  sellInfo[0].day = 16;</p>

114、<p>  strcpy(sellInfo[0].memo,"測(cè)試數(shù)據(jù)1");</p><p>  sellInfo[0].month = 7;</p><p>  sellInfo[0].next = NULL;</p><p>  sellInfo[0].productId = 1;</p><p>  

115、sellInfo[0].sellCount = 8;</p><p>  strcpy(sellInfo[0].userName,"sell");</p><p>  sellInfo[0].year = 2008;</p><p>  sellInfo[1].day = 17;</p><p>  strcpy(sell

116、Info[1].memo,"測(cè)試數(shù)據(jù)2");</p><p>  sellInfo[1].month = 7;</p><p>  sellInfo[1].next = NULL;</p><p>  sellInfo[1].productId = 2;</p><p>  sellInfo[1].sellCount =

117、5;</p><p>  strcpy(sellInfo[1].userName,"sell");</p><p>  sellInfo[1].year = 2008;</p><p>  AddSellInfo(&sellInfo[0]);</p><p>  AddSellInfo(&sellInfo[

118、1]);};</p><p>  /**函數(shù)功能: 向系統(tǒng)用戶信息鏈表中加入用戶信息**/</p><p>  int AddUser(SystemUser *pUser) {</p><p>  SystemUser *pSystemUser,*tempSystemUser;</p><p>  tempSystemUser = pSyst

119、emUserHead;</p><p>  while(NULL != tempSystemUser) {</p><p>  if(0 ==strcmp(tempSystemUser->userName,pUser->userName)) {</p><p>  printf("對(duì)不起,你要添加的用戶已經(jīng)存在");</p>

120、;<p>  return FUNCTION_FAILED; }</p><p>  tempSystemUser = tempSystemUser->next; }</p><p>  pSystemUser = (SystemUser *) malloc(sizeof(SystemUser)); //在堆空間中分配用戶信息的內(nèi)存</

121、p><p>  if(NULL == pSystemUser) {</p><p>  printf("分配用戶信息內(nèi)存時(shí)發(fā)生錯(cuò)誤");</p><p>  return FUNCTION_FAILED; } </p><p>  strcpy(pSystemUser->userName,pUser->use

122、rName); //拷貝用戶信息到堆空間中</p><p>  strcpy(pSystemUser->password,pUser->password);</p><p>  pSystemUser->userType = pUser->userType;</p><p>  pSystemUser->next = pUser-&g

123、t;next;</p><p>  tempSystemUser = pSystemUserHead;</p><p>  if(NULL == tempSystemUser) {</p><p>  pSystemUserHead = pSystemUser;</p><p><b>  } else {</b><

124、;/p><p>  while(NULL != tempSystemUser->next) //遍歷到用戶信息的最后一條記錄</p><p>  tempSystemUser = tempSystemUser->next;</p><p>  tempSystemUser->next = pSystemUser;//將用戶信息加入到鏈表的最后</

125、p><p><b>  }</b></p><p>  return FUNCTION_SUCCESS;</p><p><b>  };</b></p><p>  /**函數(shù)功能: 向商品信息鏈表中加入商品信息**/</p><p>  int AddProduct(Prod

126、ucts *pPro) {</p><p>  int newProductId = 1; //新加入商品的商品編號(hào)從1開始</p><p>  Products *tempProduct,*pProduct;</p><p>  tempProduct = pProductHead; //生成編號(hào),最后一件商品編號(hào)+1</p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論