c語(yǔ)言課程設(shè)計(jì)-服裝銷(xiāo)售系統(tǒng)_第1頁(yè)
已閱讀1頁(yè),還剩31頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  目 錄</b></p><p>  1.題目要求-------------------------------------------------------------------4</p><p>  2.需求分析-------------------------------------------------------------

2、------4</p><p>  3.總體設(shè)計(jì)-------------------------------------------------------------------4</p><p>  4.詳細(xì)設(shè)計(jì)-------------------------------------------------------------------8</p><p&g

3、t;  5.上機(jī)操作------------------------------------------------------------------30</p><p>  6.總結(jié)----------------------------------------------------------------------33</p><p>  7.致謝----------------

4、------------------------------------------------------33</p><p>  參考文獻(xiàn)-------------------------------------------------------------------34</p><p><b>  1.題目要求</b></p><p>

5、;  系統(tǒng)包含三類(lèi)用戶:管理員、店長(zhǎng)、銷(xiāo)售員。</p><p>  向管理員提供以下功能:自身密碼修改、其他用戶添加刪除、用戶信息修改、統(tǒng)計(jì)。商品信息添加、修改、刪除、查找、統(tǒng)計(jì)。</p><p>  向店長(zhǎng)提供以下功能:登錄、注銷(xiāo)、自身密碼修改、自身信息修改,商品信息修改、商品信息設(shè)計(jì),查看日?qǐng)?bào)表、月報(bào)表、商品銷(xiāo)售量報(bào)表、查找瀏覽器修改商品儲(chǔ)備信息。</p><p&g

6、t;  向銷(xiāo)售員提供以下功能:商品瀏覽、查找、出售,查看自己本日?qǐng)?bào)表、本月報(bào)表。</p><p><b>  2. 需求分析</b></p><p>  用戶與商品信息要采用文件存儲(chǔ),因而要提供文件的輸入、輸出功能,要實(shí)現(xiàn)用戶的添加、修改、刪除,商品信息的添加、修改、刪除、查找等,需要提供相應(yīng)的信息添加、刪除、修改與查找功能;要實(shí)現(xiàn)商品瀏覽功能,需要提供顯示操作;另外

7、,還要提供鍵盤(pán)式選擇菜單以實(shí)現(xiàn)功能選擇。</p><p><b>  3.總體設(shè)計(jì)</b></p><p>  1.【整體E-R圖3-1】</p><p><b>  圖3-1</b></p><p>  2.【程序中典型的流程圖】</p><p><b> ?。ㄒ?/p>

8、)添加模塊</b></p><p> ?。?)分析:信息添加模塊職工的基本信息包括:用戶、商品基本信息,對(duì)它們輸入后,要存進(jìn)原文件,流程圖(圖3-2)如下。</p><p><b>  圖3-2</b></p><p><b> ?。ǘg覽模塊</b></p><p> ?。?)分析:

9、瀏覽功能首先需要查找信息是否存在,在查找時(shí),因?yàn)榇疟P(pán)文件無(wú)序,所以采用直接查找的辦法。在容錯(cuò)上有較好的能力,輸錯(cuò)時(shí)系統(tǒng)會(huì)有提示,也會(huì)作出相應(yīng)的反映。算法和以上的分程序有相同的優(yōu)點(diǎn)。</p><p>  流程圖如下(圖3-3)。</p><p><b>  圖3-3</b></p><p><b> ?。ㄈ┎樵兡K</b>

10、</p><p> ?。?)分析:基本信息的查詢按查詢方式:按商品的名稱查詢,可供選擇的方式比較豐富。但本程序只使用了一種。在查詢小模塊中采用了直接查找的方法,這主要是由于磁盤(pán)文件無(wú)序的緣故。程序在選擇結(jié)構(gòu)上采用了if和else的嵌套形式,看起來(lái)有點(diǎn)繁雜(圖3-4)</p><p><b>  圖3-4</b></p><p><b>

11、; ?。ㄋ模﹦h除模塊</b></p><p>  (1)分析:商品信息存放在磁盤(pán)中,程序須將該文件全部取出來(lái),在內(nèi)存中把要?jiǎng)h掉的內(nèi)容除去,然后在重新輸入到磁盤(pán),這種算法比較合理,但有一點(diǎn)煩瑣。可以改為另一種辦法:設(shè)置一個(gè)標(biāo)示符,對(duì)有這些標(biāo)識(shí)符的記錄在下次輸入時(shí)跳過(guò),在新商品信息輸入時(shí),將其覆蓋就行了。在對(duì)文件進(jìn)行刪除時(shí),考慮到很多方面,如:查詢不到時(shí)系統(tǒng)該如何處理等。人性化設(shè)計(jì)有在刪除之前詢問(wèn)是否繼續(xù)

12、。</p><p>  流程圖(圖3-5)如下:</p><p><b>  圖 3-5</b></p><p><b>  五)修改模塊</b></p><p>  (1)分析:修改與刪除程序相似,管理員信息存放在磁盤(pán)中,程序須將該文件全部取出來(lái),在內(nèi)存中把要修改的內(nèi)容修改,然后在重新輸入到磁盤(pán),

13、這種算法比較合理,但有一點(diǎn)煩瑣,可以改進(jìn)(圖2-6)。</p><p><b>  圖3-6</b></p><p><b>  4.詳細(xì)設(shè)計(jì)</b></p><p>  1.歡迎界面void WelcomeMenu() </p><p>  void WelcomeMenu() {</p&g

14、t;<p>  printf("---------------服裝銷(xiāo)售系統(tǒng)-----------\n");</p><p>  printf("系統(tǒng)功能說(shuō)明:\n");</p><p>  printf(" 管理員功能:\n");</p><p>  printf("

15、 (1)自身密碼修改\n");</p><p>  printf(" (2)用戶信息管理:添加,修改,刪除,查詢\n");</p><p>  printf(" (3)商品信息管理:添加,修改,查詢,刪除\n");</p><p>  printf(" (4)退出登陸系統(tǒng)

16、\n");</p><p>  printf(" 店長(zhǎng)功能:\n");</p><p>  printf(" (1)自身密碼修改\n");</p><p>  printf(" (2)商品信息管理:添加,修改,查詢,刪除\n");</p><p>

17、;  printf(" (3)銷(xiāo)售報(bào)表顯示:日銷(xiāo)售報(bào)表,月銷(xiāo)售報(bào)表,銷(xiāo)售員銷(xiāo)售報(bào)表\n");</p><p>  printf(" (4)退出登陸系統(tǒng)\n");</p><p>  printf(" 銷(xiāo)售員功能:\n");</p><p>  printf("

18、 (1)商品瀏覽,查詢,商品銷(xiāo)售\n");</p><p>  printf(" (2)自己商品銷(xiāo)售報(bào)表顯示:日銷(xiāo)售報(bào)表,月銷(xiāo)售報(bào)表\n");</p><p>  printf(" (3)退出登陸系統(tǒng)\n");</p><p>  printf("--------------謝謝使

19、用--------------------\n");</p><p>  printf("(注:管理員,店長(zhǎng),用戶登陸的賬號(hào)分別是admin,boss,sell初始密碼和賬號(hào)一致)\n");</p><p><b>  };</b></p><p>  歡迎界面運(yùn)行如下(圖4-1):</p><

20、p><b>  圖4-1</b></p><p>  2.登陸模塊 void SystemLogin()函數(shù)</p><p>  void SystemLogin() { //所有用戶身份調(diào)用的登陸函數(shù)</p><p>  char userName[20],password[20];</p>

21、<p>  int isLogin = 0;</p><p>  SystemUser *tmpUser;</p><p>  printf("請(qǐng)輸入你的系統(tǒng)用戶帳號(hào):");</p><p>  scanf("%s",userName);</p><p>  printf("\n請(qǐng)

22、輸入你的系統(tǒng)用戶密碼:");</p><p>  scanf("%s",password);</p><p>  tmpUser = pSystemUserHead;</p><p>  while(NULL != tmpUser) {</p><p>  if(0 == strcmp(tmpUser->u

23、serName,userName)) {</p><p>  if(0 == strcmp(tmpUser->password,password)) {</p><p>  isLogin = 1;</p><p>  strcpy(currentUser,tmpUser->userName);</p><p>  current

24、UserType = tmpUser->userType;</p><p>  switch(currentUserType) {</p><p>  case ADMIN_USER_TYPE:</p><p>  AdminOperationMenu();</p><p><b>  break;</b><

25、/p><p>  case BOSS_USER_TYPE:</p><p>  BossOperationMenu();</p><p><b>  break;</b></p><p>  case SELL_USER_TYPE:</p><p>  SellOperationMenu();<

26、/p><p><b>  break;</b></p><p><b>  default:</b></p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  } e

27、lse {</b></p><p>  printf("對(duì)不起,你輸入的密碼錯(cuò)誤!\n");</p><p>  SystemLogin(); //用戶名正確,密碼錯(cuò)誤</p><p><b>  }</b></p>

28、<p><b>  }</b></p><p>  tmpUser = tmpUser->next;</p><p><b>  }</b></p><p>  if(isLogin != 1) {</p><p>  printf("對(duì)不起,該用戶不存在\n"

29、); //遍歷了所有用戶都沒(méi)有找到用戶</p><p>  SystemLogin();</p><p><b>  }</b></p><p><b>  }</b></p><p>  運(yùn)算顯示如下(圖4-2):</p><

30、p><b>  圖4-2</b></p><p>  3.管理員功能模塊 </p><p>  (1)管理員歡迎界面void AdminOperationMenu()函數(shù)</p><p>  void AdminOperationMenu() {</p><p>  int select;</p>&

31、lt;p>  while(1) {</p><p>  printf("親愛(ài)的管理員%s同志,歡迎使用本系統(tǒng),你擁有下面所有功能:\n",currentUser);</p><p>  printf(" (1)自身密碼修改\n");</p><p>  printf(" (2)用戶信息管理:添加,修改,查詢

32、,刪除\n");</p><p>  printf(" (3)商品信息管理:添加,修改,查詢,刪除\n");</p><p>  printf(" (4)退出系統(tǒng)\n");</p><p>  printf("請(qǐng)輸入上面功能對(duì)應(yīng)的序號(hào)進(jìn)行功能選擇:");</p><p>

33、;  scanf("%d",&select);</p><p>  switch(select) {</p><p><b>  case 1:</b></p><p>  ChangePassword();</p><p><b>  continue;</b><

34、/p><p><b>  case 2:</b></p><p>  UserManage();</p><p><b>  continue;</b></p><p><b>  case 3:</b></p><p>  ProductsManage()

35、;</p><p><b>  Continue;</b></p><p><b>  case 4:</b></p><p>  ExitSystem();</p><p><b>  break;</b></p><p><b>  def

36、ault:</b></p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  };</b></p><p>  運(yùn)算顯示

37、如下(圖4-3):</p><p><b>  圖4-3</b></p><p> ?。?)自身密碼修改(調(diào)用密碼修改函數(shù)ChangePassword();)</p><p><b>  //密碼修改函數(shù)</b></p><p>  void ChangePassword() {</p>

38、<p>  char newPassword1[20],newPassword2[20];</p><p>  SystemUser *tmpUser;</p><p>  printf("請(qǐng)輸入你的新密碼:");</p><p>  scanf("%s",newPassword1);</p>&l

39、t;p>  printf("請(qǐng)?jiān)俅屋斎肽愕男旅艽a:");</p><p>  scanf("%s",newPassword2);</p><p>  if(0 != strcmp(newPassword1,newPassword2)) {</p><p>  printf("對(duì)不起,你兩次輸入的密碼不一致,修改

40、失敗!\n");</p><p><b>  return ;</b></p><p><b>  }</b></p><p>  tmpUser = pSystemUserHead;</p><p>  while(NULL != tmpUser) {</p><p&

41、gt;  if(0 == strcmp(tmpUser->userName,currentUser)) {</p><p>  strcpy(tmpUser->password,newPassword1);</p><p>  printf("密碼修改成功!\n");</p><p><b>  break;</b&g

42、t;</p><p><b>  }</b></p><p>  tmpUser = tmpUser->next;</p><p><b>  }</b></p><p><b>  };</b></p><p>  運(yùn)算顯示如下(圖4-4):&l

43、t;/p><p><b>  圖4-4</b></p><p>  用戶信息管理:添加,修改,刪除,查詢</p><p>  //用戶信息管理:添加,修改,刪除,查詢//</p><p>  void UserManage() { //用戶信息函數(shù)//</p><p>

44、  int select;</p><p>  //管理員顯示模塊//</p><p>  while(1) {</p><p>  printf("親愛(ài)的管理員%s同志,你目前進(jìn)入的是用戶信息管理功能:\n",currentUser);</p><p>  printf(" (1)用戶信息查看\n"

45、);</p><p>  printf(" (2)用戶信息添加\n");</p><p>  printf(" (3)用戶信息修改\n");</p><p>  printf(" (4)用戶信息刪除\n");</p><p>  printf(" (5)返回上級(jí)菜單

46、\n");</p><p>  printf(" (6)退出登陸系統(tǒng)\n");</p><p>  printf("請(qǐng)輸入上面功能對(duì)應(yīng)的序號(hào)進(jìn)行功能選擇:");</p><p>  scanf("%d",&select);</p><p>  switch(sel

47、ect)</p><p><b>  {</b></p><p><b>  case 1:</b></p><p>  UserInfoView(); //調(diào)用用戶信息查看的函數(shù)//</p><p><b>  continue;</b></p><

48、;p><b>  case 2:</b></p><p>  UserInfoAdd(); //調(diào)用用戶信息添加函數(shù)//</p><p><b>  continue;</b></p><p><b>  case 3:</b></p><p>  UserI

49、nfoModify(); //調(diào)用用戶信息修改函數(shù)//</p><p><b>  continue;</b></p><p><b>  case 4:</b></p><p>  UserInfoDelete(); //調(diào)用用戶信息刪除函數(shù)//</p><p><b>  

50、continue;</b></p><p><b>  case 5:</b></p><p>  AdminOperationMenu(); //返回上級(jí)系統(tǒng)//</p><p><b>  break; </b></p><p><b>  case 6:</b&g

51、t;</p><p>  ExitSystem(); //退出登陸//</p><p><b>  break;</b></p><p><b>  default:</b></p><p><b>  break;</b></p><p>

52、;<b>  }</b></p><p><b>  }</b></p><p><b>  };</b></p><p>  運(yùn)算顯示如下(圖4-5):</p><p><b>  圖4-5</b></p><p>  //用戶信

53、息查看函數(shù)//</p><p>  void UserInfoView() { </p><p>  SystemUser *tmpUser;</p><p>  tmpUser = pSystemUserHead;</p><p>  printf("親愛(ài)的管理員%s,你好,你查看的所有用戶信息如下:\n&qu

54、ot;,currentUser);</p><p>  printf("用戶名\t密碼\t用戶類(lèi)型(1代表管理員,2代表店長(zhǎng),3代表銷(xiāo)售員)\n");</p><p>  while(NULL != tmpUser){</p><p>  printf("%s\t%s\t%d\n",tmpUser->userName,t

55、mpUser->password,tmpUser->userType);</p><p>  tmpUser = tmpUser->next;</p><p><b>  }</b></p><p><b>  };</b></p><p>  運(yùn)算顯示如下(圖4-6):</

56、p><p>  //用戶信息添加函數(shù)//</p><p>  void UserInfoAdd() {</p><p>  SystemUser tmpUser;</p><p>  printf("親愛(ài)的管理員%s,請(qǐng)依次輸入用戶信息:\n",currentUser);</p><p>  print

57、f("用戶名:");</p><p>  scanf("%s",tmpUser.userName);</p><p>  printf("用戶密碼:");</p><p>  scanf("%s",tmpUser.password);</p><p>  prin

58、tf("用戶類(lèi)型(1代表管理員,2代表店長(zhǎng),3代表銷(xiāo)售員):");</p><p>  scanf("%d",&tmpUser.userType);</p><p>  tmpUser.next = NULL;</p><p>  if(FUNCTION_SUCCESS == AddUser(&tmpUser)

59、)</p><p>  printf("用戶信息添加成功!\n");</p><p><b>  };</b></p><p>  運(yùn)算顯示如下(圖4-7):</p><p><b>  圖4-7</b></p><p>  //用戶信息修改函數(shù)//<

60、;/p><p>  void UserInfoModify() {</p><p>  char userName[20];</p><p>  SystemUser *pUser;</p><p>  printf("親愛(ài)的管理員%s,請(qǐng)輸入要修改的用戶帳號(hào):\n",currentUser);</p><

61、p>  scanf("%s",userName);</p><p>  pUser = pSystemUserHead;</p><p>  while(NULL != pUser) {</p><p>  if(0 == strcmp(pUser->userName,userName)) {</p><p>

62、  printf("請(qǐng)輸入新的帳號(hào):");</p><p>  scanf("%s",pUser->userName);</p><p>  printf("請(qǐng)輸入新的密碼:");</p><p>  scanf("%s",pUser->password);</p>

63、;<p>  printf("請(qǐng)輸入新的用戶類(lèi)型(1代表管理員,2代表店長(zhǎng),3代表銷(xiāo)售員):");</p><p>  scanf("%d",&pUser->userType);</p><p>  printf("用戶信息修改成功\n");</p><p><b> 

64、 return ;</b></p><p><b>  }</b></p><p>  pUser = pUser->next;</p><p><b>  }</b></p><p>  printf("對(duì)不起,沒(méi)有你查找的用戶信息!\n");</p&g

65、t;<p><b>  };</b></p><p>  運(yùn)算顯示如下(圖4-8):</p><p><b>  圖4-8</b></p><p>  //用戶信息刪除函數(shù)//</p><p>  void UserInfoDelete() {</p><p>

66、  SystemUser *pUserA,*pUserB;</p><p>  char userName[20];</p><p>  printf("親愛(ài)的管理員%s朋友,你好,你現(xiàn)在進(jìn)入的用戶信息刪除功能:\n",currentUser);</p><p>  printf("請(qǐng)輸入你要?jiǎng)h除的用戶名:\n");</

67、p><p>  scanf("%s",userName);</p><p>  pUserA = pUserB = pSystemUserHead; //pUserB指向要?jiǎng)h除的記錄,pUserA指向前一條記錄</p><p>  if(NULL == pUserB) return ;</p><p>  while(N

68、ULL != pUserB){</p><p>  if(0 == strcmp(userName,pUserB->userName)) {</p><p>  if(pUserB == pSystemUserHead && pUserB->next == NULL){ //如果系統(tǒng)只有一條商品信息</p><p>  free(p

69、SystemUserHead);</p><p>  pSystemUserHead = NULL;</p><p>  printf("用戶信息刪除成功!\n");</p><p><b>  return ;</b></p><p><b>  }</b></p>

70、<p>  pUserA->next = pUserB->next;</p><p>  if(pSystemUserHead == pUserB)</p><p>  pSystemUserHead = pUserB->next;</p><p>  free(pUserB);</p><p>  print

71、f("用戶信息刪除成功!\n");</p><p><b>  return ;</b></p><p><b>  }</b></p><p><b>  else {</b></p><p>  pUserA = pUserB;</p>&

72、lt;p>  pUserB = pUserB->next;</p><p><b>  }</b></p><p><b>  }</b></p><p>  printf("對(duì)不起,不存在該帳號(hào)的用戶信息!");</p><p><b>  };</

73、b></p><p>  運(yùn)算顯示如下(圖4-9):</p><p><b>  圖4-9</b></p><p>  (3)商品信息管理:添加,修改,查詢,刪除</p><p>  //商品管理模塊//</p><p>  void ProductsManage() {</p>

74、<p>  int select;</p><p>  while(1) {</p><p>  printf("親愛(ài)的%s朋友,你好,你現(xiàn)在進(jìn)入的是商品管理功能,你可以選擇以下功能:\n",currentUser);</p><p>  printf(" (1)商品信息查看\n");</p>

75、<p>  printf(" (2)商品信息查找\n");</p><p>  printf(" (3)商品信息添加\n");</p><p>  printf(" (4)商品信息修改\n");</p><p>  printf(" (5)商品信息刪除\n");

76、</p><p>  printf(" (6)返回上一級(jí)菜單\n");</p><p>  printf(" (7)退出登陸系統(tǒng)\n");</p><p>  printf("請(qǐng)選擇應(yīng)的操作編號(hào):");</p><p>  scanf("%d",&

77、select);</p><p>  switch(select) {</p><p><b>  case 1:</b></p><p>  ProductsView(); //調(diào)用商品查看函數(shù)//</p><p><b>  continue;</b></p><p>

78、;<b>  case 2:</b></p><p>  ProductFind(); //調(diào)用商品信息查找函數(shù)//</p><p><b>  continue;</b></p><p><b>  case 3:</b></p><p>  InputAndAddPr

79、oduct(); //調(diào)用商品添加函數(shù)//</p><p><b>  continue;</b></p><p><b>  case 4:</b></p><p>  ModifyProduct(); //調(diào)用商品修改函數(shù)//</p><p><b>  continue;&

80、lt;/b></p><p><b>  case 5:</b></p><p>  DeleteProduct(); //調(diào)用刪除商品信息函數(shù)//</p><p><b>  continue;</b></p><p><b>  case 6:</b></p

81、><p>  switch(currentUserType) { //返回上一級(jí)//</p><p>  case ADMIN_USER_TYPE:</p><p>  AdminOperationMenu(); </p><p><b>  break;</b></p><p>  case

82、 BOSS_USER_TYPE:</p><p>  BossOperationMenu();</p><p><b>  break;</b></p><p>  case SELL_USER_TYPE:</p><p>  SellOperationMenu();</p><p><b&

83、gt;  break;</b></p><p><b>  default:</b></p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  break;</b></p>

84、<p><b>  case 7:</b></p><p>  ExitSystem();</p><p><b>  break;</b></p><p><b>  default:</b></p><p><b>  break;</b>

85、;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }; </b></p><p>  運(yùn)算顯示如下(圖4-10):

86、 </p><p><b>  圖4-10</b></p><p>  //商品的查看函數(shù)//</p><p>  void ProductsView() {</p><p>  Products *tmpProduct;</p><p><b>  int i;</

87、b></p><p><b>  i = 1;</b></p><p>  tmpProduct = pProductHead;</p><p>  if(NULL == tmpProduct)</p><p>  printf("對(duì)不起,目前還沒(méi)有商品信息");</p><

88、p><b>  else{</b></p><p>  while(NULL != tmpProduct) {</p><p>  printf("第%d件商品信息如下:\n",i);</p><p>  printf("商品編號(hào): %d\n",tmpProduct->productId);&

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

90、duct->productCompany);</p><p>  printf("商品價(jià)格: %f\n",tmpProduct->productPrice);</p><p>  printf("商品數(shù)量: %d\n",tmpProduct->productCount);</p><p>  printf(&

91、quot;商品附加信息: %s\n",tmpProduct->memo);</p><p>  tmpProduct = tmpProduct->next;</p><p><b>  i++;</b></p><p><b>  }</b></p><p><b>

92、  }</b></p><p><b>  };</b></p><p>  運(yùn)算顯示如下(圖4-11):</p><p><b>  圖4-11</b></p><p>  //商品查找函數(shù)//</p><p>  void ProductFind() {<

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

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

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

96、><p>  if(productId == tmpProduct->productId) {</p><p>  printf("你查詢的商品編號(hào)為%d的商品信息如下:\n",productId);</p><p>  printf(" 商品名稱: %s\n",tmpProduct->productName);&l

97、t;/p><p>  printf(" 商品型號(hào): %s\n",tmpProduct->productType);</p><p>  printf(" 商品廠家: %s\n",tmpProduct->productCompany);</p><p>  printf(" 商品價(jià)格: %f\n"

98、;,tmpProduct->productPrice);</p><p>  printf(" 商品數(shù)量: %d\n",tmpProduct->productCount);</p><p>  printf(" 商品附加信息: %s\n",tmpProduct->memo);</p><p><b&

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

100、quot;);</p><p><b>  break;</b></p><p><b>  case 2:</b></p><p>  printf("請(qǐng)輸入查詢的商品名稱:");</p><p>  scanf("%s",productName);<

101、/p><p>  while(NULL != tmpProduct) {</p><p>  if(0 == strcmp(tmpProduct->productName,productName)) {</p><p>  printf("你要查詢的商品名稱為%s的商品信息如下:\n",productName);</p><

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

103、productCompany);</p><p>  printf(" 商品價(jià)格: %f\n",tmpProduct->productPrice);</p><p>  printf(" 商品數(shù)量: %d\n",tmpProduct->productCount);</p><p>  printf("

104、 商品附加信息: %s\n",tmpProduct->memo);</p><p><b>  return ;</b></p><p><b>  }</b></p><p>  tmpProduct = tmpProduct->next;</p><p><b>

105、;  }</b></p><p>  printf("對(duì)不起,不存在該商品編號(hào)的商品!\n");</p><p><b>  break;</b></p><p><b>  default:</b></p><p><b>  break;</b&g

106、t;</p><p><b>  }</b></p><p>  }運(yùn)算顯示如下(圖4-12):</p><p><b>  圖4-12</b></p><p>  //商品添加函數(shù)//</p><p>  void InputAndAddProduct() {</p&

107、gt;<p>  Products product;</p><p>  printf("親愛(ài)的%s朋友,你好,請(qǐng)依次輸入新商品的信息:\n",currentUser);</p><p>  printf("商品名稱:");</p><p>  scanf("%s",product.produ

108、ctName);</p><p>  printf("商品型號(hào):");</p><p>  scanf("%s",product.productType);</p><p>  printf("商品制造商:");</p><p>  scanf("%s",prod

109、uct.productCompany);</p><p>  printf("商品價(jià)格:");</p><p>  scanf("%f",&product.productPrice);</p><p>  printf("商品數(shù)量:");</p><p>  scanf(&q

110、uot;%d",&product.productCount);</p><p>  printf("商品附加信息:");</p><p>  scanf("%s",product.memo);</p><p>  product.next = NULL;</p><p>  if(FU

111、NCTION_SUCCESS == AddProduct(&product))</p><p>  printf("商品信息添加成功!\n");</p><p><b>  };</b></p><p>  運(yùn)算顯示如下(圖4-15):</p><p><b>  圖4-15<

112、/b></p><p>  //商品修改函數(shù)//</p><p>  void ModifyProduct() {</p><p>  int productId; //待修改的商品編號(hào)</p><p>  Products *tmpProduct; </

113、p><p>  printf("親愛(ài)的%s朋友,你好,你現(xiàn)在進(jìn)入的商品信息修改功能:\n",currentUser);</p><p>  printf("請(qǐng)輸入要修改的商品編號(hào):");</p><p>  scanf("%d",&productId);</p><p>  tm

114、pProduct = pProductHead;</p><p>  if(NULL == tmpProduct) return ;</p><p>  while(NULL != tmpProduct) {</p><p>  if(productId == tmpProduct->productId){</p><p>  prin

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

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

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

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

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

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

121、("%s",tmpProduct->memo);</p><p>  printf("商品信息修改成功!\n");</p><p><b>  break;</b></p><p><b>  }</b></p><p>  tmpProduct = t

122、mpProduct->next;</p><p><b>  }</b></p><p><b>  };</b></p><p>  //商品刪除函數(shù)//</p><p>  void DeleteProduct() {</p><p>  int productId

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

124、p>  scanf("%d",&productId);</p><p>  tmpProductA = tmpProductB = pProductHead; //tmpProductB指向要?jiǎng)h除的記錄,tmpProductA指向前一條記錄</p><p>  if(NULL == tmpProductB) return ;</p>&

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

126、><p>  free(pProductHead);</p><p>  pProductHead = NULL;</p><p>  printf("商品信息刪除成功!\n");</p><p><b>  return ;</b></p><p><b>  }<

127、;/b></p><p>  tmpProductA->next = tmpProductB->next;</p><p>  if(pProductHead == tmpProductB)</p><p>  pProductHead = tmpProductB->next;</p><p>  free(tmpPr

128、oductB);</p><p>  printf("商品信息刪除成功!\n");</p><p><b>  return ;</b></p><p><b>  }</b></p><p><b>  else {</b></p><

129、p>  tmpProductA = tmpProductB;</p><p>  tmpProductB = tmpProductB->next;</p><p><b>  }</b></p><p><b>  }</b></p><p>  printf("對(duì)不起,不存在

130、該商品編號(hào)的信息!");</p><p><b>  };</b></p><p>  店長(zhǎng)功能模塊(圖4-16)</p><p><b>  圖4-16</b></p><p><b>  店長(zhǎng)歡迎界面</b></p><p>  //店長(zhǎng)

131、歡迎界面//</p><p>  void BossOperationMenu() { int select; while(1) { printf("親愛(ài)的店長(zhǎng)%s同志,歡迎使用本系統(tǒng),你擁有下面所有功能:\n",currentUser); printf(" (1)自身密碼修改\n"); printf("

132、; (2)商品信息管理:添加,修改,查詢,刪除\n"); printf(" (3)銷(xiāo)售報(bào)表顯示:日?qǐng)?bào)表,月報(bào)表,商品銷(xiāo)售量報(bào)表,銷(xiāo)售員業(yè)績(jī)報(bào)表\n"); printf(" (4)退出系統(tǒng)\n"); printf("請(qǐng)輸入上面功能對(duì)應(yīng)的序號(hào)進(jìn)行功能選擇:"); scanf("%d"

133、,&select); switch(select) { case 1: ChangePassword(); break; case 2: ProductsMa</p><p>  (2)密碼修改,商品信息管理功能和管理員對(duì)應(yīng)功能的函數(shù)的調(diào)用一致&l

134、t;/p><p> ?。凑{(diào)用ChangePassword() roductsManage() 函數(shù))</p><p>  銷(xiāo)售報(bào)表顯示:日?qǐng)?bào)表,月報(bào)表,商品銷(xiāo)售量報(bào)表,銷(xiāo)售員業(yè)績(jī)報(bào)表</p><p>  //銷(xiāo)售報(bào)表顯示//</p><p>  void ReportPrint() { int select = 0; if(

135、SELL_USER_TYPE != currentUserType) { while(1) { printf("親愛(ài)的朋友%s,你好,你現(xiàn)在進(jìn)入的是銷(xiāo)售報(bào)表功能界面:\n",currentUser); printf(" (1)所有商品銷(xiāo)售情況\n"); printf(" (2)商品日銷(xiāo)售報(bào)表\n&

136、quot;); printf(" (3)商品月銷(xiāo)售報(bào)表\n"); printf(" (4)銷(xiāo)售員銷(xiāo)售報(bào)表\n"); printf(" (5)返回上級(jí)菜單\n"); printf(" (6)退出登陸系統(tǒng)\n"); printf(&qu

137、ot;請(qǐng)選擇對(duì)應(yīng)的功能號(hào):"); scanf("%d",&select); switch(select) { </p><p>  //日銷(xiāo)售函數(shù)的統(tǒng)計(jì)//</p><p>  void ShowDaySellReport() { int year,month,day; i

138、nt rsCount = 0; float totalPrice = 0.0,onePrice; char productName[20]; SellInfoRecord *tmpSellInfo; printf("你好%s:當(dāng)前功能將進(jìn)行日銷(xiāo)售報(bào)表顯示\n",currentUser); printf("請(qǐng)輸入銷(xiāo)售時(shí)間年份:"); scanf(&qu

139、ot;%d",&year); printf("請(qǐng)輸入銷(xiāo)售時(shí)間月份:"); scanf("%d",&month); printf("請(qǐng)輸入銷(xiāo)售時(shí)間號(hào)數(shù):"); scanf("%d",&day); tmpSellInfo = pSellInfoHead; if(NULL == t

140、mpSellInfo) return ; while(NULL != tmpSellInfo) { if(year == tmpSellInfo-></p><p>  //月銷(xiāo)售量函數(shù)統(tǒng)計(jì)//void ShowMonthSellReport() { int year,month; int rsCount = 0; float totalPrice = 0.

141、0,onePrice; char productName[20]; SellInfoRecord *tmpSellInfo; printf("你好%s:當(dāng)前功能將進(jìn)行月銷(xiāo)售報(bào)表顯示\n",currentUser); printf("請(qǐng)輸入銷(xiāo)售時(shí)間年份:"); scanf("%d",&year); printf("

142、請(qǐng)輸入銷(xiāo)售時(shí)間月份:"); scanf("%d",&month); tmpSellInfo = pSellInfoHead; if(NULL == tmpSellInfo) return ; while(NULL != tmpSellInfo) { if(year == tmpSellInfo->year &&

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論