2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

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

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

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

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

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

7、,還要提供鍵盤式選擇菜單以實現(xiàn)功能選擇。</p><p><b>  3.總體設(shè)計</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> ?。?)分析:信息添加模塊職工的基本信息包括:用戶、商品基本信息,對它們輸入后,要存進原文件,流程圖(圖3-2)如下。</p><p><b>  圖3-2</b></p><p><b> ?。ǘg覽模塊</b></p><p> ?。?)分析:

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

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

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

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

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

14、t;<p>  printf("---------------服裝銷售系統(tǒng)-----------\n");</p><p>  printf("系統(tǒng)功能說明:\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(" 店長功能:\n");</p><p>  printf(" (1)自身密碼修改\n");</p><p>  printf(" (2)商品信息管理:添加,修改,查詢,刪除\n");</p><p>

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

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

19、用--------------------\n");</p><p>  printf("(注:管理員,店長,用戶登陸的賬號分別是admin,boss,sell初始密碼和賬號一致)\n");</p><p><b>  };</b></p><p>  歡迎界面運行如下(圖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("請輸入你的系統(tǒng)用戶帳號:");</p><p>  scanf("%s",userName);</p><p>  printf("\n請

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("對不起,你輸入的密碼錯誤!\n");</p><p>  SystemLogin(); //用戶名正確,密碼錯誤</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("對不起,該用戶不存在\n"

29、); //遍歷了所有用戶都沒有找到用戶</p><p>  SystemLogin();</p><p><b>  }</b></p><p><b>  }</b></p><p>  運算顯示如下(圖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("親愛的管理員%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("請輸入上面功能對應(yīng)的序號進行功能選擇:");</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>  運算顯示

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("請輸入你的新密碼:");</p><p>  scanf("%s",newPassword1);</p>&l

39、t;p>  printf("請再次輸入你的新密碼:");</p><p>  scanf("%s",newPassword2);</p><p>  if(0 != strcmp(newPassword1,newPassword2)) {</p><p>  printf("對不起,你兩次輸入的密碼不一致,修改

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>  運算顯示如下(圖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("親愛的管理員%s同志,你目前進入的是用戶信息管理功能:\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)返回上級菜單

46、\n");</p><p>  printf(" (6)退出登陸系統(tǒng)\n");</p><p>  printf("請輸入上面功能對應(yīng)的序號進行功能選擇:");</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(); //返回上級系統(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>  運算顯示如下(圖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("親愛的管理員%s,你好,你查看的所有用戶信息如下:\n&qu

54、ot;,currentUser);</p><p>  printf("用戶名\t密碼\t用戶類型(1代表管理員,2代表店長,3代表銷售員)\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>  運算顯示如下(圖4-6):</

56、p><p>  //用戶信息添加函數(shù)//</p><p>  void UserInfoAdd() {</p><p>  SystemUser tmpUser;</p><p>  printf("親愛的管理員%s,請依次輸入用戶信息:\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("用戶類型(1代表管理員,2代表店長,3代表銷售員):");</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>  運算顯示如下(圖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("親愛的管理員%s,請輸入要修改的用戶帳號:\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("請輸入新的帳號:");</p><p>  scanf("%s",pUser->userName);</p><p>  printf("請輸入新的密碼:");</p><p>  scanf("%s",pUser->password);</p>

63、;<p>  printf("請輸入新的用戶類型(1代表管理員,2代表店長,3代表銷售員):");</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("對不起,沒有你查找的用戶信息!\n");</p&g

65、t;<p><b>  };</b></p><p>  運算顯示如下(圖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("親愛的管理員%s朋友,你好,你現(xiàn)在進入的用戶信息刪除功能:\n",currentUser);</p><p>  printf("請輸入你要刪除的用戶名:\n");</

67、p><p>  scanf("%s",userName);</p><p>  pUserA = pUserB = pSystemUserHead; //pUserB指向要刪除的記錄,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("對不起,不存在該帳號的用戶信息!");</p><p><b>  };</

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

74、<p>  int select;</p><p>  while(1) {</p><p>  printf("親愛的%s朋友,你好,你現(xià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)返回上一級菜單\n");</p><p>  printf(" (7)退出登陸系統(tǒng)\n");</p><p>  printf("請選擇應(yīng)的操作編號:");</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) { //返回上一級//</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>  運算顯示如下(圖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("對不起,目前還沒有商品信息");</p><

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

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

90、duct->productCompany);</p><p>  printf("商品價格: %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>  運算顯示如下(圖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("親愛的%s朋友,你好,你現(xiàn)在進入的商品查詢功能:\n",currentUser);<

94、/p><p>  printf("請選擇查詢方式: 1--按商品編號查詢 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("請輸入查詢的商品編號:");</p><p>  scanf("%d",&productId);</p><p>  while(NULL != tmpProduct) {</p

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

97、t;/p><p>  printf(" 商品型號: %s\n",tmpProduct->productType);</p><p>  printf(" 商品廠家: %s\n",tmpProduct->productCompany);</p><p>  printf(" 商品價格: %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("對不起,不存在該商品編號的商品!\n&

100、quot;);</p><p><b>  break;</b></p><p><b>  case 2:</b></p><p>  printf("請輸入查詢的商品名稱:");</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(" 商品型號: %s\n",tmpProduct->productType);</p><p>  printf(" 商品廠家: %s\n",tmpProduct->

103、productCompany);</p><p>  printf(" 商品價格: %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("對不起,不存在該商品編號的商品!\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>  }運算顯示如下(圖4-12):</p><p><b>  圖4-12</b></p><p>  //商品添加函數(shù)//</p><p>  void InputAndAddProduct() {</p&

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

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

109、uct.productCompany);</p><p>  printf("商品價格:");</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>  運算顯示如下(圖4-15):</p><p><b>  圖4-15<

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

113、p><p>  printf("親愛的%s朋友,你好,你現(xiàn)在進入的商品信息修改功能:\n",currentUser);</p><p>  printf("請輸入要修改的商品編號:");</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("商品編號%d的商品信息如下:\n",productId);</p><p>  printf(" 商品名稱: %s\n",tmpProduct->productName);</p><p>  printf(" 商品型號: %s\n",tmpProduct->productType);</p>

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

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

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

119、("新的商品廠家: ");</p><p>  scanf("%s",tmpProduct->productCompany);</p><p>  printf("新的商品價格: ");</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("親愛的%s朋友,你好,你現(xiàn)在進入的商品刪除功能:\n",currentUser);</p><p>  printf("請輸入你要刪除的商品編號:\n");</p><

124、p>  scanf("%d",&productId);</p><p>  tmpProductA = tmpProductB = pProductHead; //tmpProductB指向要刪除的記錄,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("對不起,不存在

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

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

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

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

134、t;/p><p>  (即調(diào)用ChangePassword() roductsManage() 函數(shù))</p><p>  銷售報表顯示:日報表,月報表,商品銷售量報表,銷售員業(yè)績報表</p><p>  //銷售報表顯示//</p><p>  void ReportPrint() { int select = 0; if(

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

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

137、ot;請選擇對應(yīng)的功能號:"); scanf("%d",&select); switch(select) { </p><p>  //日銷售函數(shù)的統(tǒng)計//</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)前功能將進行日銷售報表顯示\n",currentUser); printf("請輸入銷售時間年份:"); scanf(&qu

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

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

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

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

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論