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

下載本文檔

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

文檔簡介

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

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

11、; ?。ㄋ模﹦h除模塊</b></p><p> ?。?)分析:商品信息存放在磁盤中,程序須將該文件全部取出來,在內(nèi)存中把要刪掉的內(nèi)容除去,然后在重新輸入到磁盤,這種算法比較合理,但有一點煩瑣??梢愿臑榱硪环N辦法:設(shè)置一個標示符,對有這些標識符的記錄在下次輸入時跳過,在新商品信息輸入時,將其覆蓋就行了。在對文件進行刪除時,考慮到很多方面,如:查詢不到時系統(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.詳細設(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> ?。?)管理員歡迎界面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>  (2)自身密碼修改(調(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:當前功能將進行日銷售報表顯示\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:當前功能將進行月銷售報表顯示\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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論